web-dev-qa-db-ja.com

Raidz-1パリティディスク?

Zfsプールの構成方法について少し混乱しています。 raidz1プールに8つのディスクを追加することと、2つのraidz1グループを持つプールに2x4を追加することの正確な違いは何ですか。例

zpool create testPool raidz1 d1 d2 d3 d4 raidz1 d5 d6 d7 d8

zpoolステータスは同じ量の使用可能なディスクスペースを示しますが、zfs list testPoolを実行すると、2つのraidzグループを持つものは1つのグループにすべてのディスクがあるものの1/2の使用可能なディスクスペースを示します。

このメソッドは2つのパリティディスクを定義しますか?パリティディスクの数はどのように定義されていますか? raidz2を使用して次のプールを作成すると、ほぼ同じ使用可能スペースが表示されます。

zpool create testPool raidz2 d1 d2 d3 d4 d5 d6 d7 d8

これに関するヒントはありますか?

どうもありがとう

4
Chris

従来のRAIDに精通している場合は、基本的にRAID6(ダブルパリティ)とRAID 50(ストライプRAID5セット)を比較しています。 8ディスクRAID-z2セットアップは、8ディスクのいずれか2つがすべてのデータを失うことなく失敗するので、おそらくより良い方法ですが、4ディスクraidz1セットのストライプペアでは、セットごとに1つのディスク障害(2つのディスクの障害)しか許容できません。同じセットで、すべてを失います)。

2x4disk RAIDz1セットは、状況によってはIOPSが増加する可能性があります。これは、小さい読み取り/書き込みが半分または他方で処理される可能性があるためです。一方、すべてのIOは、8disk raidz2セットアップのすべてのディスクにヒットしますが、パフォーマンスが代わりにディスクをミラーリングすることを確実に検討する必要がある主な懸念事項です(RAID10)。

2
notpeter

どちらの例でも、冗長性のために2つのディスクを指定します。したがって、使用可能なディスク容量は等しくなります。

最初のものはraidzストライピング(実際にはraid50)を作成します。システムがディスクの最初のグループと2番目のグループの間で負荷のバランスをとろうとするため、より高速です。各グループには1つのデバイスの冗長性があるため、2つのドライブに障害が発生し、両方が異なるグループのものである場合でも、データが失われることはありません。 2つのドライブに障害が発生し、両方が同じグループに属している場合、データが破損します。

2つ目は、実際にraid6を作成します。速度は遅くなりますが、2台のドライブに障害が発生した場合でもデータを保持できます。

0
disserman

最初の方法では、2つの「仮想デバイス」を定義し、それぞれに独自のパリティディスクがあります。 2番目の方法では、1つの仮想デバイスに2つのパリティディスクを作成します。どちらも同じ量の使用可能なスペースがあり、コントローラーのボトルネックがどこにもない場合は、同じパフォーマンスになると思います。

0
Luke