Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

RAID(レイド)とは | 意味や読み方など丁寧でわかりやすい用語解説

RAID(レイド)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

レイド (レイド)

英語表記

RAID (レイド)

用語解説

RAIDは、複数のハードディスクドライブやソリッドステートドライブなどのストレージデバイスを組み合わせ、それらを一台の論理的なドライブとして扱う技術である。この技術の主な目的は、ストレージの性能向上、耐障害性の強化、または容量の拡大を実現することにある。もともと「Redundant Array of Inexpensive Disks(安価なディスクの冗長な配列)」の略称であったが、現在では「Redundant Array of Independent Disks(独立したディスクの冗長な配列)」と解釈されることが一般的である。一台のディスクに比べて、複数のディスクを用いることでデータの読み書き速度を向上させたり、一部のディスクが故障した場合でもデータが失われることなくシステムを継続して運用できるようにしたりする。

RAIDにはいくつかのレベルがあり、それぞれ異なる特性と目的を持つ。主要なRAIDレベルとして、RAID 0、RAID 1、RAID 5、RAID 6、RAID 10などがある。

RAID 0は「ストライピング」と呼ばれる技術である。これは、データを複数のディスクに細かく分割し、並列に書き込むことで、読み書きの速度を大幅に向上させる。例えば、一つの大きなファイルを保存する際に、そのデータを数個のブロックに分け、それぞれのブロックを異なるディスクに同時に書き込むことで、書き込み時間を短縮する。読み出しも同様に並列で行われるため、高速なデータアクセスが可能となる。しかし、RAID 0には耐障害性の機能が全くないという大きな欠点がある。構成しているいずれか一台のディスクが故障した場合、データの一部が失われるため、論理的に一つのドライブとして扱われる全てのデータが利用不可能となる。そのため、高い性能は求められるがデータの安全性よりも速度を優先するような一時的なデータ処理や、バックアップが常に存在する環境での利用に適している。

RAID 1は「ミラーリング」と呼ばれる技術である。これは、同じデータを複数のディスクに完全に複製して書き込むことで、耐障害性を高める。例えば、データを一つのディスクに書き込むと同時に、その全く同じコピーを別のディスクにも書き込む。これにより、万が一いずれか一台のディスクが故障しても、残りのディスクに完全に同じデータが残っているため、システムは中断することなく運用を継続できる。故障したディスクを交換すれば、残りのディスクから自動的にデータを復旧させることが可能である。この方式の最大の利点は高い耐障害性にあるが、同じデータを複数保存するため、利用可能なストレージ容量は物理的なディスク容量の合計の半分となる。例えば、1TBのディスクを2台使ってRAID 1を構成した場合、利用できる容量は1TBのみである。読み出し性能は、複数のディスクから同時にデータを読み出すことで向上する可能性があるが、書き込み性能は複数のディスクに書き込むオーバーヘッドがあるため、単一ディスクと同等かやや劣る場合がある。

RAID 5は「パリティ付きストライピング」と呼ばれる技術である。これは、データを複数のディスクに分散して書き込むストライピングの機能と、データの復元に必要な「パリティ情報」と呼ばれる冗長な情報を分散して書き込む機能を組み合わせたものである。パリティ情報とは、他のディスクに書き込まれたデータから計算される情報であり、いずれか一台のディスクが故障した場合に、残りのデータとパリティ情報を用いて失われたデータを復元できる仕組みを持つ。これにより、RAID 5は高い耐障害性を持ちながら、RAID 1よりも容量効率が良い。例えば、N台のディスクでRAID 5を構成した場合、利用できる容量はN-1台分の容量となる。最低3台のディスクが必要で、一台のディスクが故障してもシステムは停止せず、故障したディスクを交換することでデータを再構築できる。ただし、パリティ計算のオーバーヘッドがあるため、RAID 0ほどの書き込み速度は出ない。また、ディスク故障時のデータ再構築(リビルド)には時間がかかり、その間はシステム性能が低下する可能性があり、さらにリビルド中に別のディスクが故障すると全てのデータが失われるリスクがある。

RAID 6は「二重パリティ付きストライピング」と呼ばれる技術である。これはRAID 5の耐障害性をさらに高めたもので、2つの異なるパリティ情報を複数のディスクに分散して書き込む。これにより、最大2台のディスクが同時に故障しても、残りのデータと2つのパリティ情報を用いてデータを復元できる。RAID 5が一台のディスク故障にしか対応できないのに対し、RAID 6はより高いレベルの耐障害性を提供する。特に、大容量ディスクを使用するシステムや、ディスク数が多いシステムでは、ディスク故障のリスクが相対的に高まるため、RAID 6が選ばれることが多い。最低4台のディスクが必要で、利用できる容量はN-2台分の容量となる。パリティ計算が二重になるため、RAID 5と比較して書き込み性能はさらに低下する傾向がある。

RAID 10(RAID 1+0)は、RAID 1とRAID 0を組み合わせた「ネスト型RAID」の一つである。具体的には、まず複数のディスクをRAID 1のペアとしてミラーリングし、そのミラーリングされたペアをさらにRAID 0としてストライピングする構成である。例えば、4台のディスクを使用する場合、ディスク1と2でRAID 1を構成し、ディスク3と4でRAID 1を構成する。その後、この二つのRAID 1グループをまとめてRAID 0として構成する。これにより、RAID 0の高速性とRAID 1の高い耐障害性を両立できる。複数のディスクが故障した場合でも、異なるミラーリンググループに属していればデータを維持できる可能性が高く、非常に高い性能と信頼性が求められるエンタープライズシステムなどで利用されることが多い。ただし、利用可能な容量は物理容量の半分となり、最低4台のディスクが必要であるため、導入コストは高くなる傾向がある。

RAIDの実現方法には、主に「ソフトウェアRAID」と「ハードウェアRAID」、「ファームウェアRAID」の三種類がある。

ソフトウェアRAIDは、オペレーティングシステム(OS)の機能としてRAIDを実現する方法である。特別なハードウェアは不要で、既存のサーバーやPCに搭載されたディスクを使ってRAIDを構成できるため、コストを抑えられるという利点がある。しかし、OSのCPUリソースを使用してRAID処理を行うため、システムのCPU負荷が高くなる場合があり、ハードウェアRAIDに比べて性能が劣る可能性がある。また、OSが起動している間しかRAID機能が動作しないため、OSの起動ディスクとして利用する場合には制限があることも多い。

ハードウェアRAIDは、専用のRAIDコントローラカードをシステムに搭載してRAIDを実現する方法である。このコントローラカードには専用のプロセッサやキャッシュメモリが搭載されており、RAID処理を独立して行うため、システムのCPU負荷を軽減し、高い性能を発揮できる。OSからは単一の論理ドライブとして認識されるため、OSの導入や管理が容易である。高価であるものの、エンタープライズ環境や高い性能と信頼性が求められるシステムでは一般的にハードウェアRAIDが採用される。コントローラ自体にバッテリーバックアップ付きキャッシュメモリを持つことで、停電時にも書き込み中のデータを保護する機能なども提供されることがある。

ファームウェアRAIDは、マザーボードのチップセットが提供するRAID機能を利用する方法で、ソフトウェアRAIDとハードウェアRAIDの中間的な位置づけである。基本的なRAID機能を提供し、比較的安価に導入できる。OSのドライバをインストールすることでRAID機能が有効になる場合が多く、完全なハードウェアRAIDに比べると機能や性能面で劣ることもあるが、ソフトウェアRAIDよりは安定した動作が期待できる。

RAIDは、ストレージの性能と耐障害性を向上させる強力な技術であるが、万能ではない。全てのディスクが同時に故障したり、RAIDコントローラ自体が故障したりする可能性はゼロではなく、また、誤操作によるデータ削除やウイルス感染など、RAIDでは防ぎきれないデータ損失のリスクも存在する。そのため、RAIDを導入したシステムにおいても、定期的なバックアップはデータ保護のための最終手段として不可欠である。RAIDは「可用性」を高める技術であり、「データ損失からの復旧」を保証するものではないという理解が重要である。適切なRAIDレベルの選択は、システム要件、予算、求められる性能と耐障害性のバランスを考慮して行う必要がある。

関連コンテンツ

関連ITニュース