パリティを分散配置し、1台故障してもデータを復元できるRAID方式。容量効率と安全性のバランスに優れます。
RAID 5とは、3台以上のディスクにデータを分散しつつ、「パリティ」という検査用の値も一緒に保存する方式です。RAID 0 の高速さと、冗長性(1台故障に耐える力)を両立させた、実務でよく使われる構成です。
パリティとは、複数のデータをまとめて計算した「答え合わせ用のヒント」のことです。たとえば「3 と 5 を足すと 8」とメモしておけば、3 を忘れても「8 − 5 = 3」と復元できます。RAID 5 はこの考え方をディスクに応用しています。
上のツールで ▶ ボタンを押すと、データが分割され、パリティが計算・分散配置され、1台故障時にパリティから復元される流れを順に確認できます。
パリティは、同じ行(ストライプ)にあるデータブロック同士を XOR(排他的論理和)して作ります。XOR は「ビットが異なれば1、同じなら0」になる演算で、同じ値をもう一度 XOR すると元に戻るという便利な性質があります。これが復元のカギです。
処理の流れは次の通りです。
・分割:データをブロックに分ける(RAID 0 と同じ)
・パリティ計算:同じ行のデータを XOR してパリティ P を作る
・分散配置:パリティを1台に集めず、行ごとに別ディスクへずらして置く
パリティをあえて全ディスクにばらまくのが「パリティ分散」です。もし1台にパリティを集中させると(これは RAID 4 と呼ばれます)、書き込みのたびにその1台へアクセスが集中して遅くなります。RAID 5 は分散することでこの偏りを解消しています。
復元の仕組み: 1台が故障しても、残ったディスクのデータとパリティを XOR し直せば、失われたブロックを計算で完全に取り戻せます。
P1 = A1 XOR A2
A1 が消失 → A1 = A2 XOR P1(復元)
容量 = (N − 1) × ディスク容量
例: 500GB × 4台 → (4−1) × 500 = 1500GB
RAID 0・1・5 はそれぞれ重視するものが違います。RAID 5 は速度・容量効率・安全性のバランス型で、サーバーやNASでよく使われます。
| 項目 | RAID 0 | RAID 1 | RAID 5 |
|---|---|---|---|
| 仕組み | ストライピング | ミラーリング | パリティ分散 |
| 必要な台数 | 2台以上 | 2台 | 3台以上 |
| 容量効率 | 100% | 50% | (N−1)/N(高い) |
| 耐えられる故障 | 0台 | 1台 | 1台 |
| 容量の式 | N × 容量 | 1台分 | (N−1) × 容量 |
使い分けの目安は次の通りです。
・速度・容量だけ欲しい(消えてもよい) → RAID 0
・とにかく確実に守りたい(台数2台でよい) → RAID 1
・大容量を効率よく、かつ1台故障に備えたい → RAID 5
ただし RAID 5 が耐えられるのは1台までの故障です。1台故障した状態で復旧作業中に2台目が壊れると、データは失われます。2台同時故障に備えたい場合は、パリティを2つ持つ RAID 6 を使います。
XOR(排他的論理和、記号 ⊕)には「同じ値を2回かけると元に戻る」という特別な性質があります。これがRAID 5の復元のカギです。
具体的な数値で確かめてみます。
・A1 = 6(二進数: 110)、A2 = 3(二進数: 011)とします
・パリティ: P1 = A1 ⊕ A2 = 110 ⊕ 011 = 101(= 5)
・A1が消えたとき: A2 ⊕ P1 = 011 ⊕ 101 = 110(= 6) → A1が戻る!
なぜこれが成り立つのか。XOR には X ⊕ X = 0(同じ値同士は打ち消し合う)という性質があります。だから A2 ⊕ P1 を計算すると、P1の中に含まれるA2の成分が打ち消され、A1だけが残るのです。ディスクが3台でも4台でも、「残ったデータとパリティを全部XORする」だけで1台分のデータが計算で取り出せます。
身近な例で考えると、合計金額から1つの値段を引けば、残りの値段が分かるのと似た感覚です。パリティは「ほかの全データを組み合わせた答え」なので、1つ消えても「答えから残りを引く(XOR)」ことで取り戻せます。
RAID 5 が耐えられるのは1台の故障までです。1台壊れた状態で新しいディスクに入れ替えて復元する作業中に、別の1台がさらに故障した場合、パリティが足りなくなりデータが完全に失われます。
なぜ復元中に故障しやすいのか。1台が壊れると、残りのディスクはその台分のデータ読み書きまで肩代わりします。すべてのディスクにかかる負荷が増えるため、劣化しかけていたほかのディスクが壊れやすくなります。つまりRAID 5の「復元中」は、通常運用より故障リスクが高い状態です。
これに対応するのがRAID 6(=パリティを2個持つ方式)です。2台同時故障でもデータを復元できます。
・RAID 5:パリティ1個 → 1台まで故障に耐える。容量効率 (N−1)/N
・RAID 6:パリティ2個 → 2台まで故障に耐える。容量効率 (N−2)/N(最低4台必要)
身近な例で考えると、RAID 5 は予備タイヤが1本だけの車、RAID 6 は予備タイヤを2本積んだ車のようなイメージです。2本あれば2本同時にパンクしても安心できますが、その分スペースが1本余分に使われます。