【ストレージ】 RAID

【1】RAID(Redundant Arrays of Inexpensive Disks, レイド)とは

 * 複数のHDDをまとめて一台の装置として管理する技術
 * 以下のような場合に用いる
   + もしものHDD故障時にもデータ復旧
   + 複数HDDへの分散書き込みによるデータ保存の高速化

【2】RAIDレベル

 * データ およに 冗長ビットの記録方法と記録位置との組合せで区別
 * (★)は。重要。

1)RAID 0 : ストライピング / Striping (★)

* 複数台のディスクを組み合わせて、
 ディスクに対する読み書きの処理を複数のディスクに対して
 同時並行的に実行する
 => アクセス速度を高速化する

イメージ

┌─────────────────────┐
│         制御装置        │
└─┬─────┬─────┬─────┬─┘
  │     │     │     │
┌─┴─┐--┌─┴─┐--┌─┴─┐--┌─┴─┐
│ b0 │ │ b1 │ │ b2 │ │ b3 │
├───┤--├───┤--├───┤--├───┤
│ b4 │ │ b5 │ │ b6 │ │ b7 │
├───┤--├───┤--├───┤--├───┤
│ b8 │ │ b9 │ │ b10 │ │ b11 │
├───┤--├───┤--├───┤--├───┤
│ b12 │ │ b13 │ │ b14 │ │ b15 │
└───┘--└───┘--└───┘--└───┘
 データ   データ   データ   データ
ディスク1 ディスク2 ディスク3 ディスク4

参考文献
http://buffalo.jp/products/catalog/storage/raid/raid0.html
動画
http://storage-system.fujitsu.com/jp/term/raid/raid0_w.html

2)RAID 1 : ミラーリング / Mirroring (★)

 * 同一のデータを複数のディスクに書き込む(バックアップのイメージ)
 => 一方のディスクが故障しても、他方で処理を続行できるようにする

参考文献
http://buffalo.jp/products/catalog/storage/raid/raid1.html
動画
http://storage-system.fujitsu.com/jp/term/raid/raid1_w.html

3)RAID 0 + 1

 * 別名:RAID 10あるいはRAID 0+1、RAID 1+0
 * RAID 0 と RAID 1 を組み合わせる

動画
http://storage-system.fujitsu.com/jp/term/raid/raid1_0_w.html

4)RAID 2

 * エラーを修復するための冗長コードを元のデータとともに、
 複数のディスクにまたがって記録する
 * 冗長コードが多ビットのECC(Error Correcting Code:誤り訂正符号)
 であること
 * データを配分するときの単位サイズがブロック(セクタ)単位ではなく
 bitまたはbyte単位であること

参考文献
http://www.data-sos.com/raid/raid11.html

5)RAID 3

 * 元のデータに冗長コードを加えて複数のディスクに記録する
 * 冗長コードには、RAID 5と同じパリティを採用
 * RAID 5と大きく異なるのは、以下の通り。
  + 各ディスクにデータを配分する際の単位サイズが、
  ブロック(セクタ)単位ではなくbitまたはbyte単位である
  + パリティが特定のディスクに保存される(全ディスクには分散されない)
  + 高速化のためには、複数のディスクをまったく同時に
  読み書きするための同期機能が必要

6)RAID 4

 * RAID 0 のストライピングに、RAID 5と同様に、
 元のデータからパリティを生成して、
   ブロック単位で複数のディスクに記録する
 * パリティを全ディスクに分散するのではなく、
 特定のディスクだけに格納
  => 元のデータとパリティそれぞれを格納するディスクが
  別々に分かれている

動画
http://storage-system.fujitsu.com/jp/term/raid/raid4_w.html

7)RAID 5 : 分散データ・ガーディング (★)

 * ディスクの故障時に記録データを修復するために
 「パリティ」と呼ばれる冗長コードを、全ディスクに分散して保存する

参考文献
http://buffalo.jp/products/catalog/storage/raid/raid5.html

動画 http://storage-system.fujitsu.com/jp/term/raid/raid5_w.html

8)RAID 5 + 1

 * 別名:RAID 50あるいはRAID 0+5
 * RAID 5 と RAID 1 を組み合わせる

動画
http://storage-system.fujitsu.com/jp/term/raid/raid5_0_w.html

9)RAID 6

 * RAID 5の改良版といえる技術で、
 1つのデータ・ブロックにつき2つのパリティを生成
  => 同時に2台のハードディスクが故障しても、元のデータを修復可能

[デメリット]

 * パリティが増えた分、その計算や書き込みの
 オーバーヘッドも増加するため、特に書き込みの性能は高くない
 * パリティ用に2台分のディスク容量を必要とするため、
 ディスクの利用効率はRAID 5より下がる
 * 2台のディスク故障に備えるだけなら、
 RAID 5に後述のホットスペアを組み合わせることでも代替できなくはない

参考文献
http://buffalo.jp/products/catalog/storage/raid/raid6.html
動画
http://storage-system.fujitsu.com/jp/term/raid/raid6_w.html

参考文献

http://ja.wikipedia.org/wiki/RAID
http://www.atmarkit.co.jp/ait/articles/0102/27/news002_2.html
http://www.atmarkit.co.jp/ait/articles/0102/27/news002_3.html
RAID 0 / RAID 1
http://www.atmarkit.co.jp/fwin2k/tutor/raiddic/raiddic_01.html
RAID 2 / RAID 3 / RAID 4
http://www.atmarkit.co.jp/fwin2k/tutor/raiddic/raiddic_02.html
RAID 5 / RAID 6
http://www.atmarkit.co.jp/fwin2k/tutor/raiddic/raiddic_03.html
動画
http://storage-system.fujitsu.com/jp/term/raid/