RAIDにはいくつかのレベルがあるようですが,それぞれのレベルはどのように違うのでしょうか。
RAID(Redundant Array of Inexpensive Disks)の分類は'88年にGarth GibsonとRandy Katz,David Pattersonらによって発表されたのが始まりで,この論文の中では0〜5のRAIDレベルが以下のように定義されていました。
●RAID0
ストライピング(striping)とも呼ばれています。複数のディスクに対して並列に読み書きを行い,I/Oパフォーマンスを飛躍的に向上させる方法です。ディスク1台ではどうしても高速化に歯止めがかかるので,複数台のディスクを並列に読み書きすることによって高速化を行っています。
●RAID1
ミラーリング(mirroring)とも呼ばれています。複数のディスクに対してまったく同じデータを同時に書き込み,もしその中の1台が故障などで使用できなくなっても,データを失うことがないよう信頼性を向上させる方法です。信頼性を上げるには,もう一つコピーをとっておけばよいという最も基本的な考え方です。
●RAID2
これはRAID3に取って代わられ,現在では分類に含めないことも多いようです。
●RAID3
ECC(Error Correction Codes)と呼ばれる,パリティコードを同時に保存してディスクの信頼性を向上させる方法です。ECCの計算/再計算があるために,多少読み書きが遅くなるのが欠点ですが,信頼性が非常に高くなります。
●RAID4
RAID0とRAID3を組み合わせたもので,1台をパリティ保管用,そのほかのディスクをストライピング用としてアクセスする方法です。信頼性に加えて,スループット向上を目指すもので,RAID3の欠点を補ったものだと考えられます。
●RAID5
RAID0とRAID3を組み合わせたもので,RAID4とほぼ同じ形態となっています。強いて異なる部分を挙げると,パリティをすべてのディスクに分散して持っています。つまり,ブロックごとにパリティ(とデータ)を書き込むディスクを変えてゆくのです。
さらにRAID0+1というRAID0とRAID1を組み合わせたものや,RAID35というRAID3とRAID5を組み合わせた複合方式もあります。また,RAID6(またはRAID5+)と呼ばれる,RAID5の拡張方式もあります。Storage Technologyによって発表された方法で,2次元的にディスクを配列し,パリティのとり方をさらに工夫する(パリティを二重にとる)ことで,RAID5よりも信頼性を上げた方法です。ディスク台数がさらに多くなるので,コストがかかる方式です。
最近では,RAID7と呼ばれるものもあります。これはStorage Computerが作ったマーケティング用語で,RAID4にライトキャッシュを加えた形態を指します。ディスクのI/Oレートをさらに向上させるには,ライトキャッシュが効果的であるという考えに基づいた方式です。
(伊勢雅英)