RAID アーキテクチャ
RAIDとは
Redundant Array of Independent Diskの略で、複数のディスクにデータを分散して書き込むことで、ディスク障害時にユーザデータの再生を可能とする仕組みです。1987年にカリフォルニア大学バークレイ校から論文として発表されました。
RAIDタイプ
RAIDタイプは0~6で表され、それぞれ特徴があります。現代においてはRAID 5、RAID 1+0、RAID 6が信頼性および耐障害性の面から推奨されます。
▲ RAIDタイプの比較表
非RAID
RAIDを組まなければディスクが故障するとそのディスク内にあったデータがすべて失われてしまいます。
RAID 0
RAID 0はストライピングとも呼ばれ、データをブロック単位で異なるディスクに分散保存します。データの二重化は行わないのでディスクがどれか1本でも故障すればデータが失われますが、データの読み書きを並列で行えるため、読み書き速度が非RAID時より向上します。
RAID 1
RAID 1はミラーリングとも呼ばれ、まったく同じデータを異なるディスクに保存します。データが二重化されることになるので、ディスクが1本壊れてもデータは保全されます。また、複数のディスクから並列でデータを読み出すことができるため、読込速度の向上も見込めます。ただし、非RAIDに比べて単純に2倍のディスク容量が必要となるため、コスト増に繋がります。
RAID 0+1
RAID 0+1はRAID 0(ストライピング)のようにデータをブロック単位で異なるディスクに分散保存した上で、それらのディスクをRAID 1(ミラーリング)でデータを二重化する仕組みです。RAID 0の高速化とRAID 1の冗長性を兼ね備えた方式ですが、ストライピンググループを束ねてミラーリングするため、異なるストライピンググループで同時にハードディスク故障が起こった場合にはデータが失われます。
RAID 1+0
RAID 1+0はRAID 1(ミラーリング)で二重化したデータをRAID 0(ストライピング)で分散保存する仕組みです。RAID 0+1とは違い、ミラーリングしたものをストライピングするため、ミラーリングで同じデータをもっているディスク2本が同時に故障しない限りはデータが保持されるので耐障害性に優れた仕組みであると言えます。
RAID 2
RAID 2は理論上存在しますが、コスト効率が悪いため利用されていない仕組みです。ここでは詳細の説明を割愛します。
RAID 3
RAID 3以上はパリティコード(エラー訂正符号)を使用することでデータを復元可能とする仕組みです。RAID 3ではビット単位でパリティコードを生成し、それをパリティコード保存用のディスクに保存します。データが保存されているディスクが故障した場合に、パリティコードを使ってデータを復元することが可能です。ただし、パリティコードを保存したディスクは二重化されていないため、パリティディスクの故障とデータディスクの故障が同時に起きるとデータが失われてしまいます。
RAID 4
RAID 4はRAID 3と同じ仕組みですが、データをブロック単位で扱います。
RAID 5
RAID 5ではユーザーデータとパリティデータを混在させることで、パリティデータを分散する仕組みです。RAID 4ではパリティディスクが1つしかなかったためにパリティディスクの負荷が高くなりますが、RAID 5ではその問題を解消できます。
RAID 6
RAID 5同様、ユーザーデータとパリティデータを混在させることで、パリティデータを分散する仕組みです。RAID 6ではパリティデータを異なるディスクに二重化して保存することでRAID 5よりも高い信頼性、耐障害性を確保できます。ただし、二重化することでデータ容量が増えるため、コストは増加します。
以上
Discussion