RAID 5セットアップでは、3 x 2 TBディスクから4 TBの使用可能スペースが得られます。これはどのように可能ですか?
私のように単純な考えですが、物を保管するには4TBが必要であり、残りの2TBを回復に使用すると思います。しかし、どうすれば2TBから4TBを回復できますか? 1kbがなくなった場合、回復できるのは0.5kbだけです。それで十分な場合は、最初から0.5kbをストレージに使用してみませんか。
私はこれが素朴な質問であることを知っています。しかし、答えは何ですか?
この例では、3つのディスクがあります。 1つのディスクは パリティ情報 を保持し、他の2つのディスクはデータを保持します(したがって、パリティに対して1ディスク相当のスペースが失われます)。これで、すべてのディスクの同じ位置に常に偶数のビットが含まれるように、すべてのビットについてパリティが計算されます。 (この例は基本的な理論であり、実装はわずかに異なる場合があります):
データ1データ2パリティ 0 0 0 0 1 1 1 0 1 1 1 0
1つのディスクを失い、現在(すべてのディスクのこの位置について)情報を持っている場合1?1
ご存知のとおり、?
でなければなりません 0
偶数のビットを取得する必要があるため。たとえば、同じです。 ?00
(== 000
)またはその他の組み合わせ、さらに多くのデータ部分(20個のデータと1個のパリティディスクでも同じように機能します)。また、1つのディスク(パリティグループごとに1ビット)だけを失う限り、問題はありません。
注:パリティの位置は、ストライプごとにディスク上で(RAID-5を使用して)回転します。 (RAIDブロック、2k〜64kバイト)、ディスクの負荷を均等に分散します。
RAID 5では、経験則として、セットから1台のドライブに相当するものがパリティに失われます。また、回復が不可能になる前に、RAIDセットから最大1つのドライブを失う可能性があることも意味します。
したがって、3台のドライブ(RAID 5の最小値)を使用すると、合計で3 TBになりますが、2TBを使用できます。ドライブの数を増やすと、セット全体から1つのドライブしか失うことができないため、障害が発生する可能性が高くなります。
したがって、ファイルは次のように保存されます。
Drive 1: Striped Data
Drive 2: Striped Data
Drive 3: Parity
パリティビットはディスク全体にランダムに分散されるため、1バイトから次のバイトまで、ファイルがどのドライブにあり、どのドライブがパリティであるかが明確にわかりません。
それは役に立ちますか?
キッカーは本当にこれです:あなたは実際に100x1TBディスクから99 TBを得ることができたので、1%しか失いません。
ただし、100個の物理ディスクがある場合、2つのディスクが(ほぼ)同時に故障する可能性はかなり不快になり始めます。