ハードディスク(HDD)にデータを保存する場合、特に業務で使うもの等に関しては、データの破損などの障害に対する対策は必須です。
今回は耐障害性や冗長性を持たせるためのHDDの構成である、RAIDについて解説してゆきます。
冗長性
RAIDについて説明する際によく出てくる言葉に冗長性というものがあります。
ITにおける冗長性とは、予備の通信経路や機器を用意することでシステムを二重化する事を指します。
冗長性を持たせることによって、耐障害性を高める事が出来ます。
RAIDとは
Redundant Array of Independent Disk (RAID)、とは、簡単に言うと複数のハードディスクを1つのハードディスクのように扱う技術です。
複数のハードディスクに分けて保存することで、例えば1つのハードディスクが破損した際にデータを復元することや、データの読み書きを高速化させることが出来ます。
RAIDのレベル
RAIDにはいくつかのレベルが有り、レベルによって冗長性のあるなしやデータの保存方法、ハードディスクの容量をどの程度効率的に使えるかが違ってきます。
RAIDにはレベル0から6までありますが、
ここではよく使われるいくつかのRAIDについて解説していきます。
・RAID 0
【ストライピング】とも呼ばれる方法で、データを分割して複数のハードディスクに保存します。このレベルでは、複数のHDDに対して同じデータを書き込まないので、データの読み書きは高速化されますが、冗長性や耐障害性はありません。
その為、1つのHDDに障害が発生した場合、データが失われます。
・RAID 1
【ミラーリング】と呼ばれる方法で、2つ以上のHDDに同じデータを書き込みます。
同じデータを書き込むため冗長性を持ち、1つのHDDに障害が生じてもデータは失われず復旧が可能です。
しかし、同じデータを書き込むため、HDDの容量を使用する効率は50%以下になります。
また、読み書きの速度はRAID 0に劣ります。
・RAID 10(1+0) , RAID 01(0+1)
RAID 1とRAID 0を組み合わせたRAIDで、最低4台のHDDを使います。
ミラーリング(RAID 1)⇒ストライピング(RAID 0)の順で行うものをRAID10、
ストライピング⇒ミラーリングの順で行うものをRAID01と呼んでいます。
RAID 10の方が耐障害性が高い為、通常はRAID 10を使用します。
耐障害性はRAID 10が勝り、読み書き速度はどちらも同じとなる為RAID 01が使用されることは殆どありません。
RAID 0+1
ストライピングされたグループ(RAID 0と書かれた矢印で括られたグループ)は、どちらか1つのHDDに障害が発生するとグループごと使用不可能になるため、RAID 01では例えば一番上のHDDと一番下のHDDに障害が発生するとRAID全体がダウンします。
RAID 1+0
ミラーリングされたグループ(RAID 1の矢印で括られたグループ)の片方に障害が発生してもグループ内のもう1つは影響を受けない為、ABCのデータを含んだHDD1つとDEFのデータを含んだHDD1つが残っていれば稼働状態を維持できます。
今回はハードディスクの冗長化技術の1つ、RAIDについて解説させて頂きました。
皆様の学習に役立てて頂ければ幸いです。