特集
» 2001年02月27日 00時00分 UPDATE

RAIDの基礎知識:RAIDレベルを理解しよう (2/3)

[デジタルアドバンテージ,著]

 RAID製品のカタログを見ていると、「RAID 1」や「RAID 5」といった単語を見かける。これらは「RAIDレベル」と呼ばれ、RAIDの技術をその機能によって分類したものだ。RAID技術は、1987年にUCB(University of California, Berkeley:カリフォルニア大学バークレイ校)のDavid A. Patterson氏らが発表した論文によって初めて紹介された。この論文では、RAIDレベルは1〜5まで定義されていた(その後、RAID 0とRAID 6が追加されている)。現在、「基本的な」RAIDレベルといえばRAID 0〜5を指すことが多いようだ。

 「レベル」といっても、数字が大きいほど、あるいは小さいほど、性能や機能が高いわけではないことに注意したい。RAIDレベルは、ディスク・システムの性能や機能のグレードを表すわけではなく、単にRAIDシステムを実現するための方式を表すものだ。したがってレベルの大小とは関係なく、性能や機能のそれぞれに長所や短所が存在する。

よく利用されるRAIDレベル

 基本的なRAIDレベルであるRAID 0〜5の中には、実際にはほとんど実装されなかったものもあれば、RAID製品ならほぼ間違いなく実装しているものもある。まずは、よく利用される「定番」のRAIDレベルから説明しよう。

■RAID 0

 RAID 0では、2台以上のディスクを組み合わせ、ディスクに対する読み書きの処理を複数のディスクに対して同時並行的に実行することで、アクセス速度を高速化する。RAID 0を指して「ストライピング」と呼ぶこともある。

pc-raid0.gif RAID 0の動作原理
上図のデータ・ブロック1/2/3や4/5/6、7/8/9は、もともと連続しているデータである。RAID 0では、上図のようにディスクの台数に合わせてデータを分割して、各ディスクに格納する。例えばデータ・ブロック1/2/3の組を読み出す場合、各ディスクに並行してアクセスすることで、ほぼ同時に1/2/3それぞれのデータ・ブロックを読み出すことが可能になる。

 例えば上図のようにディスクが3台あるなら、データを3つに分けてそれぞれのディスクに対して同時に書き込むことにより、理論的には1台の場合と比べて3分の1の時間で書き込みを完了することができる。従って、一般的にRAID 0では、ディスクの台数を増やすほど性能(データ転送速度)も高まる傾向にある。

 またRAID 0は、複数のディスクをあたかも1台のディスクであるかのように扱うことで大容量の単一ストレージを実現する。ディスク容量の利用効率は100%、つまり全ディスクの容量が無駄なく利用できるわけだ*1。例えば、1Gbytesのハードディスク3台でRAID 0を構成すると、実効容量は1Gbytes×3=3Gbytesとなる。

*1 各ディスクの容量が異なる場合、RAID 0では全ディスクの合計容量を使い切れない。詳細は後述のJBODのコラムを参照していただきたい。ただし、基本的にRAIDでは、ディスク・アレイを構成する各ディスクの容量は同一にそろえることが推奨される。


 RAID 0のデメリットは、冗長性をまったく備えていないことである。むしろディスク台数が多いことにより、ディスク1台の場合と比べ、耐障害性は悪化してしまう。もしRAID 0で運用中の各ディスクのうち、1台でも壊れてしまうと、全体へのアクセスが不能になってしまうからだ。このように冗長性(Redundancy)がないので、厳密にいえば、Redundancyの「R」を含む「RAID」の範疇にRAID 0は入らない。ただし、多くのRAID製品がRAID 0をサポートしていることもまた事実だ。

 RAID 0(ストライピング)の技術は、RAIDにおける高速化技術の基本である。RAID 0以外のRAIDレベルのうち、その多くは冗長性を持たせる何らかの仕組みとストライピングとを組み合わせることで、耐障害性を維持しつつ性能を向上させようとしている。

■RAID 1

 RAID 1は、RAIDレベルの中で、最も単純な手法でディスクの耐障害性を高めている。その手法とは、同一のデータを複数のディスクに書き込み、一方のディスクが故障しても、他方で処理を続行できるようにする、というものだ。つまりRAID 1では、同じデータを格納したディスクの「コピー」を用意することで、故障に備えているわけだ。通常は2台のディスクを使って実現する。RAID 1は「ミラーリング」と呼ばれることもある。

pc-raid1.gif RAID 1の動作原理
RAID 1では、データが書き込まれる際、アレイ内の各ディスクにまったく同一のデータが書き込まれる。1台のディスクが故障した場合でも、残りのディスクが稼働し続けることで、データは失われずに済む。

 RAID 1では、同一のデータを2台以上のディスクに書き込むため、ディスク容量の利用効率は50%以下になってしまうというデメリットがある(2台のディスクの容量が異なると、利用効率は50%よりさらに下がる)。例えば1Gbytesのデータを記録するには、1Gbytes×2=2Gbytes分の容量のディスクが必要になる。

 性能については、2台のディスクに同一のデータを書き込まなければならないという原理のため、ディスク1台の場合と比べ、書き込み時のオーバーヘッドが大きい。しかし、ハードウェアによって各ディスクへ並行して書き込みを行うことにより、このオーバーヘッドを最小限に抑えることは可能だ。読み出し性能はディスク1台の場合とほぼ同等であるが、RAID 0と同じ原理で、複数のディスクから同時並行読み出しを実行することによって、性能を高めることもできる。ただしRAID 0ほど性能は向上しない。

■RAID 5

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

pc-raid5.gif RAID 5の動作原理
データを分割して各ディスクに格納するという原理はRAID 0(ストライピング)と同じだ。異なるのは、データ・ブロックの組(上図でいえば1/2や3/4、5/6)ごとにパリティが生成される点である。たとえ1台のディスクが壊れても、残りのディスクに格納されたデータとパリティから、失われたデータを復活させることができる。

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

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

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

JBOD(Just Bunch Of Disks)とは?

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

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

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


  関連記事(PC INSIDER内)
動向解説 最新IDE RAID事情

Copyright© 1999-2014 Digital Advantage Corp. All Rights Reserved.

TechTargetジャパン

Nexus 6と格安SIM、プレゼント!
Loading

ホワイトペーパー(TechTargetジャパン)

注目のテーマ

転職/派遣情報を探す

【転職サーチ】SIer/Web企業/新規事業 スマホ開発で、あなたのキャリアを生かす

「派遣・フリーで働くメリット」とは? 活躍する派遣エンジニアの本音

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。