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


31

専用バックアップ用のすてきな小さなRAIDアレイを構築したいと考えています。私はすべてをデジタル化するこの厄介な小さな習慣を持っているので、使用可能なスペースを2〜4 TBにしたいと思います。したがって、ドライブに障害が発生した場合に備えて、大量のストレージと冗長性が必要です。また/home、Linux用の「Time Machine」クローンの1つを使用して、基本的に2〜3台のコンピューターのフォルダーをバックアップします。このアレイは、SSH経由でローカルネットワーク経由でアクセスできます。

RAID-5がパリティを実現する方法と、実際に必要なドライブの数を理解するのが困難です。5つのドライブが必要であると考える人もいますが、私は間違っている可能性があります。私が見た図のほとんどは、まだ私を混乱させているだけです。これがRAID-5の動作方法のようです。適切に把握していないので、修正してください。

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

ドライブ1〜3が表示され、単一の大容量ドライブ(capacity * number_of_drives)として機能し、パリティドライブがそれらのドライブをバックアップしているようです。私にとって奇妙に思えるのは、通常、3つ以上のストレージドライブが1つまたは2つのパリティドライブに対してのみ表示されることです。RAID-5アレイで4つの1TBドライブ、3つの実行中のストレージ、1つの実行中のパリティを実行しているとすると、実際のストレージは3TBですが、パリティは1TBしかありません!?

私はここで何かが欠けていることを知っています、誰かが私を助けることができますか?また、私の使用例では、RAID-5とRAID-6のどちらが良いでしょうか?フォールトトレランスは、それが唯一の家庭用ネットワーク上で実行されているために起こっているので、速度はありませんが、この時点で私にとって最高の優先度で非常重要。

回答:


30

各ドライブの対応する各ビットのXORを実行します-ドライブを紛失した場合、欠落データを再構築できます。

背景:

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は、ガロア体を使用してパリティを計算するより複雑です。そして、それはパリティ計算に負担をかける可能性があります。ただし、より多くのドライブを失う可能性がありますが、単一の障害が発生するとすぐにアレイを再構築する場合は、RAID-5を使用してください。


素晴らしい答え。私は、ビットレベルではなく、実際の完全なハードディスクベースで、大きすぎるスケールで考えていました。それでは、RAID-5はパリティ専用のドライブを使用しますか、それともパリティ用のすべてのドライブを使用しますか?私はそれについて混乱しています。
ナフトゥリケイ

2
現代のアプローチは、パリティをすべてのドライブに斜めに分散させることだと思います。これは、複数のIO要求を異なるドライブに並行して送信できるため、パリティビットへの読み取り時間を短縮する効果がありますが、そのことを引用しないでください。
マット

各ドライブで使用可能な容量xyGB を特定するために使用できる数式はありますか?
ナフトゥリケイ

2
ええ、それは(最小のドライブサイズ)*(アレイ内のドライブの数-1)
マット

1
パリティが他の2つのディスクの単なるXORである場合、2つのディスクのどちらが破損したかをどのようにして確認できますか?どちらのディスクでもビットフリップはパリティのビットフリップになりませんか?
ジェイサリバン

8

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


4

Raid 5およびRaid 6に関するこのウィキペディアの記事を読むことをお勧めします

http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5_parity_handling

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

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

たとえば、ディスク4に障害が発生した場合、ディスク1および2のデータを知っていて、ディスク3でパリティチェックを行うため、ストリップBのデータを回復できます。

ストリップBのパリティが「2」で、ディスク1のデータが「1」、ディスク2のデータが「0」の場合、ディスク4のデータは「1」である必要があるため、ディスクはデータ=「1」で書き込まれます

この方法でディスク全体を再作成できます。RAID6は、ストライプごとに2パーティブロックを持つことでこれを拡張します。

RAID 5のスペースについては、ストライプごとにパリティブロックにのみ書き込むため、パリティ用に1つのディスクだけを失うことになりますが、RAID 6では、2つのディスクを失うことになりますが、2つのディスクを失うこともできますRAID 5;)

ウィキペディアの記事はこれをより良く説明しています!


3

RAID 5は、アレイにあるデータドライブの数に関係なく、パリティ用に1つのドライブを使用します。これは、使用可能なスペースの観点から、追加されるドライブが増えるほど効率が高くなることを意味します。

パリティは、各ドライブの同じブロックでXOR演算を実行することにより実現されます。パリティドライブの内容は、すべてのドライブのXORがゼロになるように調整されます。これは、アレイ内のすべてのドライブの最小容量によってRAID 5が制限されることを意味します。

RAID 6も同様ですが、2つの同時ドライブ障害に耐えることができます。これは、単一のドライブ障害が発生した後にアレイを「再同期化」するプロセスにストレスがかかり、2番目のドライブに障害が発生する可能性があるため便利です。


つまり、基本的に、4つの2TBドライブと6TBの効果的な冗長ストレージを使用できるということですか?
ナフトゥリケイ

@TK Kocheran RAID 5、はい。ファイルシステムにより、有効なストレージは少し少なくなります。たとえば、RAID-Z1(ZFSのRAID 5バージョン)に2 TBのドライブを4つ搭載したNASの使用可能スペースは5.18 TBです。
-sblair

はい、もちろんです:)常にそのように起こります。次の質問は...ファイルシステムが使用するものです
Naftuliケイ

0

フォールトトレランスが目標の場合、RAID-6は2つのドライブを失うのに十分な冗長性を提供します。通常、RAID-5は単一のドライブ障害のみを許容します。


RAID-6のパリティ(合計ストレージ)に対するドライブの比率はどのくらいですか?drive_size * (drive_count - 2)
ナフトゥリケイ

1
1台目のドライブを交換する前に2台目のドライブのフォールトトレランスが悪くなるだけでなく、他にも便利な状況が1つあります。RAIDアレイでドライブが悪くなるなどです。新しいドライブが注文されます。RAIDアレイについて何も知らないランダムな人が、新しいドライブを手にサーバールームに入り、番号付けを台無しにして、交換のために間違ったドライブをアレイから取り出します。RAID5では、アレイはそこにねじ込まれています。RAID6は、まだ回復できることを意味します。
camster342
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.