真のイニシエーター・ターゲットモードまたはJBODモードに対応したHBAは、ZFSにとって適切なデフォルトです。ハードウェアRAIDはディスクのグループ化と復旧を管理するように設計されていますが、ZFSは個々のデバイスを認識し、チェックサム、冗長性、交換、修復を自ら管理することを前提としています。
比較の焦点は、どのコントローラーがより多くの機能を備えているかではありません。ディスクの識別情報、書き込み順序、エラー報告、再構築をどの層が管理するかが重要です。RAIDコントローラーとZFSの両方に部分的な管理権限を与えると、復旧が最も困難な状況で曖昧さが生じます。
ZFSがコントローラーに求めるもの
コントローラーは、各ドライブを安定した一意の識別子、正確なセクターサイズ、エラーステータスとともに公開し、隠れた冗長性を持たないようにする必要があります。SMARTまたは同等の健康状態データを渡し、オペレーティングシステム上で確実に動作し、データが永続化される前に完了を通知する揮発性ライトキャッシュを避ける必要があります。
OpenZFSのハードウェアガイダンスでは、ディスクへの直接アクセスを明確に推奨しており、ハードウェアRAIDによって自己修復が制限され、デバイス情報が歪められ、特定のコントローラーファミリーに復旧が依存する可能性があることを説明しています。
すべてのディスクがシリアル番号で認識でき、取り外したディスクが想定したベイに対応し、独自アレイを再構築せずに別の互換HBAからプールをインポートできるなら、そのHBAは要件を満たしています。
単一ディスクのRAID 0はJBODではない理由
物理ドライブごとに1つのRAID 0仮想ディスクを作成すると、ディスクが個別に公開されるように見えるかもしれません。しかし、コントローラーは依然としてメタデータ、キャッシュ、命名、エラー変換を介在させます。ファームウェアのリセットやコントローラーの交換によって、これらの仮想ディスクの認識方法が変わる可能性があります。
この回避策には、ネイティブのエラー動作が隠されるリスクもあり、復旧手順がコントローラー設定を正しく再作成できるかどうかに左右されます。これはITモードのディスク公開と同等と見なすべきではありません。
既存のハードウェアが真のJBODを公開できず、交換も不可能な場合は、ZFSの下に見せかけの未加工ディスクを重ねるのではなく、RAIDコントローラーを唯一の冗長性レイヤーとして使用し、一般的なファイルシステムを使ってください。これが正直な第三の選択肢です。
復旧が決定的なテストになる理由
HBAを使用すると、ZFSプールのメタデータはメンバーディスク上に保存され、オペレーティングシステムは通常、別の対応ダイレクトアクセスコントローラーを通じてプールをインポートできます。復旧時の依存先は、ファイルシステム、デバイスの互換性、正常なメンバーであり、独自アレイの定義ではありません。
ハードウェアRAIDの復旧では、互換性のあるコントローラー、一致するファームウェアの動作、保持されたキャッシュ状態、そしてZFSが仮想デバイスを認識する前にコントローラーのメタデータを正しくインポートすることが必要になる場合があります。この追加の関門によって、ダウンタイムが長引き、交換部品の選択肢が狭まる可能性があります。
本番運用の前に、使い捨てのプールをエクスポートし、そのメンバーを別のダイレクトアクセスコントローラーに移し、永続的な識別子でインポートして、チェックサム読み取りを実行してください。正確なコマンドと物理ディスクのシリアル番号の対応を記録しておきます。
ハードウェアRAIDが依然として役立つ場合
運用モデル、ベンダーサポート、ファイルシステムがコントローラーを中心に設計されている場合、ハードウェアRAIDが適切なことがあります。アプライアンスでは避けられない場合もあります。その場合は、冗長性をコントローラーに任せ、バッテリー、キャッシュ、ファームウェア、交換手順について検証済みの手順に従ってください。
クライアント向けの共有は別の設計レイヤーです。ディスクの管理モデルを決めた後に、このSMBとNFSの比較を参照してください。
キャッシュや使い慣れた管理画面を得るためだけに、ZFS用のハードウェアRAIDを選ばないでください。ディスクが見えなくなり、復旧を担う主体が二重になるという問題を、それらの利点で補うことはできません。
最終判断
ZFSには、検証済みのダイレクトアクセスモードで動作するHBAを選んでください。コントローラー管理の冗長性とベンダーサポートが必要な場合は、ZFS以外のストレージ設計でハードウェアRAIDを選んでください。単一ディスクのRAID 0仮想ディスク上でZFSを動作させるハイブリッド構成は避けてください。
よくある質問
真のHBAモードで動作するRAIDコントローラーはZFSで使用できますか?
はい。そのモードが各ディスクを実際に公開し、安定した識別子とセクターデータを保持し、健康状態の情報を渡し、隠れたRAID動作を無効にし、オペレーティングシステムでサポートされている場合に限ります。
HBAがあればバックアップは不要ですか?
いいえ。HBAはデバイスの可視性と復旧時の移植性を向上させますが、削除、プール全体の破損、盗難、火災、複数メンバーの障害から保護するものではありません。
製品比較
もっと読む

アプリのアップデートとロールバックにおけるProxmox上のLXCとDockerの比較
Dockerはアプリレベルのバージョン管理を提供し、LXCはゲストレベルのロールバックを可能にします。より適した方は、安全に復元できる最小の状態単位に応じて決まります。

特権ホームサービスにおけるDockerとLXCのセキュリティ境界
Dockerは用途を絞ってパッケージ化されたアプリに適しており、LXCはより完全なLinuxサービスに適していますが、共有カーネルのリスクを許容できない場合、どちらもVMの代わりにはなりません。

初心者が初めて構築するなら、ターンキー型NAS OSかモジュール型Linuxか
ガイド付きのストレージ運用にはすぐに使えるNASソフトウェアを選び、学習と明確な制御のためにより多くの管理を担う価値がある場合は、モジュール式のLinuxを選びましょう。

