【ストレージ】 RAID

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

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

RAIDレベル

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

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

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

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

参考文献

http://buffalo.jp/products/catalog/storage/raid/raid1.html

動画

http://storage-system.fujitsu.com/jp/term/raid/raid1_w.html

RAID 0 + 1

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

動画

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

RAID 2

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

参考文献

http://www.data-sos.com/raid/raid11.html

RAID 3

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

RAID 4

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

動画

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

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

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

参考文献

http://buffalo.jp/products/catalog/storage/raid/raid5.html

動画

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

RAID 5 + 1

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

動画

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

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://blogs.yahoo.co.jp/dk521123/34672360.html