システムの構成として、ハードディスクなどの記憶装置の障害に備えることが必要不可欠だ。

今回は、複数のハードディスクを接続し、全体で一つの記憶装置として扱うRAID(Redundant Arrays of Inexpensive Disks)についてまとめていく。

RAID0

ストライピングと呼ばれるもので、複数台のハードディスクにデータを分散することで高速化を目的としている。
RAID0を採用することで性能は上がるが、信頼性は1台のディスクを使用した場合と比べて低下する。

RAID1

ミラーリングと呼ばれるもので、複数台のハードディスクに同じでデータを書き込む。
これにより1台のディスクが故障しても、もう1台にフルバックアップがあるため信頼性は格段に上がる。
ただし、性能については1台のディスクを使用した場合と特に変わらない。

RAID2

複数台のハードディスクにデータを保存。
さらに、エラーの検出・訂正を行うためのハミングコードを生成して、複数台のディスックに分散して書き込む。
ハードディスクが故障した場合は、ハミングコードからデータを復旧する。

RAID2は極めて高い信頼性を持つが、最低でも5台のハードディスクが必要だったり、ディスクの利用効率が悪いことから、現在ではあまり採用されることはない。

RAID3・RAID4

複数台のハードディスクのうち、1台を訂正用のパリティディスクとし、誤りが発生した場合に復元する。

RAID3ではデータの分割がバイト単位で行われ、RAID4ではブロック単位で行われる。

RAID5

RAID3・RAID4のパリティディスクは通常時に使用することはないが、データを分散させた方がアクセス効率は上がるので、パリティをブロックごとに分散し通常時も全てのディスクを使用するようにした方式がRAID5だ。

また、RAID3・RAID4と同等の信頼性で、性能でRAID5の方が優るため、ほとんどのケースでRAID5が用いられる。

なお、RAID3・RAID4・RAID5では、最低でも3台以上のディスクが必要となる。

RAID6

RAID5では1台のディスクが故障しても、他のディスクを用いて復元することができるが、2台同時に故障してしまった場合は復元が難しくなる。

そこで、冗長データを2種類作成することで、同時に2台のディスクが故障しても支障をきたさないようにしたものがRAID6だ。

RAID6ではパリティディスクに2台割り当てるため、最低でも4台以上のディスクが必要となる。