RAIDの概要と仕組み
RAID(Redundant Arrays of Inexpensive Disks/Independent Disks)は、複数のハードディスクをまとめて単一の論理ドライブとして運用する技術です。安価なハードディスクを複数用いることで、大容量かつ信頼性の高いストレージシステムを構築することを目指しています。主な目的はデータの信頼性とシステムの
可用性を向上させることであり、
バックアップとは役割が異なります。
バックアップはデータのコピーを別途保存するのに対し、RAIDは運用中のデータ保護を重視します。
RAIDは
1988年に
カリフォルニア大学バークレー校の研究者によって提唱されました。当初はRAID
0~5の5種類が定義されましたが、その後RAID 6などが追加され、現在では様々な種類が利用されています。
RAIDの普及要因
RAIDが近年普及している主な要因は以下の通りです。
デジタルデータの重要性向上: ビジネスや個人の生活においてデジタルデータの重要性が増しており、データ損失のリスクを軽減する必要性が高まっています。
HDDの大容量化: HDDの大容量化により、故障時のデータ損失量が大きくなり、データ保護の重要性がより顕著になっています。
価格低廉化: HDDやRAID関連製品の低価格化、マザーボードへのRAID機能内蔵化などが進み、導入コストが大幅に削減されました。
RAIDの注意点
RAIDはハードディスクアレイの可用性を高める技術ですが、全ての障害に対応できるわけではありません。以下のような注意点があります。
ソフトウェア的な障害への対応: ファイルの誤消去、ウイルス感染、
ファイルシステムの不整合など、
ソフトウェア的な障害には対応できません。
複数ハードディスク同時故障: RAIDは複数のハードディスクが同時に故障するリスクを軽減しますが、完全に排除できるわけではありません。特にRAID 1では、2台のハードディスクが同時に故障する可能性も考慮する必要があります。
バックアップとの違い: RAIDは運用中のデータ保護を目的としており、
バックアップとは役割が異なります。データの長期保存や災害対策には
バックアップシステムとの併用が不可欠です。
RAIDの方式
RAIDは、
ハードウェア方式と
ソフトウェア方式の大きく2つの方式に分類されます。それぞれに特徴があります。
ハードウェア方式では、専用のRAIDコントローラカードを用いてRAIDを構築します。コントローラカードは、パリティ演算やディスク管理などの処理を
ハードウェアレベルで行うため、
CPUへの負荷を軽減できます。また、専用の
キャッシュメモリを搭載した製品もあり、高速なアクセスを実現できます。
一部のマザーボードにはRAIDコントローラが内蔵されているものもあります。また、複数のディスクを搭載できるディスクアレイユニットも
ハードウェア方式に含まれます。ディスクアレイユニットは、コンピュータやOSからは単なるドライブとして認識されるため、特別なドライバは不要で、
CPUへの負荷もありません。
ソフトウェア方式では、OS自身がRAID機能を担います。特別な
ハードウェアは不要なため、導入コストが低く抑えられますが、
CPUへの負荷が高くなる傾向があります。また、物理的な
キャッシュメモリがないため、
ハードウェア故障や
ソフトウェア障害によってRAID情報が損失するリスクも高くなります。Windows、
Linux、FreeBSDなど、多くのOSは
ソフトウェアRAIDをサポートしています。
電源とライトホール問題
RAID導入にあたっては、電源容量の確認も重要です。ハードディスクが増えると消費電力も増加するため、電源が十分な容量を持っているか確認する必要があります。また、RAIDコントローラの中には、各ディスクを時間差で起動するスタッガードスピンアップ機能を搭載しているものもあります。
RAID 5など、パリティを用いるRAIDでは、「ライトホール問題」と呼ばれる問題が発生する可能性があります。これは、書き込み処理中に何らかの障害が発生した場合、データの一部が書き込まれない状態になる問題です。
ハードウェアRAIDでは、NVRAMなどの不揮発性メモリを用いてこの問題を回避する対策が施されていることが多いですが、
ソフトウェアRAIDでは対応が困難です。
RAIDレベル
RAIDには様々なレベルがあり、それぞれに異なる特徴があります。よく使われるのはRAID
0、1、5、6です。これらのRAIDレベルを組み合わせて、性能と信頼性を最適化することもできます。
RAID 0 (ストライピング)
データを複数のディスクに分散して記録する方式です。冗長性がないため、耐障害性はありませんが、高速なアクセスを実現できます。
長所: 高速アクセス
短所: 耐障害性なし
データを複数のディスクに同一に複製する方式です。高信頼性ですが、容量効率が低くなります。
長所: 高信頼性
短所: 容量効率が悪い
RAID 0+1 (0+1) および RAID 1+0 (1+0)
RAID
0とRAID 1を組み合わせた方式です。高速性と高信頼性を両立できます。最低4台のドライブが必要です。RAID 1+
0の方が耐障害性に優れています。
RAID 2
ハミングコードを用いた方式ですが、実用性が低いためほとんど使われていません。
RAID 3、4
専用のパリティディスクを用いる方式でしたが、性能上の問題からRAID 5に取って代わられました。
RAID 5 (ブロック単位でのパリティ分散記録)
パリティ情報を複数のディスクに分散して記録する方式です。コストパフォーマンスに優れ、1台のディスク故障に耐えられます。
長所: 高速、コストパフォーマンスが良い、1台のディスク故障に耐える
短所: パリティ演算によるオーバーヘッド、ライトホール問題、2台以上のディスク同時故障には対応できない
RAID 6 (ブロック単位・複数パリティ分散記録)
複数の冗長データを異なるディスクに保存することで、2台のディスク故障に耐えることができます。
長所: 2台のディスク故障に耐える、高信頼性
短所: パリティ演算によるオーバーヘッドが大きい、書き込み速度が遅い
RAID 5/6 との組み合わせ
RAID 5やRAID 6をさらに高速化したり、耐障害性を強化したりするために、他のRAIDレベルと組み合わせることも可能です。例えば、RAID 5+
0、RAID 1+5、RAID 6+
0などがあります。
RAID Z
ZFS
ファイルシステムで使用されるRAID方式で、RAID 5やRAID 6よりも高速で、サイレントクラッシュの問題を回避できます。
その他の関連用語
DDD (Defunct Disk Drive): 故障し、RAID構成から外されたディスク
Spare Disk Drive (ホットスペア): 予備ディスク。ディスク故障時に自動的に交換される
*
JBOD (Just a Bunch Of Disks): 複数のディスクを単なるディスクの集合として扱う方式。冗長性はない。
まとめ
RAIDは、様々な用途でデータの信頼性と
可用性を高める上で重要な技術です。導入にあたっては、それぞれのRAIDレベルの特徴を理解し、用途や予算、パフォーマンス要件などを考慮して最適な構成を選択することが重要です。また、RAIDだけではデータの完全な保護はできないため、
バックアップシステムとの併用も検討する必要があります。