- RAID0(ストライピング):高速化
- RAID1(ミラーリング):耐障害性
- RAID5(分散データ・ガーディング):高速化+耐障害性
- RAID6(分散データ・ガーディング):高速化+耐障害性
- RAID10(ストライピング+ミラーリング) :高速化+耐障害性
◆RAID5
HDDは最低3台が必要で容量は、物理HDD合計容量から1台分を引いた数が合計容量になります。
1TBのHDD3台で構成した場合、データとして利用できるのは2TBとなります。
複数のHDDに分散してデータを書き込むのと合わせてパリティが記録されます。このパリティも同時に記録されるため1台分のHDD容量が削られます。
また、1台のHDDに障害があった場合でもデータは守られますが2台同時に障害が発生した場合データは復元できなくなります。
下図はイメージになりますが三角のデータを分割し2つのHDDに記録します。ここまではRAID0と一緒ですが色々な計算で出した答え今回は、三角の枠としていますがこれがパリティとします。この枠も記録しておきます。
1台のHDDに障害が発生したとします。
RAID0だとこの時点でデータは読みだせませんがRAID5の場合パリティが記録されているのでこのパリティを使ってデータを復元します。
下記では、半分の三角と枠で元の三角形を復元します。
実際のRAID5では、ブロック単位でHDDには、次のような感じで記録されます。
HDD1・HDD2・HDD3があった場合
1回目 データ・データ・パリティ
2回目 データ・パリティ・データ
3回目 パリティ・データ・データ
・
・
・
パリティが記録されるHDDは、固定されていなくランダムに記録されます。1台のHDDに障害が出た場合、パリティと情報のかけたデータから元データを復元するので読み込み速度が遅くなります。障害が発生した場合は、速やかに障害を復旧しないと2台目の障害が同時に発生するとデータは復元できなくなります。
また、HDD単体で取り出してもデータを見ることはできません。
三角で説明していますが、HDDには、”1″、”0″で記録されますので
パリティはXOR処理をした値がパリティとして記録されます。
HDD1に”1″、HDD2に”0″、だった場合HDD3に記録されるパリティは”1″ となります。
◆RAID6
HDDは最低4台が必要で容量は、物理HDD合計容量から2台分を引いた数が合計容量になります。
1TBのHDD4台で構成した場合、データとして利用できるのは2TBとなります。
HDD2台までの障害に対応できます。
HDD1・HDD2・HDD3・HDD4があった場合
1回目 データ・データ・パリティ1・パリティ2
2回目 データ・パリティ1・パリティ2・データ
3回目 パリティ1・パリティ2・データ・データ
・
・
・
パリティ1とパリティ2は違う方法で計算されたものとなり複雑な計算を行うことにより、データを復元します。
ここまでRAID0から6まで簡単に説明しましたが何を目的にするかや導入コストなどとの兼ね合いになると思いますが
データ保護を目的として、RAIDを組まれる場合は、更にバックアップをどうするかも検討してください。
冗長化してるから大丈夫でしょ!と思われるかもしれませんがRAIDを実現するにはRAIDカードやソフトRAIDによるコントローラーが必ず必要になります。このコントローラー部分に障害が発生するとRAID5や6などはデータを復元できなくなりデータ消失につながる可能性があります。ですのでバックアップも検討しとるようにすることをお勧めします。