vol.4 冗長化に役立つRAIDの種類とそのメリット

2013/03/14

データ保全のための仕組みの1つに、RAIDと呼ばれる技術があります。RAIDとは「Redundant Arrays of Inexpensive Disks」または「Redundant Arrays of Independent Disks」の略で、複数のハードディスク(以下、HDD)を使って高速化や冗長化、そして容量の拡大を実現するための仕組みのこと。RAIDを行うことでバックアップできていると勘違いされている方もいらっしゃいますが、これもサービスの継続性を前提にしたものであり、厳密な意味でのバックアップではありません。ただ、1つのディスクに障害が発生したとしても同時に利用している他のHDDが代わりに機能するため、システム全体として壊れにくくなります。

具体的にRAIDのメリットを見てみましょう。まず、RAIDは複数のHDDを1つのHDDのように使うことができるようになるため、システムで利用できるストレージ容量を拡大させることができます。現在ではプラッタ1枚で1TBを実現するものもあり、RAIDによって容量を拡大させる必要性はさほどありませんが、ひと昔前まではそれほど大きなHDDが存在していませんでした。そこで、多くの容量を持つストレージに見せてくれるRAIDは大きな効果がありました。

次に、RAIDを行うことでディスクアクセスなどの高速化を実現します。RAIDには“RAIDレベル”と呼ばれるいくつかの種類が定義されており、0からから5までの6つが主だった種類となっています。ただし、ストライピングと呼ばれる「RAID0」だけは冗長化の仕組みを持っておらず、1つのHDDが壊れてしまうと動作不能に陥ります。RAID0は、1つの情報を分割し複数のHDDに並列にアクセスさせることで、情報のやり取りを行う際のパフォーマンスを高めるレベルとなっており、これが高速化のための技術に繋がっていきます。

そして、最後のメリットがデータの冗長化です。冗長化の仕組みが備わっているRAIDの中でもよく利用されているのは、ミラーリングと呼ばれる「RAID1」と、3つ以上のHDDを用いて冗長化を実現する「RAID5」です。

RAID1は、2台以上のHDDを並べて同じデータを同時に書き込むことで、同じデータが格納されているHDDを複数作りだすことができる仕組みです。書き込みと同時にコピーが行われているようなものですが、複数のHDDへ同時に書き込みが行われるため、1つのHDDに書き込むスピードに比べると動作が遅くなります。

RAID5は、最低3台以上のHDDを使いますが、RAID0のように分割して書き込みを行うだけでなく、パリティと呼ばれる冗長化のためのコードも同時に書き込みます。仮に1つのHDDが故障したとしても、パリティ情報から元のデータに復元することが可能となっており、高速化と冗長化を併せ持ったレベルとして幅広く利用されています。

最近では、RAID5で書き込まれるパリティ情報を2重に生成し、異なるディスクにそれぞれ記録する「RAID6」や、最低4つのHDDを利用してストライピング(RAID0)をミラーリングする「RAID0+1」、複数のミラーリングのセット(RAID1)をストライピングする「RAID1+0」なども存在しています。なお、RAID2~4はほどんど製品化されていません。