[基礎解説]
RAID基礎辞典

3.RAID 5とRAID 6とは

デジタルアドバンテージ 小林 章彦
2010/10/21
Page1 Page2 Page3

RAID 5

 RAID 5は、耐障害性の向上と高速化、大容量化のすべてを実現できるRAID技術である。分散データ・ガーディングとも呼ばれる。RAID 5では、ディスクの故障時に記録データを修復するために「パリティ」と呼ばれる冗長コードを、全ディスクに分散して保存するのが特徴だ。

RAID 5の動作原理
RAID 5は、エラーを修復するためのパリティ・データをデータ・ブロックの組ごとに生成し、分散して記録する。たとえ1台のディスクが壊れても、残りのディスクに格納されたデータとパリティから、失われたデータを復活させることができる。データを配分するときの単位サイズは、ブロック(セクタ)単位である。

 RAID 5では、データをディスクに記録する際、RAID 0(ストライピング)と同じ原理で、複数のディスクにデータを分散して書き込むと同時に、パリティも計算・生成してディスクに書き込む。パリティ用ディスクは特に決まっておらず、全ディスクに分散して書き込まれる。これにより、パリティ専用ディスクのみに負荷が集中して性能が低下することを防いでいる。また、どれか1台のディスクが故障しても、それ以外のディスクのデータとパリティ情報から、元の完全なデータを生成して回復できる。ただし、回復可能なのは1台のディスクが故障したときまでであり、同時に2台以上が壊れると回復は不可能になる。

 パリティの保存に必要なのは、全ディスク台数に関係なくディスク1台分の容量である。従ってディスク台数が多いほど容量の利用効率も向上する。RAID 1(ミラーリング)と比較した場合、この利用効率の高さがRAID 5のメリットの1つとされる。

 RAID 5の性能については、ディスクからの読み出し時には、複数のディスクから同時並行読み出しが可能なので高速化がなされる。しかしデータの書き込み時には、パリティを算出・生成する必要があるほか、パリティ生成のため1組のデータ・ブロックをいったんディスクから読み出さなければならず、オーバーヘッドが大きい。そのため、RAID 5の書き込み性能は決して高くはない。

RAID 50/5+0

 RAID 0とRAID 5を組み合わせたRAID技術のことを、RAID 50、RAID 0+5、RAID 5+0などとも呼ぶ。これも前出のRAID 10(RAID 1+0、RAID 0+1)同様、標準として定められているわけではなく、ベンダによって呼称や実装方法が異なる。基本的には、RAID 1+0において、RAID 1で構成されていたディスク・アレイをRAID 5で構成したものだ。単なるRAID 5に比べ、RAID 0によるストライピングによりデータ転送速度が向上するのがメリットである。最低限のディスク台数は6台と多い。

RAID 50の動作原理
RAID 50は、RAID 10において、RAID 1(ミラー・セット)で構成されていたディスク・アレイをRAID 5で構成したものである。RAID 5アレイを構成する3台のディスクのうち、2台が同時に壊れなければ継続稼働可能である。

RAID 6

 RAID 5を拡張し、2台のハードディスクが同時に故障してもデータが復旧可能な「RAID 6」をサポートするRAIDコントローラなどが登場している。RAID 6では、パリティ格納用に消費される容量がハードディスク2台分になるため、同じハードディスク台数でRAID 5とRAID 6を構築した場合、実効データ容量はRAID 6の方が1台分少なくなってしまう。しかし、その分信頼性は大幅に向上することになる。

 RAID 6には、パリティの取り方の違いによって、「2D-XOR」と「P+Q」の2つの方式が提案されている。それぞれのパリティの取り方について解説する。

  • 対角方向のパリティを取る「2D-XOR」
     2D-XORは、RAID 5と同じ水平パリティ(PH)に加え、複数のハードディスクとストライプをまたがるように対角パリティ(PD)を取り、それを専用のハードディスクに格納する方式である。水平パリティと同様、対角パリティもXOR演算によるパリティであるため、計算負荷が低いのが特徴だ(両方ともXOR演算のパリティであることから、2D-XORと呼ばれる)。一方で、RAID 4と同様、対角パリティが1つのハードディスクに格納されることから、常にこのハードディスクへの書き込みが発生し、ここが性能のボトルネックになりやすい。

  • 異なる算出方法のパリティを取る「P+Q」
     P+Qは、算出方法の異なる2種類のパリティ(PとQ)を、RAID 5と同様に複数のハードディスクをまたぐように格納する方式である。ハードディスクが故障した場合は、この2種類のパリティを利用してRAIDの再構築を行う。2種類のパリティを計算することから、書き込み時の計算負荷が高いという欠点はあるが、2種類のパリティをすべてのハードディスクにローテーションしながら書き込むため、ハードディスクに対するアクセス負荷が均一になる。最近では、パリティ計算を行う専用ASICなどを搭載することで、書き込み時の計算負荷を低減するRAIDシステムも登場している。

RAID 6(P+Q)
RAID 6のP+Qは、算出方法の異なる2種類のパリティ(PとQ)を、RAID 5と同様に複数のディスクをまたぐように格納する方式である。これにより、2台のディスクが同時に故障してもデータが復旧可能となる。

JBOD(Just Bunch Of Disks)

 RAID製品のスペック欄には、RAID 0/1/5といったRAIDレベル以外に、この「JBOD」という単語を見かけることがある。JBOD(Just a Bunch Of Disks)は「単なるディスクの束」という意味で、複数のディスクを1つにまとめて大容量の単一ディスクに見せかける技術である。パリティなど冗長コードの仕組みはなく、耐障害性は向上するどころか、RAID 0と同様、悪くなる。

 冗長性がないという点で、JBODはRAID 0とよく似ている。しかし、RAID 0が複数のディスクを並行して読み書きすることで性能を高めているのに対し、JBODでは基本的に1台ずつ読み書きされるので、性能は向上しない。

 ではJBODのメリットは何か? それは、各ディスクの容量が異なる場合でも、容量の無駄なく単一の仮想的なディスクを実現できることだ。RAID 0の場合、最小容量のディスクと同じ容量分だけしか各ディスクで利用できない。例えば、1Tbytesと2Tbytesのハードディスク2台を RAID 0でまとめると、その実効容量は1Tbytes×2=2Tbytesになり、2Tbytesのハードディスクのうち1Tbytesは無駄になってしまう(この残りの部分を、別の仮想的なディスクとして定義・利用できるRAIDシステムもあるが)。JBODなら、この構成でも、3TGbytesの単一ディスクを実現できる。

RAIDレベルの特徴を理解する

 本稿では、ストレージ装置のカタログなどで一般的に使われているRAIDレベルについて解説してきた。それぞれの特徴をまとめると下表のようになる。サーバやクライアントPCでRAIDを構築する場合、このようなRAIDレベルの特徴から、必要となるディスク台数や冗長性、アクセス速度などの要求に合ったものを選択することになる。一般的には、RAID 0、RAID 1、RAID 5、RAID 6のいずれかから選択することになるだろう。

  最低限必要なディスク台数 書き込みデータ単位 メリット デメリット
RAID 0 2台 ブロック ・構成するディスク台数に比例してアクセスを高速化できる
・構成するディスクの合計容量を利用できるため、利用効率が高い
・容易に大容量の単一ストレージを作成できる
・冗長性がなく、構成するディスクが1台でも障害が発生するとデータが失われてしまう
・構成するディスクの台数に比例して、障害が発生する確率が高くなる。
RAID 1 2台 ブロック ・構成するディスクの1台に障害が発生してもシステムの稼働が可能である
・構成するディスクの台数を増やすことで、耐障害性を向上できる
・複数台のディスクに同一データを書き込むため、単一ドライブへの書き込みよりも時間がかかる
・構成する全ディスクのうち1台分の容量しか利用できず、構成する台数が増えるほど利用効率が悪くなる
RAID 10 4台 ブロック ・同一のミラー・セットを構成するディスクに障害が発生しない限り、修復できる ・ミラーリング構成のため、構成する全ディスクの半分の容量しか利用できず、容量効率が悪い
・最低でも4台のハードディスクが必要となる
RAID 0+1 4台 ブロック ・RAID 0に対して、冗長性を持たせられる
・アクセス速度の高速化が図れる
・RAID 10に比べて、耐障害性で劣る。
・ミラーリング構成のため、構成する全ディスクの半分の容量しか利用できず、容量効率が悪い
・最低でも4台のハードディスクが必要となる
RAID 2 5台(データ2台、ECC3台) bitまたはbyte ・最小構成でも、同時に2台のディスクが故障しても修復できる高い耐障害性がある ・ECCの計算がパリティよりも複雑なため、容量と速度面でのオーバーヘッドが大きい
・ディスクの利用効率が低い
RAID 3 3台(データ2台、パリティ1台) bitまたはbyte ・構成する全ディスク数−1台分の容量が利用できる
・冗長コードにパリティを利用するため、RAID 2に比べて性能面での性能低下が少ない
・bitまたはbyte単位でデータが書き込まれるため、RAID 5に比べて読み書きの効率が悪い
・パリティ・データが1台のディスクに集中して書かれるため、ここが書き込み処理のボトルネックとなる
・複数ディスクへ同時にアクセスするため、同期機能を持った特殊なディスクが必要になる
RAID 4 3台(データ2台、パリティ1台) ブロック ・構成する全ディスク数−1台分の容量が利用できる
・ブロック単位でデータが書き込まれるため、RAID 3に比べて高いアクセス速度が見込める
・パリティ・データが1台のディスクに集中して書かれるため、ここが書き込み処理のボトルネックとなる
RAID 5 3台 ブロック ・構成する全ディスク数−1台分の容量が利用できる
・構成するディスクから同時にデータの読み出しが行われるため、構成するディスク台数に比例してアクセスを高速化できる
・パリティを分散して記録するため、パリティ・ディスクのボトルネックが生じない
・データの書き込み時にパリティの作成をともなうため、書き込み性能は高くない
・同時に2台以上のディスクに障害が発生した場合、修復不能となる
RAID 50 6台 ブロック ・同一のRAID 5セットで2台以上の故障が発生しない限り、システムの稼働が可能である
・ストライピングによりRAID 5よりもアクセス速度の向上が見込める
・最小構成でも6台のディスクが必要になる
RAID 6 4台 ブロック ・RAID 5よりも高い耐障害性を持ち、構成するディスクのうち2台に障害が発生してもシステムの稼働が可能である ・構成するディスク数にかかわらずパリティ用に2台分の容量が必要となるため、RAID 5よりも容量効率が悪い
・RAID 5に比べて、生成されるパリティが増加する分、書き込み性能が劣る
主なRAIDレベルの長所と短所

 今回は紹介しなかったが、このほかにもベンダ独自の(標準となっていない)RAIDレベルとして、RAID 1.5やRAID 5E、RAID Zといったものもある。これらについては改めて解説する予定だ。End of Article

 

 INDEX
  [基礎解説]RAID基礎辞典
     1.RAID 0とRAID 1とは
     2.RAID 2とRAID 3、RAID 4とは
   3.RAID 5とRAID 6とは

 基礎解説


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間