RAID0はストライピングと呼ばれ2つ以上のハードディスクを1つのハードディスクのように使える機能のことを言います。遅いハードディスクでも、速度を速くすることができます。
しかし、データの安全性の面では落ちます。2つのハードディスクの中で一つにエラーが発生した場合、残りのハードディスクのデータも一緒に失うことになります。この場合は、エラーが発生したハードディスクを物理的/論理的に復旧した後、二つのハードディスクを組み合わせデータ復旧作業をおこないます。
RAID関連技術文書について
RAID1は、ミラーリング(Mirror; 鏡) 機能を使います。
一番目のハードディスクの内容と同じ内容を2番目のハードディスクにそのままコピーします。
このようにすれば、片方のハードディスクにエラーが発生した場合でも、残りのハードディスクに同じデータが残っていますので復旧することができるようになります。RAID1はデータの安全性が最も重要視される所で使われています。
理論上では必ず復旧が可能です。しかし、一つのハードディスクからエラーが発生した場合、ミラーリングされたハードディスクにもエラーが発生する場合が多くあり、復旧が難しい時もあります。
3つ以上のハードディスクを使わなければなりません。5つのハードディスクを使うのが一般的です。
パリティーがそれぞれのハードディスクに分けられて保存されます。
基本的に xor演算を使った復元方式を使います。
5個のハードディスクを Raid5で組んでご利用の場合、図のようにn1XORn2の値がパリティー値となりディスクを順次に循環してパリティー値を記録するようになります。
"データ(数字)-*"は n1XORn2 結果値と同じ意味です。
xor演算の形態は次の通りです。
パリティー値の算出は下記のように計算されます。
データ1-1 xor データ1-2=> (値) xor データ1-3=> (値) xor データ1-4 => データ1パリティー生成
データ2-1 xor データ2-2=> (値) xor データ2-3=> データ2パリティー生成 データ 2-4
例えば、3番目のハードディスクが故障したとすれば下のようなになります。
ハードディスク rebuild XOR演算をして見ると
値がすべて復旧されました。こういう過程をデータ再構築(data rebuilding)と言います。
同時にエラーが発生する場合はそれほどありませんが、もし一つではなく、二つにエラーが出たなら問題が大きくなります。
また、一つのハードディスクが故障した場合、ハードディスク4つでも作動可能ですが、適切な後処理ができなければ、トラブルは深刻になります。
速度と安全性、この二つを満足させる機能です。この機能を構築するためには 4つのハードディスクが必要となります。
例えば20G HDD 4つを、 primaryと Secondaryそれぞれ masterと slaveに接続し、raid0+1(ストライプ+ミラーリング)機能で RAID 40G ディスクとして使います。
80G分のハードディスク用量でありながら40G((stripe40G=20G+20G)x(Mirror=1)) のハードディスクとして使うということは、容量的な面ではロスがありますが、速度と安全性の面では最も效率的な方法と言えます。
復旧原理はレベル 0 と同じです。
大部分の障害はトラブルが発生した後、どのような処理がなされたのかによって復旧率が大きく変わってきます。適切な後処理で大切なデータを安全に守って下さい。