RAID
0.改定履歴
- 1997.10.09 初版
- 1999.10.02 Quick Referenceの追加
- 2001.02.18 RAID10の追加
- 2002.10.14 図解を入れてみた.
1.RAIDとは?
RAIDは,"Redundant Arrays of Inexpensive (or Independent) Disks"の略で,“レイド”と発音される.
ディスクアレイとRAIDはほぼ同じ意味と思って良い. RAIDはPattersonらがディスクアレイを分類するために定義した言葉である.元々はRAID1から5であったが,0もよく使われる. また,最近ではそれぞれを拡張した手段もある.
2.レベル0(RAID0)
デイスクストライピングによる性能の向上.
安価に入出力速度を向上させることができる.複数のディスクドライブにファイルを分割することができるため,小規槙でシーケンシヤルな入出力が頻繁に繰り返されるソフトウェアの場合にはとくに有効である. データの冗長性を保証する機能は無いので,1つの物理ディスクが破損するとすべのデータは破壊される.
ディスクのアドレス空間を数十KBごとくらいに分割,複数のディスクにインタリーブして配置することが多い.
3.レベル1(RAID1)
ディスクミラーリングによって冗長性と信頼性を確保.
2台のディスクドライブを使ってデータを二重化する機能を実現する. ディスクの使用率は一番悪い.
4.レベル2(RAID2)
ハミングコードによる冗長性.
レベル1の拡張で,ディスク間でデータが平行的に転送される際,特別なコード(ハミングコード)を使ってエラーの検出と訂正を行なうことができる.
5.レベル3(RAID3)
ディスクストライピングに冗長性を付加.
パリテイチェックに専用のデイスクドライブを使い,ドライブのシーケンシャルなアクセスの性能を向上させる.
書き込まれたデータを1バイトなどの小さい単位に分割したうえ,パリティコードを生成し、n+1台のディスクに同時並列に書き込む.読み出しも並列.ディスク1台が壊れたら残りのデータとパリティを用いてデータを復元する.
6.レベル4(RAID4)
ストライピング,冗長性,同時入出力.
レベル3と同様に専用のディスクドライブ1台を必要するが,マルチタスクシステムの性能を向上させることができる. RAID3との違いは分割単位の大きさとパリティ生成方法. 小さなデータは1台のディスクのみにアクセスすればよい.
7.レベル5(RAID5)
ストライピング,冗長性,同時入出力.
パリティとデータをストライピングによって複数のデイスクに分割し,消失したデータをリストアすることが可能. 規槙の小さな入出力が頻繁に繰り返されるソフトウェアでは特に性能の向上が期待できる. パリティディスクへの負荷の偏りを避けるため,パリティデータがn+1台のデータに分散するように配置を工夫している.
8.レベル10(RAID10)
RAID0とRAID1を組み合わせたもののことを言う. ストライプミラー.
データウェアハウスシステムのような,高速にReadしたい場合に有効.
9.Quick Reference
- レベル0
- 冗長性のないディスク配列(ストライプ化)
- レベル1
- ミラー化されたディスク配列
- レベル2
- メモリで採用されている形式のエラーコード訂正(ECC)
- レベル3
- ビットインターリーブ形式のパリティ
- レベル4
- ブロックインターリーブ形式のパリティ
- レベル5
- ブロックインターリーブ形式の分散パリティ
- レベル6
- P+Q冗長
10.RAIDを図解で説明する
10.1.RAID0のイメージ
- RAID0を図にすると,次のようになる.
- 最低2本のハードディスクが必要.
- 格納できるデータ容量は,ディスク2本分.
- 並列にデータを読み書きするため,高速.
- このように複数のディスクにデータが保存されている状態を,「ストライピング」という.
- ただし,冗長化されれていないため,1つのハードディスクが故障するとデータ全てが失われる.
10.2.RAID1のイメージ(RAID2も同じらしい)
- RAID1を図解すると,次のようになる.
- 最低2本のハードディスクが必要.
- 格納できるデータ容量はディスク1つ分.
- データ書き込みは,2つのディスクに書き込むので,ディスク1本と変わらないか若干落ちる.
- 書き込みの同期を取るため若干遅いはず.(コントローラの性能による)
- データ見込みは,2つのディスクから読み込めるので,論理的には2倍のスピードがでる.
- 実際には2倍にならない.
- また,RAIDコントローラによっては並列読みとりしないので,速度向上がない場合もある.
10.3.RAID4のイメージ(RAID3も同じ)
- RAID4を図解すると,次のようになる.
- 最低3本のハードディスクが必要.
- 格納できるデータ容量は,構成本数-1本分.
- 図のように3本の場合は2本分,10本の場合は9本分.
- データは,ストライピングされてデータ用ディスクに書き込まれる.
- データ復旧用のパリティ情報は,パリティ専用ディスクに書き込む.
- RAID3は,ビット単位.
- RAID4は,ブロック単位.
- RAID4を実装した製品では,Network ApplienceのFillerがある.
- ディスク本数を増やす事で,同時並列度を向上させられる.
10.4.RAID5のイメージ
- RAID4を図解すると,次のようになる.
- 最低3本のハードディスクが必要.
- 格納できるデータ容量は,構成本数-1本分.
- 図のように3本の場合は2本分,10本の場合は9本分.
- データもパリティも,ストライピングされてディスクに書き込まれる.
- 読み書き速度を均等に向上させるには,このRAID5でディスク本数を増やした方がよい.
10.5.RAID10(RAID0+1)のイメージ
- RAID10(0+1)を図解すると,次のようになる.
- 最低4本のハードディスクが必要.必ず偶数本となる.
- 格納できる容量は,構成本数÷2本分.
- データの読み込みを一番高速化させる構成といえる.
参考文献
- Solistice DiskSuite4.1リファレンスマニュアル
- Part No:805-0296-10 1997.02 Revision A