-shared-img-thumb-OY151013069947_TP_Vパソコンやサーバーコンピューターで数百GB(ギガバイト)以上の記憶容量を持たせるには、一般に補助記憶装置が使われています。補助記憶装置とは、ハードディスクを代表とする大容量かつデータの長期保存が可能な記憶装置のことです。

ハードディスクは単体で使うこともできますが、ディスクアレイという装置によって複数のハードディスクを組み合わせて大容量にしたり、信頼性を高めたりすることができます。ここでは、そのような技術についてお話ししていきます。

ここで述べる内容を理解すれば、ディスクアレイ装置の仕組みや構成による特徴を習得できます。また、そこで得た知識を実際の情報システム設計に生かすことができます。

ディスクアレイ装置とは

ディスクアレイ装置とは、「複数のハードディスクを搭載して組み合わせて使うことにより、あたかも一つの大きなハードディスクのように使える装置」のことです。

ハードディスクは、可動部品(磁気ディスクやモーターなど)を含みます。そのためハードディスクは、CPU(コンピューターで計算処理を行うもの)やメモリー(コンピューターで高速かつ一時的にデータを記憶するもの)のように非可動部品のみで構成されたものよりも、格段に故障の確率が高いといえます。

すなわち、ハードディスクを単体で利用した場合、ハードディスクが故障したらその瞬間に中のデータが全て失われる危険性があります。しかし、ハードディスクを複数台組み合わせて冗長化の機構を設けることにより、1台が故障しても残りのハードディスクから故障したハードディスクの内容を復元することができます。

ディスクアレイは、このような主旨にもとづいて設計されています。

ディスクアレイの記憶容量は、「物理容量」「実効容量」で表されます。「物理容量」は、単体のハードディスクの容量をすべて足した容量です。しかし、ディスクアレイでは冗長化の機構を持たせる場合、その物理容量のすべてを使い切ることができません。ディスクアレイ全体として使える容量は、「実効容量」で表されます

RAIDによるディスクアレイの構築

ディスクアレイには、RAID(レイド:Redundant Arrays of Inexpensive Disks、または Redundant Arrays of Independent Disks)と呼ばれる機構が施されています。RAIDは、複数のハードディスクを組み合わせて、あたかも1台の大容量かつ信頼性の高いハードディスクのように見せる技術です。

RAIDを実現するハードウェア(機械)またはソフトウェア(プログラム)を「RAIDコントローラー」といいます。

単純に複数のハードディスクを連結すれば、ディスクアレイ全体として大容量化が行えることは容易に理解できるでしょう。それでは、ディスクアレイ全体としてハードディスクの信頼性を高くするための機構とは、どのようなものがあるでしょうか?

一般的に用いられているRAIDには、複数の種類があります。種類によって、ハードディスクの「大容量化」「高速化」「冗長化」のいずれかが行われます。ここでは、実際のRAIDの種類と特徴について述べます。

・RAID0(レイドゼロ):ストライピング

複数台のハードディスクに、データを分散して書き込みます。単体のハードディスクへのアクセスが分散されるため、高速になります。また、物理容量と実効容量がほぼ等しいため、他のRAIDに比べて実効容量も大きいです。

ただし、冗長化は全く行われません。したがって、1台のハードディスクが故障するとそのデータは失われます。

・RAID1(レイドワン):ミラーリング

2台のハードディスクに、同じデータを書き込みます。1台のハードディスクが故障しても、もう1台が継続して使えるため、冗長性が高い構成です。実効容量は、物理容量の1/2となります。高速化は行われません。なお、3台以上のハードディスクでRAID1構成にすることもあります。考え方は同じです。

・RAID01(レイドゼロイチ)、またはRAID0+1(レイドゼロプラスイチ)

RAID0とRAID1を組み合わせます。すなわち、ストライピングを行ったハードディスク群をミラーリングします。ストライピングによる大容量化とミラーリングによる冗長化の特徴を併せ持つ方法です。

・RAID10(レイドイチゼロ)、またはRAID1+0(レイドイチプラスゼロ)

RAID01(またはRAID0+1)と似ており、RAID0とRAID1を組み合わせます。ただし組み合わせ方が異なり、ミラーリングを行ったハードディスク群をストライピングします。大容量化と冗長化の特徴はRAID01(またはRAID0+1)と同じですが、ハードディスク故障への耐性が、RAID01(またはRAID0+1)よりも優れています。

・RAID5(レイドファイブ)

単体のハードディスクに、データと復元用の誤り訂正符号(パリティ)を含めてストライピングを行う方式です。ハードディスクは最低3本必要で、実効容量は(ハードディスクの本数-1)の物理容量と等しくなります。

ハードディスクの本数を増やしたときに、容量効率と冗長性がともに高い方式です。RAID5構成のハードディスクのうち、1ドライブが故障してもディスクアレイを使い続けることができます。

・RAID6(レイドシックス)

RAID5におけるパリティを二重化した方式です。ハードディスクは最低4本必要で、実効容量は(ハードディスクの本数-2)の物理容量と等しくなります。特徴はRAID5に似ており、さらにハードディスク故障に強くなっています。RAID6構成のハードディスクのうち、2ドライブが故障してもディスクアレイを使い続けることができます。

これらの説明を見たとき、「RAID1とRAID5の間に、RAID2、RAID3、RAID4が抜けているのでは?」と思った方がいるかもしれません。実は、RAID2、RAID3、RAID4も存在しますが、一般のパソコンやサーバーの用途には使われていません。

また、上記以外のさまざまなRAIDも考案されていますが、使用頻度が低いためここでの説明は省略します。

また、RAIDには多くの構成が存在するため、どれを使ったら良いか迷う人がいるかもしれません。そこで、それぞれのRAIDの特徴について簡潔に述べます。

RAIDのうち、ハードディスク故障にもっとも強いのは「RAID1」です。また、大容量の構成に効率が良く、故障にもそこそこ強いのが「RAID5」または「RAID6」です。そして、大容量と故障への強さの両方を重視したい場合、「RAID10(またはRAID1+0)」が適しています。

ホットスワップ対応

ディスクアレイには、「ホットスワップ」という仕組みが装備されます。ホットスワップは、予備のハードディスクを用意し、それを常に待機させておく方法です

1台のハードディスクが故障したら、RAIDコントローラーがすぐさまホットスワップのハードディスクを故障したハードディスクの代わりに切り替えます。そしてRAIDコントローラーが、故障したハードディスクの内容をホットスワップのディスク内で復元します。これにより、システムを停止せずに使い続けることができます。

このように、ディスクアレイ装置は単体のハードディスクをさまざまな方式で組み合わせて構築されています。RAIDやホットスワップの仕組みを知っておくことにより、その知識を情報システムにおけるさまざまな補助記憶装置の設計に活用することができます。