RAID 3(レイドスリー)とは | 意味や読み方など丁寧でわかりやすい用語解説
RAID 3(レイドスリー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
レイドスリー (レイドスリー)
英語表記
RAID 3 (レイドスリー)
用語解説
RAID 3は、複数のディスクを組み合わせてデータ格納の信頼性や性能を高める技術であるRAID(Redundant Array of Independent Disks)レベルの一つだ。この方式は、データストライピングと専用のパリティディスクを組み合わせることで、データの耐障害性と特定の条件下での高いスループットを実現する。システムエンジニアを目指す初心者にとって、RAID 3の理解は、データの冗長化技術の多様性とその特性を学ぶ上で重要となる。
RAID 3の基本的な考え方は、データを複数のディスクに細かく分割して並行して書き込む「ストライピング」と、データの整合性を保証するための「パリティ」情報を専用のディスクに格納する点にある。具体的には、データはバイト単位で分割され、複数のデータディスクに分散して書き込まれる。例えば、3台のデータディスクがある場合、データの最初のバイトは1台目のディスク、次のバイトは2台目のディスク、その次のバイトは3台目のディスク、そしてその次のバイトは再び1台目のディスク、というように順番に書き込まれていく。同時に、これらのデータディスクに書き込まれたデータバイト情報から、排他的論理和(XOR)演算によってパリティ情報が計算される。このパリティ情報は、複数のデータディスクとは別に用意された「パリティ専用ディスク」に保存される。最低でも3台のディスク(2台のデータディスクと1台のパリティディスク)が必要となるが、一般的にはそれ以上のデータディスクが用いられることが多い。
データの読み書きにおいて、RAID 3は特定のアクセスパターンで高い性能を発揮する。データを読み出す際には、複数のデータディスクから同時にバイト単位でデータを取得するため、特に大きなファイルや連続したデータを扱う「シーケンシャルアクセス」において、高速なデータ転送が可能となる。これは、各ディスクが独立してデータの異なる部分を読み出すため、全体の帯域幅が向上するからだ。書き込み時も同様に、データが複数のディスクに分散して書き込まれるため、理論上は単一のディスクよりも高速な書き込みが期待できる。しかし、書き込みの際にはデータディスクへの書き込みに加えて、パリティディスクへのパリティ情報書き込みも発生するため、すべての書き込み処理はパリティディスクの処理速度に律速されることになる。
RAID 3の最大のメリットは、高い耐障害性にある。構成内のいずれか1台のディスクが故障した場合でも、残りのデータディスクに格納されているデータとパリティディスクに格納されているパリティ情報を用いて、失われたデータを完全に再構築できる。例えば、あるデータディスクが故障した場合、RAIDコントローラは残りのデータディスクからデータバイトを読み出し、パリティディスクからパリティバイトを読み出す。そして、これらの情報に対してXOR演算を適用することで、故障したディスクにあったデータバイトを正確に復元する。この再構築プロセスは「リビルド」と呼ばれ、システム運用中にディスク交換を行うことで、データの損失を防ぎながらシステムを復旧させることが可能だ。また、データ冗長化のためのディスクオーバーヘッドが比較的少ない点もメリットとして挙げられる。N台のデータディスクに加えて1台のパリティディスクを用意するだけで済むため、例えばRAID 1(ミラーリング)のようにデータ容量の半分を冗長化に使う場合に比べて、ディスクの実効容量効率が高い。
しかし、RAID 3にはいくつかのデメリットも存在する。最も大きな課題は、パリティディスクが書き込み性能のボトルネックとなりやすい点だ。データディスクの数に関わらず、すべての書き込み処理には必ずパリティディスクへのアクセスが伴う。これは、新しいデータを書き込むたびに、そのデータに対応する新しいパリティを計算し、パリティディスク上の既存のパリティを更新する必要があるためだ。特に、データベースのトランザクション処理のように、多数の小さなデータがランダムに書き込まれる「ランダムアクセス」が多い環境では、パリティディスクへのアクセスが集中し、全体のI/O性能が著しく低下する傾向がある。これは、パリティディスクがすべての書き込み要求に対して単一のI/Oパスとなるためだ。また、パリティディスクは他のデータディスクよりも頻繁に書き込みアクセスを受けるため、物理的な寿命が短くなる可能性もある。さらに、RAID 3は専用のパリティディスクを1台しか持たないため、同時に2台以上のディスクが故障すると、データを復旧させることができず、データが完全に失われるリスクがある。リビルドにかかる時間も、データ量が増えるほど長くなり、その間はシステムの性能が低下する可能性もある。
このような特性から、RAID 3は主に、大容量のシーケンシャルアクセスが頻繁に行われる環境に適している。具体的には、ビデオ編集システム、画像処理、科学技術計算、ストリーミング配信サーバー、データアーカイブなど、大きなファイルを一気に読み書きするようなワークロードでその真価を発揮する。バイトレベルのストライピングは、大容量の単一ファイルを効率的に分割して高速にアクセスするのに有利だからだ。逆に、データベースサーバーやWebサーバーのように、小さなデータブロックに対するランダムな読み書きが主体となる環境では、上述のパリティディスクボトルネックにより性能が大きく阻害されるため、不向きである。現在では、より汎用性の高いRAIDレベル、例えばパリティ情報を複数のディスクに分散して書き込むことでボトルネックを解消したRAID 5や、RAID 5の耐障害性を向上させたRAID 6などが主流となっており、RAID 3が積極的に採用されるケースは限られている。しかし、バイトレベルストライピングと専用パリティディスクという明確な特徴を持つRAID 3の理解は、RAID技術全体の理解を深める上で欠かせない基礎知識と言えるだろう。
総じて、RAID 3はバイトレベルのストライピングと専用パリティディスクにより、高いシーケンシャルスループットと単一ディスク障害への耐性を提供する。しかし、ランダムアクセス性能のボトルネックや、パリティディスクが単一故障点となる点が課題であり、適用されるワークロードが限定されるRAIDレベルの一つであると理解しておくべきだ。