iSCSI 上の ZFS

iSCSI 上の ZFS

私は、ZFS と BSD を使用してファイル サーバーを構築することを計画しており、同じラック内の他のマシンに保存されているドライブを iSCSI 経由で接続することで、サーバーを拡張可能にしたいと考えています (たとえば、1 台のマシンで ZFS を実行し、他のマシンでは ZFS ボックスから接続して zpool に追加できる iSCSI ターゲットを使用できます)。

これを試した他の人を探すと、ZFS 上で iSCSI 共有を公開することに関するリソースは見つかりましたが、その逆については何も見つかりませんでした。主に、次のような疑問があります。

  • ギガビット イーサネット経由の iSCSI はこの目的に十分な速度ですか、それとも適切なパフォーマンスを得るには 10GbE に切り替える必要がありますか?
  • iSCSI ターゲットを実行しているマシンの 1 つがネットワークから切断されるとどうなりますか?
  • 私が気付かないだけで、これを行うより良い方法があるのでしょうか?

容量的には、当初は約 10 TB のデータ (冗長性は考慮していません) になりますが、近い将来には 20 TB に拡張することが妥当な目標です。つまり、冗長性を考慮すると、合計ストレージ容量はおそらく約 40~50 TB になります。可能であれば、GELI を使用してすべてのデータを暗号化しておくことも望んでいます。

ご協力いただきありがとうございます。

答え1

容量の面での目標は何ですか? これは間違いなく可能です。ZFS はターゲットを認識し、それらをプールに集約できるからです。ただし、パフォーマンスと信頼性はかなり犠牲になります。

拡張(想定される容量要件)のための私の推奨は、外部SASマルチパスケーブルドライブエンクロージャとZFS対応コントローラに投資することです。これが、たとえば、RAID 1+0ストレージの24TB以上の容量を必要とする状況である場合、1つ2TB のディスクを搭載した外部エンクロージャを使用している場合は、専門家の設計アドバイスが役立つ領域にいます。このレベルでは、他のシステムにあるディスクを使用する iSCSI では、速度は上がりません。

iSCSI 設計は、遅延、信頼性、サポート性の理由により失敗します。

答え2

イーサネット経由の iSCSI に関するご質問ですが、iSCSI はおそらく最も高速なプロトコルです。基本的には、有線経由のディスク ブロック アクセスです。十分なギガビット NIC を飽和させます。

ネットワーク上のターゲットの喪失に関しては、私が見たほぼすべての iSCSI ターゲット実装は、何らかのマルチパスをサポートしています。open-ietd はまだマルチパスをサポートしていない可能性があります。最悪の場合、ジャーナリング ファイル システムを使用しているため、ターゲットがオンラインに戻ったときにジャーナルを再生する必要がある可能性があります。ストレージ サーバーをドロップしたことで iSCSI 経由のファイル システムが破損したことはありません。

答え3

注: 実際にこれをやったわけではないので、あまり信じないでください。ZFS について読んでいるときにこれについて言及されているのを見ましたが、現在これらの参照を見つけることができません...

ZFS が物理レイアウトを完全に把握できるように、各物理ディスクを個別の LUN としてエクスポートする必要があります。これは、IO のスケジュールとレプリケーションについて適切な決定を下すために必要です。

ギガビット イーサネット経由の iSCSI はこの目的に十分な速度ですか、それとも適切なパフォーマンスを得るには 10GbE に切り替える必要がありますか?

ディスクの速度、ディスクの数、達成したいパフォーマンスによって異なります。15k RPM ディスクは最大 105MiB/秒、つまり 840Mbit/秒の速度で転送できます。1 つのギガビット リンクで複数のディスクにアクセスすると、リンクが飽和状態になり、ネットワークがボトルネックになります。使用するディスクの最大速度を調べ、それにディスクの数を掛けると、それをサポートするために必要なネットワーク帯域幅が得られます。

もちろん、これは ZFS サーバーから最大限のパフォーマンスを引き出すことを前提としています。100Mbit/s で接続しているクライアントが少数の場合、これは必要ありません。したがって、予想される最大需要を計算してください。RAIDZ1/2/3 を使用している場合、ディスクへの帯域幅はクライアントの帯域幅よりもわずかに高いことに注意してください。また、当然のことながら、クライアントがサーバーにアクセスするのと同じ NIC を介してサーバーがディスクにアクセスする場合は、この帯域幅を共有する必要があります。

iSCSI ターゲットを実行しているマシンの 1 つがネットワークから切断されるとどうなりますか?

ZFS はディスクが使用不可になったと認識します。RAID1/2/3 を使用している場合、これによってクライアントへのサービスが中断されることはありません。ホット スペアを構成している場合、ZFS はデータの再同期を開始します。iSCSI ターゲットが復帰すると、イニシエーターが自動的に再接続すると仮定して、ZFS は再びその使用を開始します。(ただし、これはテストする必要があります。)

関連情報