良い質問です。
RAIDにおける**パリティ(parity)**とは、データの誤り検出・復元のために使われる冗長情報です。
具体的には、**複数のディスクに保存されたデータの「ビット単位の排他的論理和(XOR)」**を使って、ディスクが故障したときでもデータを復元できるようにします。
【1】RAIDにおけるパリティとは?
【2】具体例:RAID 5 のパリティの仕組み
◆ RAID 5 構成:3台のディスク(A, B, C)で説明
(A, Bに実データ、Cにパリティ)
| ディスク | 内容(1ブロックあたり) |
|---|
| A | 1011 |
| B | 1100 |
| C | パリティ = A XOR B = 0111 |
※ XORの演算ルール:
1 ⊕ 1 = 0
0 ⊕ 0 = 0
1 ⊕ 0 = 1
0 ⊕ 1 = 1
なので:
A: 1 0 1 1⊕ B: 1 1 0 0 = → 0 1 1 1 → パリティ(C)
【3】復元の仕組み(ディスクが1台故障したとき)
たとえばディスクBが故障した場合:
A: 1011
C: 0111
B: ???(壊れて読めない)
でも、A ⊕ C = B を使えば復元できます!
A: 1 0 1 1⊕ C: 0 1 1 1 = → 1 1 0 0 → 復元されたB
XORは「可逆性」があるため、どの1台が壊れても復元可能になります。
【4】RAIDの種類とパリティの関係
| RAIDレベル | パリティの有無 | 耐障害性 | 説明 |
|---|
| RAID 0 | なし | ×(1台壊れると全損) | ストライピングのみ、高速 |
| RAID 1 | なし(ミラーリング) | ○ | 同じ内容を複製 |
| RAID 5 | あり(XOR) | ○(1台まで) | パリティを分散して格納 |
| RAID 6 | あり(2重のパリティ) | ◎(2台まで) | RAID 5の拡張 |
| RAID 10 | なし(ミラー+ストライプ) | ◎ | 高速で安全だが容量効率低 |
【5】まとめ
| 項目 | 内容 |
|---|
| パリティとは? | データの誤り検出・復元のための冗長情報(RAIDではXOR演算) |
| なぜ使う? | ディスクが壊れても、他のデータとパリティで復元できるようにするため |
| どのRAIDで使う? | RAID 3, 4, 5, 6 など |
| 復元方法は? | XOR演算を逆利用して、壊れたディスクの内容を再計算 |
この記事へのコメント