RAID(Redundant Arrays of Independent(Inexpensive) Disks)とは,ディスクの台数に冗長性を持たせて,1台のディスクにトラブルが発生しても,データを復元させるための技術です。。
- RAID0
- ストライピングともいいます。ディスクが2台あるとすると,データを2つに分けてそれぞれのディスクに対して同時に書き込むことにより,理論的には1台の場合と比べて2分の1の時間で書き込みを完了することができます。これは高速化には役立ちますが信頼性の向上にはなりません。
8台のディスクをおき、1バイトをビット単位でそれぞれのディスクに格納する方法もあります。
- RAID1
- ミラーリングともいいます。2台のディスクに同じデータを書き込むことにより,一方のディスクが故障しても,他方のディスクに続行して書き込めますし,そちらのディスクにデータが残っています。
- RAID10
- 下図のようにRAID1とRAID0を組み合わせた構成です。
ディスクA ディスクB ディスクC ディスクD
└──┬──┘ └──┬──┘
RAID1 RAID1
└─────┬─────┘
RAID0
- RAID2~4
- データ本体の格納ディスク以外に、誤り訂正用のビット(列)を格納するためのディスクを1台設置します。データ本体にトラブルが発生したとき、誤り訂正用のビットにより修正します。
読み書きの単位 誤り訂正方式
RAID2 ビット ハミング符号
RAID3 ビット/バイト パリティビット
RAID4 ブロック パリティビット
RAID5・6にくらべて容量効率が劣るため、近年は、ほとんど使われていません。
- RAID5
- ブロック単位でRAID4と似ていますが、パリティビットを全ディスクに分散して保存するのが特徴です。どれか1台のディスクが故障しても,それ以外のディスクのデータとパリティ情報から元のデータを復元できます。
パリティの保存に必要なのは、全ディスク台数に関係なくディスク1台分の容量です。たとえば,5台のディスクがあっても,5-1=4台のディスク容量しか書き込むことができません。容量効率は (N-1)/N になります(Nは台数)。
- RAID6
- パリティを複数(2個)にして分散記録したものです。ハードディスクが4台以上で採用できます。
パリティが二重になるため、故障台数が2台でも復元でき耐障害性は高くなりますが、書き込み速度が低下しますし、2台分の容量がパリティになるので容量効率は (N-2)/N になります。
以上をまとめると次表になります(〇や△は状況により異なる)。
RAID0 RAID1 RAID10 RAID5 RAID6
必要台数 2台以上 2台以上 4台以上 3台以上 4台以上
容量効率 1.0 0.5 0.5 (N-1)/N (N-2)/N
書込速度 ◎ △ 〇 〇 △
耐障害性 × 〇 〇 〇 ◎