サーバって、ハードディスクが壊れたら大事なデータが全部消えちゃうんですか?
そうならないように、ディスクを何台か組み合わせて1台のように使う工夫があるんだ。それが RAID(レイド)。ノートを友達と分担して書いたり、コピーを取ったりするイメージだよ。
RAIDとは
RAID(レイド)は、複数のディスクを組み合わせて、1台の大きなディスクのように使う技術 です。組み合わせ方によって RAID0、RAID1、RAID5、RAID6 などの種類(レベル)があり、目的が違います。
- 速くする(読み書きを複数台で分担する)
- 壊れにくくする(1台が壊れてもデータを失わない = 冗長化)
RAID0とRAID1
RAID0(ストライピング) は、データを細かく分けて 複数のディスクに分散して書き込み ます。2人で1冊のノートを分担して書くと速く終わるのと同じで、読み書きが高速 になります。ただし予備の情報を持たないため、1台でも壊れるとデータを失います。
RAID1(ミラーリング) は、同じデータを2台のディスクに書き込み ます。鏡(ミラー)に映したように同じ内容を持つので、1台が壊れてももう1台で使い続けられます。そのぶん、使える容量は全体の 半分 になります。
RAID5:パリティで復元する
RAID1は安全ですが、容量が半分になるのがもったいない。そこで登場するのが RAID5 です。データと一緒に パリティ という 復元用の情報 を書き込み、1台が壊れても残りのディスクから計算でデータを復元します。
パリティのイメージ(足し算で考える)
ディスク1に「3」、ディスク2に「5」を記録し、パリティとして合計の「8」を別のディスクに記録しておきます。
ディスク2が壊れても、8 − 3 = 5 と計算すれば、失われた「5」を復元できます。
(実際には足し算ではなく、排他的論理和(XOR)という計算を使いますが、考え方は同じです。)
RAID5では、パリティを特定の1台に集めず、すべてのディスクに分散して 書き込みます。
RAID5の要点は次のとおりです。
- 最低3台 必要
- 1台の故障 までなら復元できる(2台同時に壊れると復元できない)
- 使える容量は (台数 − 1)台分
RAID6 は、パリティを 2種類(2重) 持つ方式です。2台が同時に故障しても 復元でき、使える容量は (台数 − 2)台分、最低4台必要です。
4つの方式を比較する
| 方式 | 別名 | 仕組み | 故障に耐えられる台数 | 使える容量(n台) | 最低台数 |
|---|---|---|---|---|---|
| RAID0 | ストライピング | 分散して書き込む | 0台(冗長性なし) | n台分 | 2台 |
| RAID1 | ミラーリング | 同じデータを2台に書く | 1台 | 全体の半分 | 2台 |
| RAID5 | — | データ+パリティを分散 | 1台 | n − 1台分 | 3台 |
| RAID6 | — | データ+2重パリティを分散 | 2台 | n − 2台分 | 4台 |
容量2TBのディスク5台で構成したとき、使える容量は?
- RAID0:5 × 2TB = 10TB
- RAID5:(5 − 1)× 2TB = 8TB
- RAID6:(5 − 2)× 2TB = 6TB
容量4TBのディスク2台をRAID1にしたとき:4TB × 2台 ÷ 2 = 4TB
RAID0 は「0(ゼロ)= 冗長性ゼロ」、RAID1 は「1台分のコピー」、RAID5・6 は「パリティで復元」。RAID6は5より1台多く壊れても大丈夫、と数字に結び付けて覚えよう。
RAIDを組んでおけば、バックアップはいらないですね!
そこは要注意! RAIDはディスクの故障には強いけど、うっかりファイルを消したり、ウイルスに壊されたりすると、その操作もそのまま全ディスクに反映されてしまう。だからバックアップは別に必要なんだ。
試験に出るポイント
- RAID0(ストライピング):分散書き込みで高速化。冗長性なし、1台の故障でデータを失う
- RAID1(ミラーリング):同じデータを2台に書く。使える容量は 半分
- RAID5:パリティを分散して記録。1台の故障まで 復元でき、容量は (n − 1)台分、最低3台
- RAID6:2重パリティ。2台の故障まで 復元でき、容量は (n − 2)台分
- RAIDは バックアップの代わりにはならない