web-dev-qa-db-ja.com

Linux上のZFS(ZoL)とリアルタイムレプリケーション

10 GbEリンクで接続された2つのZFS on Linux(ZoL)ボックス間のリアルタイムレプリケーションに最適なソリューションは何ですか?目標は、それらを仮想マシンに使用することです。一度に1つのボックスだけが仮想マシンとZFSファイルシステム自体を実行します。最初の(アクティブな)ボックスでスナップショットが可能である必要があります。エンタープライズ/ニアライングレードのSATAディスクを使用する予定なので、デュアルポートSASディスクは問題外です。

私は次の可能性を考えました:

  • iSCSIを使用してリモートディスクをエクスポートし、ローカルボックスのZFSディスクとリモートiSCSIディスクの間にミラーを作成します。このソリューションの大きな魅力は、ZFS独自のミラーリングを使用しているため、その単純さです。一方、ZFSはリモートディスクよりもローカルディスクを優先しないため、パフォーマンスが低下する可能性があります(10 GbEネットワークではほとんど関係がないと思います)。さらに、大きな懸念の原因は、2つのボックス間のネットワークリンクが失われた場合にZFSがどのように動作するかです。リモートマシンが使用可能になったときにアレイを再同期しますか、それとも手動による介入が必要になりますか?
  • DRBDを使用して2つのZVOLSを同期し、ZFSをDRBDデバイスの上に配置します。言い換えれば、私はスタック型ZVOL + DRBD + ZFSソリューションについて話しているのです。 DRBD 8.4は非常に安定していて証明されているため、これはようですただし、ここでは多くのI/Oレイヤーが機能しており、パフォーマンスが低下する可能性があります。
  • 上にプレーンZFS + GlusterFSを使用。 ZFSの観点から見ると、すべてのレプリケーショントラフィックがGlusterFSに委任されるため、これはよりシンプルで優れたソリューションです。 GlusterFSは十分に安定していますか?

より良いアプローチは何だと思いますか?ありがとう。

8
shodanshok

15秒または30秒間隔で クラスター化されたデュアルノード共有SASセットアップ または 継続的な非同期複製 をお勧めします。後者は後者は地理的な分離を得る方法を提供しますが、それらは一緒に使用できます。

ただし、実験したい場合は、Infiniband SRPまたは100GbE RDMAを使用して、2つのノード間にZFSミラーを作成できます。

たとえば、node1とnode2はそれぞれローカルディスク(ハードウェアRAIDを想定)を持ち、そのローカルストレージをSRP経由で提供します。一度に1つのノードがzpoolの制御下にあり、そのプールはnode1のローカルディスクとnode2のリモートディスクで構成されています。

ZFSミラーであるため、ミラーリングは同期です。フェイルオーバーと一貫性は、通常の再同期動作によって処理されます。 Zpoolのインポート/所有権/エクスポートはPacemakerと標準のクラスターユーティリティによって処理されます...

または、同じことを行う 商用ソリューション を使用できます。見る:

http://www.zeta.systems/blog/2016/10/11/High-Availability-Storage-On-Dell-PowerEdge-&-HP-ProLiant/

5
ewwhite