基本情報技術者試験では頻出の重要なトピックであるRAIDについて、基本的な概念から覚え方のコツまでをまとめました。
1. RAIDとは
RAID (Redundant Array of Independent Disks) は、複数のハードディスクドライブ(HDD)やSSDを組み合わせて、1つの記憶装置として運用する技術です。主な目的は以下の2つです:
- データの信頼性(冗長性)向上
- 読み書き性能の向上
2. 主なRAIDレベル
RAID 0(ストライピング)
- 複数のディスクに対して、データを分散して書き込む方式
- 特徴:読み書きの速度が向上するが、冗長性はない(1台でも故障するとデータが失われる)
- ディスク利用効率:100%(ディスク容量の合計がそのまま使用可能)
RAID 1(ミラーリング)
- 同じデータを複数のディスクに同時に書き込む方式
- 特徴:1台が故障しても残りのディスクからデータを復元できる、読み込み速度の向上
- ディスク利用効率:50%(2台使用した場合、容量は1台分)
RAID 5
- データとパリティ(誤り訂正情報)を全てのディスクに分散して配置する方式
- 特徴:1台のディスク故障まで対応可能、比較的高い読み書き性能
- ディスク利用効率:(n-1)/n(例:3台構成なら容量は2台分=約67%)
RAID 6
- データとパリティを2重に保持する方式
- 特徴:2台同時のディスク故障まで対応可能、RAID 5よりも冗長性が高い
- ディスク利用効率:(n-2)/n(例:4台構成なら容量は2台分=50%)
RAID 10(または RAID 1+0)
- RAID 1(ミラーリング)とRAID 0(ストライピング)を組み合わせた方式
- 特徴:高い冗長性と高い性能を両立している
- ディスク利用効率:50%(半分がミラーリングに使われる)
3. RAIDの覚え方のコツ
数字でイメージする
- RAID 0: 「0」は「ゼロ」で「冗長性ゼロ」と覚える(壊れると「0」になる=全部消える)
- RAID 1: 「1」は「イチ」で「イチから十まで同じ」と覚える(完全コピーだから)
- RAID 5: 「5」は「互い違い」の形に似ているので「データとパリティが互い違いに分散している」
- RAID 6: 「6」は「5+1」でRAID 5の上位版、パリティが1つ増えたバージョン
特徴で覚える
- RAID 0: 「速さ重視、安全性ゼロ」
- RAID 1: 「鏡(ミラー)のように同じものを2つ作る」
- RAID 5: 「バランス型(速度も安全性も中程度)」
- RAID 6: 「超安全型(2台故障しても大丈夫)」
- RAID 10: 「速さと安全性の両取り」(でもコストも両取り=高い)
利用効率の覚え方
- RAID 0: 100%(全てが使える)
- RAID 1: 50%(半分は予備)
- RAID 5: (n-1)/n(1台分がパリティ用)
- RAID 6: (n-2)/n(2台分がパリティ用)
- RAID 10: 50%(半分は予備)
4. パリティの基本概念
パリティとは、データの整合性を検証したり、失われたデータを復元したりするために使用される「誤り検出・訂正」のための情報です。
簡単な例で理解する
例えば、3つの数字(データ)があるとします:
- 5, 7, 3
ここで「排他的論理和(XOR)」を使用してパリティを計算します。XORは「ビットごとに比較して、同じ値なら0、違う値なら1」になる計算です。
5 = 101(2進数)
7 = 111(2進数)
3 = 011(2進数)
ビットごとにXOR計算すると:
1 0 1 (5)
1 1 1 (7)
0 1 1 (3)
--------- XOR
0 0 1 = 1(パリティ)
XOR演算の詳しい計算過程
上記の計算をビット単位で詳しく見ていきましょう:
1桁目(一番右のビット):
- 5の1桁目: 1
- 7の1桁目: 1
- 3の1桁目: 1
- XOR計算: 1⊕1 = 0(同じ値だから)、さらにその0⊕1 = 1
2桁目(真ん中のビット):
- 5の2桁目: 0
- 7の2桁目: 1
- 3の2桁目: 1
- XOR計算: 0⊕1 = 1、さらにその1⊕1 = 0 (同じ値)
3桁目(一番左のビット):
- 5の3桁目: 1
- 7の3桁目: 1
- 3の3桁目: 0
- XOR計算: 1⊕1 = 0、さらに0⊕0 = 0
- または「1」が2個(偶数個)あるので結果は「0」
これを合わせると「001」(2進数)= 1(10進数)となり、これがパリティ値です。
(> XOR演算は「各桁で1の個数が奇数個なら1、偶数個なら0」という法則でも考えることができます。)
この「1」がパリティ値です。もし元のデータの1つが失われてしまった場合、残りのデータとパリティを使って復元できます。
例えば、「7」が失われたとします:
5 = 101
? = ???(失われた7)
3 = 011
1 = 001(パリティ)
XOR計算の特性を使うと、残りの値とパリティ値からXORを計算すれば、失われた値が復元できます:
101 (5) XOR 011 (3) XOR 001 (1) = 111 = 7
RAIDでのパリティの使われ方
RAID 5の場合
- 3台以上のディスクを使用
- データとパリティ情報が全ディスクに分散配置される
- 1台のディスクが故障しても、残りのディスクとパリティ情報から失われたデータを再現できる
例えば4台のディスクがあるRAID 5システムでは:
ディスク1: データA, データD, データG, パリティJKL
ディスク2: データB, データE, パリティGHI, データJ
ディスク3: データC, パリティDEF, データH, データK
ディスク4: パリティABC, データF, データI, データL
ディスク2が故障したとしても、ディスク1、3、4とそれぞれのパリティ情報から、ディスク2のデータ(B、E、J)を復元できます。
RAID 6の場合
- 2種類のパリティ情報を持つため、2台同時に故障しても大丈夫
- より高度な計算方法を使用(リード・ソロモン符号など)
パリティのイメージとしては「バックアップ用の情報」と考えると分かりやすいかもしれません。ただし通常のバックアップと違い、元データの完全コピーではなく、「復元するための情報」が圧縮された形で保存されています。
5. RAIDの選定ポイント
選定に当たっては、以下の要素を考慮します:
- 信頼性の要件(どの程度のディスク故障に耐えるか)
- パフォーマンスの要件(読み書き速度)
- コスト(必要なディスク数や利用効率)
- 障害復旧時間(リビルド時間)
6. 基本情報技術者試験での出題ポイント
- 各RAIDレベルの特徴と違い
- 利用効率の計算方法
- 特定のRAIDレベルが適している用途
- 冗長性と性能のトレードオフ
試験では、特定の要件に対して最適なRAIDレベルを選択する問題や、利用効率を計算する問題がよく出題されます。
まとめ
RAIDについては完全に暗記するのではなく、基本的な仕組みと特徴を理解することで記憶しやすくなります。特に、各RAIDレベルの「特徴」と「利用効率」を重点的に覚えることが、試験対策として効果的です。