☰
ホーム ラインナップ サポート ニュース ログイン
サポート > 活用ガイド> RAIDの選択


■RAIDの選択


RAID を採用するに際に、どのレベルのRAIDを選択すればよいのか、判断基準と各レベルの特徴をご紹介します。

※ RAID (レイド)
 複数の HDD をまとめて 1 台の仮想ディスクとして扱う仕組みです。

RAID の判断基準

各 RAID レベルの特徴

ワンポイント


  耐障害性   高速化と大容量化 最低必要HDD数
RAID 0 (ストライピング) ・・・・・ ☆☆☆☆☆ 2 台
RAID 1 (ミラーリング) ☆☆☆☆☆ ・・・・・ 2 台
RAID 5 (パリティ分散) ☆☆・・・ ☆☆☆☆・ 3 台
RAID 6 (複数パリティ分散) ☆☆☆☆・ ☆☆・・・ 4 台
RAID 1+0 ☆☆☆・・ ☆☆☆・・ 4 台
RAID 10 ☆☆☆・・ ☆☆☆・・ 2 台


耐障害性



耐障害性とは読んで字のごとく障害への耐性です。 RAIDでの障害とは大まかに HDD 故障を意味します。 HDD 故障時にもシステムの運用を継続できるかどうかという意味での耐性です。 ただし、1台の HDD が故障する確率は HDD の数を増やすだけ上がります。 故障の確率を下げるという意味ではない点に注意が必要です。
RAID 1 が最も耐障害性が高く、 RAID 6 と RAID 5 が続きます。

※ HDD 故障の他に、ハードウェアレベルではRAIDコントローラ故障やマザーボードの故障、そしてソフトウェアレベルでは仮想ディスクの故障やファイルシステムの破壊なども考えられます。

RAID 1(4台構成)RAID 6(4台構成)RAID 5(4台構成)
HDD 11234
HDD 21234
HDD 31234
HDD 41234
HDD 11QP8
HDD 223QP
HDD 3P45Q
HDD 4QP67
HDD 11P9A
HDD 224PB
HDD 3357P
HDD 4P68C
3台故障まで耐える 2台故障まで耐える 1台故障まで耐える


バックアップと RAID の違い



HDD 故障リスクへの対策としてバックアップという方法もあります。 RAID では、障害発生時にも運用を続けることを主目的としています(RAID 0 を除く)。 一方でバックアップは、データ損失を防ぐことを主目的としています。 障害発生時には停止してもよいシステムであれば、 RAID ではなく、バックアップを検討した方がよいかもしれません。 また、RAID を構築している場合にも、マシン全体が災害に遭遇する可能性なども考慮し、重要なデータは別途バックアップすることをお勧めします。 バックアップは、別の HDD やメディアにコピーし、別の場所に保管し、必要ならば別のシステムへ変換するなど、複数の方法をとることによりリスクを軽減できます。


高速化



RAID は複数の HDD をまとめて 1 台の仮想ディスクとして扱う仕組みですが、 単に単体の HDD 搭載台数に応じて容量を増加させるだけでなく、 1つのデータを複数台の HDD に分散して同時に読み書きを行うことで、 単位時間あたりのデータ転送量すなわち速度を向上させることが出来ます。 基本的には、RAID では容量を増加させる分だけ速度が向上します。
RAID 0 のストライピングがこの最たるものです。 RAID 5 や RAID 6 でも、ある程度は速度が向上します。

※ HDD のシーク待ち時間により逆に性能が低下する場合があります。
※ パリティ計算ではCPUに負荷がかかるため、CPU待ち時間により性能が低下する場合があります。

RAID 0(4台構成)RAID 5(4台構成)RAID 6(4台構成)
HDD 1159
HDD 226A
HDD 337B
HDD 448C
HDD 11P9A
HDD 224PB
HDD 3357P
HDD 4P68C
HDD 11QP8
HDD 223QP
HDD 3P45Q
HDD 4QP67
     ↑
単位時間あたり最大4データ
読み書き可能(4倍速)
     ↑
単位時間あたり最大3データ
読み書き可能(3倍速)
     ↑
単位時間あたり最大2データ
読み書き可能(2倍速)


大容量化



ボリュームの大容量化は RAID の当初は主目的でしたが、昨今では HDD 単体での容量が大幅に増加したため、容量を気にする状況は希になりました。

RAID 全般として、耐障害性を高めるために冗長化すると、データ領域の容量は小さくなります。
データ領域の容量を多く確保しようとすると、データを分散できる恩恵で高速化が見込めます。


RAID 0



RAID 0 は データを複数台の HDD に分散して同時に読み書きを行うことで高速化と大容量化を実現します。 ストライピングとも呼ばれます。 HDD 2台以上で構築でき、基本的には HDD の台数だけ倍に高速になります。 複数台の HDD 全ての容量を、データ保存領域として使用可能です。 データがに分散されているため、 1 台の HDD が故障しただけで全てのデータが一部欠損してしまうので、耐障害性は全くありません。 むしろ HDD 単体の時よりもデータ損失のリスクは高くなります。

※ マザーボードなどでI/Oのバス幅が高速化の限界値になります。
※ シーク待ち時間により逆に性能が低下する場合があります。
  (大量の小さなファイルを扱う場合や、 HDD 台数を増やしすぎた場合などに問題になります。)

正常時(2台構成)1台故障=データ欠損
HDD 1135
HDD 2246
HDD 1135
HDD 2246
     ↑
単位時間あたり最大2データ読み書き可能(2倍速)
 
正常時(4台構成)1台故障=データ欠損
HDD 1159
HDD 226A
HDD 337B
HDD 448C
HDD 1159
HDD 226A
HDD 337B
HDD 448C
     ↑
単位時間あたり最大4データ読み書き可能(4倍速)


RAID 1



RAID 1 は データを複数台の HDD に全く同じ読み書きを行うことで耐障害性を向上します。 ミラーリングとも呼ばれます。 HDD 2 台以上で構築でき、正常な HDD が残り 1 台 となるまでの故障に耐えます。 1 台分の HDD の容量がデータ保存領域として使用可能で残りの HDD は全てミラーとなります。 高速化と大容量化は目的としていません。

※ Linux MD(LinuxカーネルによるソフトウェアRAID)では、読み込みリクエストは全ての HDD に行い、シーク待ち時間が最短となるように高速化がされています。
※ 一部の RAID 1 の実装では、さらに読み込み時にのみストライピングのような高速化を実現している物もありますが、Linux MD では実現されていません。
※ Linux MD では、HDD 2 台以上で構築できる RAID 1 で、かつ高速化を目指したものとして RAID 10 を選択することが出来ます。

正常時(2台構成)1台故障(運用可)
HDD 1123456
HDD 2123456
HDD 1123456
HDD 2123456
 
正常時(3台構成)2台故障(運用可)
HDD 1123456
HDD 2123456
HDD 3123456
HDD 1123456
HDD 2123456
HDD 3123456


RAID 5



RAID 5 は データを複数台の HDD に分散させて高速化と大容量化を実現しつつ、 パリティと呼ばれる誤り訂正符号データも記録することで耐障害性を向上します。 HDD 3 台以上で構築でき、1 台 までの故障に耐えます。 HDD を N 台とすると、N - 1 台分の容量をデータ保存領域として使用可能で、 ほぼ N - 1 台分のストライピング相当の高速化と大容量化が実現します。 ソフトウェアRAIDでは書き込み時にパリティ計算のためにCPUを使用して計算を待つために速度が低下しますが、最近の CPU を使用していれば大きな問題にはなりません。 HDD が 1 台故障している状態では、 RAID 0 と同程度となり耐障害性は全くなくなるため、障害からの復旧作業中に障害が発生してしまうと、回復不能となります。

※ RAID 5 で HDD が 1 台故障している状態では、パリティからデータを生成するため、読み込み速度も低下します。

正常時(3台)1台故障(運用可)
HDD 113^45
HDD 2235^6
HDD 31^246
HDD 113^45
HDD 2235^6
HDD 31^246
     ↑
単位時間あたり最大2データ
読み書き可能(2倍速)
        ↑
パリティ[3^4]と現存データ[3]
から欠損データ[4]を復元


RAID 6



RAID 6 は、RAID 5 のパリティを冗長化したもので、RAID 5 よりも耐障害性を向上します。 HDD 4 台以上で構築でき、2 台 までの故障に耐えます。 HDD を N 台とすると、N - 2 台分の容量をデータ保存領域として使用可能で、ほぼ N - 2 台分のストライピング相当の 高速化と大容量化が実現します。 ソフトウェアRAIDでは書き込み時にパリティ計算のためにCPUを使用して計算を待つために速度が低下しますが、最近の CPU を使用していれば大きな問題にはなりません。 HDD が 1 台故障している状態でも、まだ RAID 5 と同程度の耐障害性を保持しています。

※ RAID 6 で HDD が 1 台または 2 台故障している状態では、パリティからデータを生成するため、読み込み速度も低下します。

正常時2台故障時(運用可)
HDD 113?45^6
HDD 2235?6
HDD 31^245
HDD 41?23^46
HDD 113?45^6
HDD 2235?6
HDD 31^245
HDD 41?23^46


RAID 1+0



RAID 1+0 は、 RAID 1 の耐障害性と RAID 0 の高速化と大容量化とを同時に実現します。 一般的には RAID 10 とも呼ばれますが、このページでは下記の RAID 10 と区別して表現します。 HDD 4 台以上で構築でき、最低でも 1 台、最大で半数の故障にまで耐えます。 HDD を N 台とすると、全体の半分である N / 2 台分の容量をデータ保存領域として使用可能で、ほぼ N / 2 台分のストライピング相当の 高速化と大容量化が実現されます。 また、RAID 0 の弱点であったシーク時間の問題も RAID 1 の特性で解決されています。

※ 類似で RAID 0+1 も構築可能ですが、耐障害性が劣るため、あまり使用されていません。

正常時2台故障時(運用可)2台故障時(データ欠損)
HDD 1135
HDD 2135
HDD 3246
HDD 4246
HDD 1135
HDD 2135
HDD 3246
HDD 4246
HDD 1135
HDD 2135
HDD 3246
HDD 4246


RAID 10



RAID 10 は、一般的には RAID 1+0 を意味し 4 台以上の HDD が必要ですが、 Linux MD(LinuxカーネルによるソフトウェアRAID)では 2 台以上の HDD で相当のRAIDが実現されていおり、このページでは区別して表現します。 レイアウトに near far offset などの種類があり、デフォルトのレイアウトは near です。 読み込み速度、書き込み速度、耐障害性にそれぞれ違いがあります。 データのミラー(copies)の数はデフォルトで 2 で、最低でも 1 台、最大で半数の故障にまで耐えます。 コピーの数を増やすと、高速化と大容量化を犠牲にして耐障害性をさらに向上します。

near(2台 2copies)far(2台 2copies)offset(2台 2copies)
HDD 1123456
HDD 2123456
HDD 1135...246...
HDD 2246...135...
HDD 1123456
HDD 2214365
RAID 1 に類似
縮退時に減速しにくい
読み出し時は RAID 0 相当に高速
書き込み時、縮退時は低速
読み出し、書き込みとも
near と far の中間
 
near(3台 2copies)far(3台 2copies)offset(3台 2copies)
HDD 11245
HDD 21346
HDD 32356
HDD 114...36...
HDD 225...14...
HDD 336...25...
HDD 11346
HDD 22154
HDD 33265


RAID 4 / RAID 3 / RAID 2



RAID 5 の前身にあたる、RAID 4 / RAID 3 / RAID 2 がありますが、現在では使用されていないので省略します。



参考






[作成日 2011/04/25]