RAID
RAID 1は複数台のハードディスクに、同時に同じ内容を書き込む。これをミラーリングと呼ぶ。最もシンプルな方式であり、RAIDの弱点であるコントローラの故障にも対応しやすい。最低2台のドライブが必要である。
全てのディスクが同時に故障する可能性は低いため、システムの安定性は高い。
例えば、単位時間当たりのドライブの故障率を1%として2台でRAID 1を構成する場合、アレイの故障率は0.01% (0.01*0.01=0.0001) と1/100となる。
ただし、利用可能な容量は単体のハードディスク容量を超えない。台数が増えるほど容量効率が悪くなる。効率重視ならばRAID 5の方がよい。
本来読み出しは、一つのドライブからのみでそれ以外はバックアップである。全てのディスクから読み出せば、理論上、高速に読み出せる。
初期のネットワークOSであるNetware 2.x、3.
RAID 0とRAID 1を組み合わせた構成を特別にRAID 0+1 (RAID 01) およびRAID 1+0 (RAID 10) と呼ぶ。高速化、大容量化を目指したRAID 0と高信頼性を求めたRAID 1を組み合わせることにより、速度、容量、耐障害性の向上を図ることができる。最低4ドライブ必要である。
RAID 0とRAID 1は相性がよく、 RAID 1の特性によりRAID 0の弱点であったランダムアクセスも高速化できる。RAID 1を使用しているためコントローラの2重化にも対応できるので、容量が必要でなおかつ強力な耐障害性を求める場合に採用されることが多い。
RAID 0とRAID 1、どちらを下層で行うかにより名前が変わる。0または1は、下層で行われる処理を先に表記する。一見どちらも同じように見えるが耐障害性の面で異なる。
RAID 0+1 : ストライプされた領域をミラーリング
RAID 1+0 : ミラーセットをストライプ
ドライブ故障への耐性はRAID 1+0のほうが優れている。RAID 0+1ではRAID 1を構成するRAID 0領域のドライブそれぞれ1台ずつが故障した時点でデータが破壊されるが、RAID 1+0ではRAID 0を構成するRAID 1セットの構成ドライブ2台がどちらも故障しない限りデータは破壊されない。台数が増えれば増えるほどRAID 1+0のほうが耐障害性が上がる。コントローラ故障への耐性はRAID 0+1が上回る局面も存在しうるが、基本的にはRAID 1+0のほうが優れていると考えてよい。
この方式は、RAIDコントローラと呼ばれるカードを装置に取り付け、パリティ演算やディスクの管理などを任せるものである。ドライバさえ用意すればハードウェア側のマシンパワーに影響を与えず、カード自体に専用のキャッシュメモリを搭載している場合はアクセスの高速化が見込める。一部のマザーボードにはRAIDコントローラをあらかじめ実装している製品がある。
純粋なハードウェア方式では、ホストが僅かな指示を送るだけでRAIDコントローラが具体的な処理を全て行うため、CPUの負荷が低減される。しかし、コントローラ毎に制御方法が異なるため、OS側で各RAIDコントローラカードへの対応が必要であり、専用のデバイスドライバが必要となる。
一方、RAIDコントローラカードの中には、RAID機能の大部分をソフトウェアで実現しているものもある。この場合、OS起動前にある程度のRAID機能を使用可能であるがCPUの負荷はソフトウェア方式と大差が無く、ハードウェア方式に比べて対応OSが限定されたり信頼性に乏しい場合があり、ソフトウェア方式に分類される。
RAID 6単体と比較して耐障害性が強化され、高いディスク利用効率も兼ね備える。最小12ドライブを要し、5ドライブまでの故障に耐えられる。
RAID 5においてパリティはパリティ用領域に使用されるディスク以外のXORで水平方向のパリティ (PH) をとる。水平パリティはそれぞれのディスクに格納され、1台のディスク障害に耐えることができる。ディスク障害時は障害の発生したディスクのXORによる再計算で復元が可能である。 データ書き込み時におけるパリティ計算方法の一例を下記に掲載する(An、BnはA1 B1 A2 B2 A3 B3の順に並んだデータブロック)。
A1/B1/PH1/ A2/PH2/B2/ PH3/A3/B3/
PH1=A1+B1 PH2=A2+B2 PH3=A3+B3