RAID-5アレイのパリティはどのように動作しますか?

raid raid-5

私は、専用のバックアップ用の小さなRAIDアレイを構築したいと考えています。私はすべてのものをデジタル化するという厄介な習慣があるので、約2~4TBのスペースを確保したいと思っています。そのため、多くのストレージとドライブの故障時の冗長性が必要です。また、Linux用の「Time Machine」クローンを使って、2-3台のコンピュータの/homeフォルダを基本的にバックアップします。このアレイは SSH 経由でローカルネットワーク経由でアクセスできるようになります

RAID-5がどのようにしてパリティを達成するのか、また実際に必要なドライブ数は何台なのか、理解に苦しみます。5台のドライブが必要だと思われますが、私が間違っているかもしれません。私が見た図のほとんどは、まだ私を混乱させているだけです。RAID-5がどのように動作するのか、正しく理解できていないようなので、ご指摘をお願いします

/---STORAGE---\    /---PARITY----\
|   DRIVE_1   |    |   DRIVE_4   |
|   DRIVE_2   |----|     ...     |
|   DRIVE_3   |    |             |
\-------------/    \-------------/

ドライブ1-3は1つの巨大なドライブ(capacity * number_of_drives)として表示され、パリティドライブがそれらのドライブをバックアップしているように見えます。不思議なのは、通常、図の中で3台以上のストレージドライブが1台か2台のパリティドライブだけになっていることです。RAID-5アレイで4台の1TBドライブを実行していて、3台のストレージを実行し、1台のパリティを実行しているとします

何かが足りないのは分かっていますが、誰か助けてくれませんか?また、私のユースケースでは、RAID-5とRAID-6のどちらが良いでしょうか?この時点では耐障害性が最優先で、家庭用のネットワーク上で実行されるため、速度はそれほど重要ではありません

  31  Naftuli Kay  2011-05-23


ベストアンサー

各ドライブの対応するビットをXORするだけで、ドライブを紛失しても、不足しているデータを再構築することができます

For background:

A B (A XOR B)
0 0    0
1 1    0
0 1    1
1 0    1

Dが他の列のXORであると仮定して、1つのドライブだけを失う限り、何を失ったかを把握することができます

A B C D
1 0 0 1
0 1 0 1
1 1 0 0

ストライプビットがドライブに分散されることもありますが、コンセプトは同じです

そのため、RAID-5では、どれだけのドライブがあっても、パリティのために必要なドライブは、RAIDするアレイの最小のドライブと同じか、それよりも大きいドライブ1台だけです

個人的に使用する場合は、RAID-6よりも計算の複雑さがはるかに低いため、RAID-5が最適でしょう

RAID-6 は、Galois Fieldsを使用してパリティを計算することで、より複雑になっています。そして、それはパリティ計算に負担をかけることになります。しかし、より多くのドライブを失う可能性がありますが、一度でも障害が発生したらすぐにアレイを再構築すれば、RAID-5 を使用しても問題ありません

30  Matt  2011-05-23


ここでは、RAID4とRAID5でパリティがどのように動作するかを示すために、より良い図を考えています

RAID4

Disk1  Disk2  Disk3  Disk4
----------------------------
data1  data1  data1  parity1
data2  data2  data2  parity2
data3  data3  data3  parity3
data4  data4  data4  parity4

RAID5

Disk1   Disk2   Disk3   Disk4
----------------------------
parity1 data1   data1   data1
data2   parity2 data2   data2
data3   data3   parity3 data3
data4   data4   data4   parity4

8  camster342  2011-05-25


レイド5とレイド6については、このWikipediaの記事を読むことをお勧めします

Standard RAID levels - Wikipedia

RAID 5 は各ストリップにパリティブロックを書き込むので、4 ディスクアレイのストリップ A では 4 番目のディスクにパリティチェックを書き込み、ディスク 1、2、3 に Data を書き込みます

ストリップBの場合、パリティブロックはディスク3にあり、データはディスク1、2、4…などにあります

ディスク 4 が故障した場合、ディスク 1 と 2 のデータを知っていて、ディスク 3 のパリティチェックがあるので、ストリップ B のデータを復旧することができます

もしストリップBのパリティが “2 “で、ディスク1のデータが “1 “でディスク2のデータが “0 “の場合、ディスク4は “1 “と等しいデータを持っていなければならないので、ディスクはデータ=”1 “で書き込まれます

ディスク全体をこのように再現することができますが、RAID 6はストライプごとに2つのパーティブロックを持つことでこれを拡張しています

レイド5のスペースに関しては、1ストライプあたりのパリティブロックにしか書き込みをしないので、パリティに1ディスク分のスペースを失うことになりますが、レイド6では2ディスクを失うことになりますが、レイド5で失うことができる1ディスクではなく、2ディスクを失うこともできます。)

ウィキペディアの記事の方が説明してくれています

4  markfknight  2011-05-23


RAID 5 は、アレイ内のデータドライブの数に関係なく、1 台のドライブをパリティとして使用します。これは、使用可能なスペースの面では、ドライブの数が増えるほど効率的になることを意味しています

パリティドライブの内容は、XORでゼロになるように調整されますこれは、RAID 5 が アレイ内の全ドライブの最小容量によって制限されていることを意味します

RAID 6 は、2 つのドライブの同時故障を許容できることを除いては似ています。これは、1台のドライブが故障した後にアレイを”resilvering“するプロセスは、2台目のドライブが故障するのに十分なストレスになる可能性があるため、有用です

3  sblair  2011-05-23


フォールトトレランスが目的であれば、RAID-6 は 2 台のドライブが故障しても十分な冗長性を提供します。通常、RAID-5は1台のドライブの故障しか許容しません

0  Nate  2011-05-23


タイトルとURLをコピーしました