RAIDの基礎知識 | パソコン実験工房資料室

RAID とは?

RAID(レイド)とは、「Redundant Arrays of Inexpensive Disks」の頭文字をとった略称です。直訳すると「冗長性をもった安価なディスクの配列」となります。もう少し噛み砕いていうと「安価なハードディスクを組み合わせた冗長性のある仕組み」という事になります。1987年にRAIDが論文によって提唱された当時は、高い信頼性を持った外部記憶装置は非常に高額であり、比較的安価であったハードディスクを使用することで、信頼性と冗長性を持たせながら大容量を実現することを目的にしていました。

ハードディスクの単価が1987年当時とは比較にならないほど下がった現在では、「Inexpensive」(安価) が大きな意味を持たなくなったこともあり、この部分を「Independent」(独立した)に代えた「Redundant Arrays of Independent Disks」を意味する場合もあります。

パソコンでの業務が一般に普及した現在では、データがもつ重要性が増しているだけではなく、従来、紙ベースで管理されていた共有情報なども多くはパソコン上のデータとして扱われるようになりました。また、データを管理するうえでは、一人ひとりの責任で保存することから、次第に会社や企業が責任をもってデータを管理することが求められるようにもなりました。このようなニーズの高まりのなかで、信頼性と冗長性をもった多くのRAID対応機器が製品化されるようになりました。

●RAIDレベルについて

考案当初のRAIDでは、その仕組みの違いによって、「RAID1」、「RAID5」のように「RAID」+「番号」で「RAIDレベル」が定義されています。この他にも「RAID2」、「RAID3」、「RAID4」といったレベルも存在しますが、現在のRAIDで使用されることはほとんどありません。

そのほか、後に「RAID5」を拡張して定義された「RAID6」、RAIDどうしをさらに組み合わせた「RAID10(1+0)」、「RAID50(5+0)」や、特定のメーカーが開発した独自仕様のRAIDレベルなども存在します。

「RAID0」と呼ばれる仕組みもありますが、「RAID0」では2台以上のハードディスクに対して分散してデータを書き込む冗長性(Redundant)がない仕組みになりますので、冗長性のある他のRAIDレベルと区別するためにも「0」番が付けられています。


RAIDの導入目的とメリット

RAIDでは、主に冗長性の確保による信頼性の向上のほか、ディスク容量の拡大や、転送速度を向上させること、もしくはこれらを組み合わせたストレージの実現を目的としています。導入するにあたっては、どの要素を最大の目的とするかで組み合わせを行うRAIDレベルも変わってきますので、事前に方針を確認しておくとよいでしょう。

●冗長性の確保

RAIDを導入する最も大きな目的は、「ディスクの冗長性を確保する」ことにあります。コンピューターシステムにおける冗長性とは、システム内部に追加の相似型システムをサブシステムとして常時並列に稼働させておくのが一般的な考え方です。このような冗長化は、サービスの常時継続、ダウンタイムの回避などに非常に有効である反面で、完全な冗長化を図るためには相応に高額なコストが必要です。

RAIDに限って言えば、本来は1台でも構わないハードディスクに1台、2台と追加して、データを完全には失われにくくするということになります。ハードディスク1台のみで稼働するパソコンは、そのハードディスクが故障すると、バックアップがない限りデータを失いますが、複数のハードディスク構成されるRAIDでは、許容される範囲内でハードディスクに故障が発生してもシステムは停止せずに稼働を継続できます。これによって冗長性を確保できるので、システムの信頼性を向上できるメリットがあります。

●容量の拡大

近年のハードディスクの大容量化は目覚ましく、数テラバイトの容量をもったハードディスクも珍しくはなくなりました。しかしながら、動画データやデータベース、仮想マシンのVHDイメージのような大容量データの保存先としては、これでも容量が足りない場合があります。

このような場合においてRAIDのメリットとして、たとえば2TBのハードディスクを4台束ねると、最大で2TBx4台=8TBの仮想的な大容量ディスクスペースを作り出すことが可能になります。(使用するRAIDレベルによって利用可能な容量は変わります)このディスクスペースは、OSからは1台のディスクとして扱われるので、全領域を一つのボリュームとしたり、複数のボリュームに分割することも可能です。(2TBを超える領域をOSの起動ディスクとする場合は、さまざまな制限事項がありますのでご注意ください。)

●転送速度の向上

動画編集などでディスクへの高速なデータ転送が必要となる場合、1台では実現できない転送速度を、複数台のディスクを束ねることで可能になる場合があります。一般的には、冗長性がないRAID0という仕組みを用いて、2台以上の複数のハードディスクに対して分散アクセスするので、ディスクへの処理時間が減る分高速な転送が可能です。

ただし、大容量のファイルを連続的に読み書きするのに有効な場合が多いのに対して、小さなファイルをランダムに扱うことには不向きな場合もあり、処理の内容によっては必ずしも高速になるとは限りません。また、束ねるディスクの数が増えるほど、今度は分散アクセスのためのパソコン内部の計算処理回数も増えるため、台数が多ければよいとも限りません。

RAID運用のウィークポイント

RAIDには、冗長性の確保というメリットがもつイメージから、ウィークポイントを忘れがちです。RAIDを実際に導入する前に、ウィークポイントを把握して万が一の場合の対処方法を検討しておくことも重要です。また、RAIDレベルには、それぞれにメリットとデメリットがあるので、RAIDレベルについて理解しておくこともいざという時に役に立ちます。

●ディスクの増加による「故障リスク」の増加

パソコン内部の部品には故障確率や故障機会という考え方があります。RAIDを構成するディスクもまた同じです。複数のディスクで構成されるRAIDでは、ディスクの数がその分増加しますので、1台のときより2台、3台と増えるにしたがって故障リスクも増えて行きます。純粋に故障確率だけを見た場合、RAIDを導入した方が故障リスクは高いことになります。特に、冗長性のないRAID0を導入する時は十分に注意が必要で、ディスク1台の運用に比べて故障リスクが高まるので、バックアップなどの対策は最優先で検討する必要が出てきます。

●冗長性の範囲をこえた障害の可能性

どんな冗長性も万全ではなく、必ずここまでという「冗長性の範囲」があります。たとえば、2台のディスクに対して常に同じデータを書き込むRAID1を導入した場合、ディスク1台の故障では、もう一方のディスクで運用を継続することは可能ですが、2台とも故障してしまうとシステムは停止してしまいます。この場合、1台の故障は冗長性の範囲内であり、2台の故障は冗長性の範囲外ということになります。絶対に安全という事はありませんので、RAIDを導入したからデータは安心と考えないことが大切です。

●RAIDをバックアップツールと勘違いする

特に2台のディスクに対して常に同じデータを書き込むRAID1の導入で勘違いされやすいのが、削除したデータの復旧がもう一方のディスクからできると思われていることです。OSからは、1台の仮想的なディスクとして扱われているので、2台のディスクに対して同時に同じ処理が行われます。RAIDは冗長性の確保を目的としていて、それ自体でバックアップや復旧などのサービスは提供しません。RAIDと各社から提供されているバックアップツールなどを併用して利用することが必要になります。

●RAIDがカバーできるのはディスクのトラブルだけ

RAID(Redundant Arrays of Inexpensive Disks)はその名のとおり、ディスクの冗長性を確保しているに過ぎません。RAID装置自体の故障のように装置内部のほかのハードウェアトラブルや、コンピューターウィルスによるファイルの破壊・改ざん、ファイルシステムの不整合によるソフトウェア的なトラブル、落雷や停電などの外部のトラブルに対しても何も対策はできません。

●意外に多い人為的ミスによるデータの消失

RAIDを導入したことで安心してしまい、障害を察知できずに冗長性の範囲を越えてしまいデータを失う場合や、障害からの復旧作業中に操作手順を誤ってしまいデータを失う場合など、RAIDでは人による運用や管理そのものが原因でデータを失う事も少なくありません。ディスク障害がいつ発生しても察知できるようにしておくことと、復旧作業は手順書をあらかじめ作成して確認しておくなど対策も必要になります。

よく利用されるRAIDレベル

現在よく利用されている代表的な5つのRAIDレベルをご紹介いたします。それぞれに構成に必要なディスクの最少構成台数、メリット、デメリットもありますので、用途に合わせてご検討下さい。対応可能なRAIDレベルは、RAID機器によって異なりますので導入予定のRAID機器の仕様をあらかじめ確認してください。

●RAID0

別名「ストライピング」と呼ばれることもあります。データは一定のブロック単位で分割して複数のディスクに分散して並行的に処理が行われます。高速な転送速度が必要な時におすすめです。

メリット:RAIDレベル中、最もディスクの利用効率が高く、なおかつ転送速度も高速になります。
デメリット:故障リスクは単体のディスクより高く、冗長性は確保できないので、構成するディスクのうち1台でも障害が発生するとシステムが停止します。
最少構成台数:最低2台


●RAID1

別名「ミラーリング」と呼ばれることもあります。複数のディスクに対して並行的に同一の処理を行い、常にディスクのコピーを作っておくことができます。シンプルに冗長性を確保したい場合におすすめです。

メリット:1台のディスクに障害が発生しても稼働を継続できます。構成するディスクが増えればその分冗長性は高くなります。障害のあるディスクを交換して再構築することで正常な状態に戻せます。
デメリット:ディスクの利用率は低く、ディスク1台分の容量しか使用できません。データに対して同一の処理を台数分行うため、転送速度は低くなることもあります。
最少構成台数:最低2台(通常は2台)


●RAID5

別名「パリティレイド」と呼ばれることもあります。RAID0と同様に複数のディスクに分散して処理を行いながら、これに加えて「パリティデータ」と呼ばれる冗長コードを生成して同時に分散して記録するのが特徴です。パリティデータの保存には構成ディスクの数にかかわらず1台分を使用します。冗長性、容量の拡張、高速性をバランスよく実現できるのが特徴です。

メリット:構成するディスクのうち1台に障害が発生しても稼働を継続できます。データの読み出し速度は、複数のディスクから分散して読み込むので高速です。構成するディスクが増えればディスクの利用率も向上します。障害のあるディスクだけを交換して再構築することで正常な状態に戻せます。
デメリット:データの書き込みには、同時にパリティコードの生成が行われるため、読み込みに比べると高速にはなりません。最低3台のディスクが必用になりますので、初期導入コストはRAID1に比較して高くなります。
最少構成台数:最低3台


●RAID6

別名「ダブルパリティレイド」と呼ばれることもあります。技術的にはRAID5と同様のものですが、「パリティデータ」を2重に生成して、異なるディスクに記録することで冗長性を高めたものです。パリティデータの保存には構成ディスクの数にかかわらず2台分を使用します。RAID5に対して、さらに強固な冗長性が必要な場合におすすめです。

メリット:構成するディスクのうち2台に障害が発生しても稼働を継続できます。その分RAID5より障害に対して強いと言えます。障害のあるディスクだけを交換して再構築することで正常な状態に戻せます。
デメリット:データの書き込みには、RAID5と同様にパリティコードの生成が行われるますが、2重に生成するためRAID5よりさらに書き込みパフォーマンスが低下します。最低4台のディスクが必用になりますので、初期導入コストはRAID1/RAID5に比較して高くなります。
最少構成台数:最低4台


●RAID10(1+0)

RAID1とRAID0を組み合わせて、RAIDの冗長性、容量の拡張、高速性を狙った組み合わせです。RAID10は、複数のRAID1のセット(ミラーセット)をさらにRAID0(ストライピング)として組み合わせたものです。

メリット:同じミラーセットを構成するディスクに同時に障害が発生しない限り稼働を継続できますので、各ミラーセットのディスク1台ずつの障害にも耐える冗長性を持っています。RAID5やRAID6と比較して、パリティコードの生成の必要がなく比較的シンプルに構成できます。障害のあるディスクだけを交換して再構築することで正常な状態に戻せます。
デメリット:ミラーリングの特性上、ディスクの利用効率は低く、全ディスク容量の半分になります。最低で4台のディスクが必要なため、初期導入コストは高くなります。
最少構成台数:最低4台


RAIDレベルの比較

RAIDの理論を基に各RAIDレベルを比較表にまとめました。耐障害性や性能は「△/○/◎」、初期導入コストについては「小/中/大」の各3段階で相対的にランク付けしています。実際のRAID製品では、必ずしもこの表とは同じになるとは限りませんことにご注意ください。


  RAID0 RAID1 RAID5 RAID6 RAID10
耐障害性 なし
ディスク
性能
シーケンシャル
読み出し
シーケンシャル
書き込み
ランダム
読み出し
ランダム
書き込み
必要なディスク台数 2台以上 2台以上 *1 3台以上 4台以上 4台以上 *2
ディスク容量の利用効率
(n:ディスク台数)
100% 50% (n-1)/n% (n-2)/n% 50%
1TBのディスクを4台組み合わせ
た時のディスク容量
4TB 1TB *1 3TB 2TB 2TB
許容される障害台数
(n:ディスク台数)
なし n-1 1 2 n/2 *3
初期導入コスト

*1 ほとんどRAID1では、2台のディスクで構成されます。
*2ミラーセットをストライピングするため、4台以降は、6台、8台など偶数台になります。
*3 同一のミラーセット内で2台が同時に故障しない場合に限り稼働の継続が可能