RAID

RAID(Redundant Arrays of Inexpensive Disks)は、2つ以上のディスクを組み合わせて、信頼性向上・ディスク容量拡大・アクセス性能向上を行うアプローチである。
かつて、メインフレームに利用されるストレージや性能の高いディスク装置は非常に高価であった。RAIDは、安価なディスクを用いて、これらの要件を低いコストで実現する代替手段として考案されたものである。

当初は大規模システムへの導入が一般的であったが、IAベースの小規模サーバへの導入も普通に行われるようになり、一般ユーザのPCへも利用されるほどに普及した。これは、近年大容量化の進んだディスク上へ様々な情報を蓄積するようになりディジタルデータに対する重要性が非常に高まり、またそれに加え安価なマザーボードのオンボードチップセットにさえもRAIDコントローラが内装されるようになったからである。

RAIDは冗長化の手段であり、バックアップではないことに注意が必要である。
冗長化とは、ディスクシステムそのものの信頼性を高めるものである。バックアップはある時点でのデータの再現を保証するものであり、前者はハードウェア故障に伴うデータ破壊に対処し、後者はソフトウェア故障や人為的ミスによるデータ破壊に対処している。

実装

RAIDは、ハードウェアRAIDとソフトウェアRAIDの2種類に分類される。

ハードウェアRAID

ハードウェアによるRAIDコントローラを介してRAIDされたディスク装置へアクセスする。したがって、カーネル側からはあたかも1つのディスクが接続されているかのよう見える。
多くのハードウェアRAIDコントローラは、カーネル側から僅かな命令を送る程度で符号等の演算を全てハードウェアによって処理するため高速に処理することができるが、安価な製品であると処理の多くをソフトウェアによって実現する必要があるため、CPUリソースを多く食いパフォーマンスが低い場合がある。

このため、RAIDコントローラの選定には、注意が必要である。

ソフトウェアRAID

カーネル側で複数のディスク装置を認識し、ソフトウェアによって擬似的にRAIDを実現する技術である。ハードウェアRAIDでは、物理的なディスクの全てを利用してRAIDを実現したが、ソフトウェアRAIDではパーティションごとに組み合わせることが可能となっている。
Linuxでは、2.4以降で標準として実装されている。


構成(RAIDレベル)

パフォーマンス(信頼性/ディスク容量/アクセス性能)を高めるアプローチは、その用途や要件に合わせて複数種類提供され、RAIDレベルと呼ばれる番号が与えられている。

しかしながら、RAIDが論文として発表されてから多くの時間が経過したということもあり、様々な派生が出現している。RAIDは信頼性に重きを置いたアイデアであるため、論文には存在しない、信頼性を無視してディスク容量の拡大のみに特化したストライピングと呼ばれる構成は、RAID0と呼ばれている。また、RAIDのアイデアを発展させた互換性のない派生仕様に対しては、新しい番号を与えてRAIDの一種として扱うのが一般的となっている。

ここでは、あまり利用されていないRAID2~3については割愛し、主流となっている他のRAIDレベルについて説明する。

RAID0(ストライピング)

複数のディスクへ分散してデータを書き込み、1台のディスクとして扱う方式である。
大容量のディスクを作成することができるというメリットがある反面、ディスクが1台でも破損するとデータの復元ができないため信頼性は低くなるというデメリットがある。

RAID1(ミラーリング)

複数のディスクへ同一のデータを書き込み、1台のディスクとして扱う方式である。
ディスクが1台破損しても別のディスクが同一のデータを持つため信頼性が高いというメリットのある反面、何台追加してもディスクアレイ内で最も小さな容量を持つディスク容量分のデータしか扱えないというデメリットがある。

近年のディスクは非常に安価であるため、そこまで大規模でないサーバではよく利用される。

RAID4

RAID1と同様にストラピングが行われるが、この際冗長として持たされるデータはRAID1のようにミラーされた情報ではなく、パリティ情報と呼ばれる小さな情報である。

パリティ情報はデータ破損時にデータの復元が行えると同時に、対象となるデータの1/2の情報のみでそれを実現することを可能とする。したがって、最低でも3台のディスクを必要とし、2台をデータ用領域、1台をパリティ用領域として扱う。

1台100Gのディスクをアレイ化した場合200Gの領域を利用でき、RAID1より効率が高い。しかし、パリティ情報の生成には処理コストがかかるため、パフォーマンスが低下するというデメリットがある。

RAID5

RAID4はどれだけ多くのディスクをアレイ化してもパリティ用の1台のディスクに速度が縛られるため、速度面でもパフォーマンスは良くない。このため、実際にはあまり利用されない。

RAID5は、パリティ用領域を複数のディスクへ分散して書き込むことで、RAID4の持つ問題を解決した。この方法では、1台のディスクへ偏ってデータアクセスが発生することが無い。

  • 最終更新:2009-12-13 23:23:37

このWIKIを編集するにはパスワード入力が必要です

認証パスワード