web-dev-qa-db-ja.com

Raid51を獲得するためのZFSとハードウェアの組み合わせ

非常に大規模なファイルサーバー(70 + TB、NFSとCIFSのみを提供)用のRAIDソリューションを検討しています。ハードウェアRAIDの上にZFSRAIDを使用することは一般的に禁忌であることを私は知っていますが、私は異常な状況にいることに気づきます。

私の個人的な好みは、大きなRAID-51仮想ディスクをセットアップすることです。つまり、2つのミラー化されたRAID5で、各RAID5には9つのデータと1つのホットスペアがあります(したがって、あまり多くのストレージスペースを失うことはありません)。これにより、2つの異なるドライブシャーシにデータをミラーリングすることで管理上のパラノイアを緩和し、危機が発生する前に各ミラーセットで1つのディスク障害を許容します。

ただし、この質問は、既存のハードウェアRAIDコントローラー(LSI Megaraid統合ディスクシャーシ+サーバー)があり、RAID5および6に対してのみライセンスが付与されているという事実に起因します。また、既存のZFSファイルシステムもあります。 RFS-1を使用してHAを提供します。

私がドキュメントで見たものから、ZFSはRAID-51ソリューションを提供していません。

ハードウェアRAIDを使用して、各シャーシに2つの同じサイズのRAID5仮想ディスクを作成することをお勧めします。これらの2つのRAID5仮想ディスクは、それぞれのサーバーに/ dev/sdxとして表示されます。

次に、ZFS + RFS-1を使用して、これら2つの仮想ディスクをHAミラーセットとしてミラーリングします(画像を参照)

これは良いアイデアですか、悪いアイデアですか、それとも単に醜い(しかし使用可能な)構成ですか。

より良い解決策はありますか?

enter image description here

2
BurningKrome

興味深い質問...

RSF-1 の使用に驚いています。 Linux高可用性上のZFS のガイドを見たことがありますか?

上で説明したことを設計することは可能ですが、複雑すぎる可能性があります。

これとは別に、これらはいずれも問題ではありません。

高可用性でZFSを使用することは、間違いなく通常の要求です。
そして ハードウェアRAID上のZFS を使用しても問題ありません。

設計の問題は、ソリューションにより多くの複雑さ、パフォーマンスの低下、およびより多くの障害点を注入していることです。

CIFSおよびNFSワークロードはZFSキャッシングの恩恵を受けることができるため、トポロジも考慮する必要があります。

ハードウェアに固執していて、マルチパスSASディスクを使用した共有シャーシソリューションを計画できない場合は、2つの障害ドメインを作成してシェアードナッシングソリューションを構築するのが最善です。要件を再評価し、許容可能な損失を決定します。たとえば、どの障害モードと状況から保護していますか?

上記の機器があれば、2つのストレージサーバーを別々のノードとして構築します。一方をプライマリとして、もう一方をセカンダリとして指定し、連続形式を使用します プライマリからセカンダリへのZFS非同期レプリケーション 。これは、ビジー状態のシステムでも、15秒間隔で安全に実行できます。

両方のサーバーを同時に使用する場合は、それぞれに異なるデータセットを提供し、両方の方法で複製できます。各ノードのハードウェアRAIDを使用する必要がある場合は、それで問題ありません。 ZFS RAMキャッシング、ボリューム管理、圧縮、場合によってはL2ARCおよびSLOGデバイスを引き続き活用できます。

設計はよりシンプルで、パフォーマンスが最大化されます。これにより、より高速なキャッシングドライブを使用する機会が開かれ、SASデータプールディスクの要件がなくなります。ノード間に地理的な分離を追加したり、導入したりすることもできます。必要に応じて3番目のノード。

5
ewwhite