【RAID】RAID 0, 1, 5, 6, 10 各レベルの仕組みと特徴を解説!

Linux

サーバーや高性能なワークステーションを扱う際、「RAID」という言葉を耳にする機会は多いでしょう。ストレージの性能向上やデータ保護のために利用される重要な技術ですが、「RAID 0」「RAID 1」「RAID 5」など様々なレベルがあり、それぞれに特徴やメリット・デメリットが存在します。

「どのRAIDレベルを選べばいいの?」 「それぞれの仕組みはどう違うの?」

今回は、そんな疑問をお持ちの方に向けて、主要なRAIDレベルの基本的な仕組み、パフォーマンス、冗長性(データ保護能力)、そして利用上の注意点などを分かりやすく解説していきます。

RAIDとは? ~複数のディスクを束ねる技術~

RAID(レイド)は、Redundant Array of Independent Disks の略称で、日本語では「独立ディスクの冗長配列」などと訳されます。その名の通り、複数台の独立した物理ディスク(HDDやSSD)を、あたかも一つの大きな論理ディスクであるかのように運用するための技術です。

RAIDを構成する主な目的は、以下のいずれか、または両方を実現することです。

  1. パフォーマンスの向上: 複数のディスクに同時にアクセスすることで、読み書き速度を高める。
  2. 冗長性の確保: 一部のディスクに障害が発生しても、データが失われずに運用を継続できるようにする(耐障害性の向上)。

これらの目的をどのようにバランスさせるかによって、様々な「RAIDレベル」が存在します。

主要なRAIDレベルの解説

ここでは、一般的に利用される主要なRAIDレベルについて、それぞれの仕組みと特徴を見ていきましょう。

RAID 0:ストライピング (Striping)

  • 仕組み: データをブロック単位に分割し、複数のディスクに分散して同時に書き込みます(ストライピング)。例えば、データ「12345678」を2台のディスクでRAID 0構成にすると、「1357」がディスク1に、「2468」がディスク2に、というように交互に書き込まれます。
  • 特徴・メリット: 複数のディスクへ同時に読み書きするため、ディスクアクセス速度が大幅に向上します。また、複数ディスクの容量を合算した、大容量のストレージとして利用できます。
  • デメリット・注意点: 冗長性が全くありません。構成ディスクのうち1台でも障害が発生すると、全てのデータが失われます。データ保護の観点からは非常に脆弱です。
  • 最小ドライブ数: 2台

RAID 1:ミラーリング (Mirroring)

  • 仕組み: 2台(以上)のディスクに、全く同じデータを同時に書き込みます。文字通り、一方のディスクがもう一方の「鏡(ミラー)」となります。
  • 特徴・メリット: 高い冗長性を持ちます。構成ディスクのうち1台が故障しても、もう一方のディスクに全く同じデータが存在するため、データ損失なく運用を継続できます。読み込み速度は、構成ディスクの台数分だけ向上する可能性があります(並列読み込み)。
  • デメリット・注意点: 書き込み速度は単一ディスクと同等です。また、利用可能なストレージ容量は、構成ディスクの総容量の半分(2台構成の場合)になってしまうため、コスト効率は低くなります。
  • 最小ドライブ数: 2台

RAID 5:分散パリティ付きストライピング (Striping with Distributed Parity)

  • 仕組み: RAID 0のようにデータをブロック単位で複数のディスクに分散書き込み(ストライピング)しつつ、「パリティ」と呼ばれる誤り訂正符号を生成し、これも各ディスクに分散して書き込みます。
  • 特徴・メリット: 構成ディスクのうち1台が故障しても、残りのデータブロックとパリティ情報から、失われたデータを復元できます(冗長性の確保)。RAID 1ほどの容量効率の低下はなく(ディスクN台構成でN-1台分の容量が利用可能)、読み込み性能も良好です。パフォーマンス、容量効率、冗長性のバランスが取れています。
  • デメリット・注意点: パリティ計算のため、書き込み時にはRAID 0やRAID 1よりも若干のオーバーヘッドが発生します。また、ディスク故障時には復旧(リビルド)処理に時間がかかり、その間は性能が低下し、さらなるディスク故障に対する耐性も失われます。同時に2台のディスクが故障するとデータを損失します
  • 最小ドライブ数: 3台

RAID 6:二重分散パリティ付きストライピング (Striping with Double Distributed Parity)

  • 仕組み: RAID 5と同様にデータとパリティを各ディスクに分散して書き込みますが、パリティ情報を2種類(二重パリティ)生成して書き込みます。
  • 特徴・メリット: 同時に2台のディスクが故障しても、データの復元が可能です。RAID 5よりもさらに高い冗長性・耐障害性を持ちます。特にディスク台数が多い大規模なストレージシステムや、より重要なデータを扱う場合に適しています。
  • デメリット・注意点: 2種類のパリティ計算が必要なため、RAID 5よりも書き込み時のパフォーマンスへの影響(オーバーヘッド)が大きくなります。また、利用可能な容量もディスクN台構成でN-2台分となります。
  • 最小ドライブ数: 4台

RAID 10 (RAID 1+0):ミラーリングとストライピングの組み合わせ (Nested RAID)

  • 仕組み: まず複数のディスクペアを作成し、各ペア内でRAID 1(ミラーリング)を構成します。その後、これらのミラーリングされたペア全体を一つのグループとして、RAID 0(ストライピング)で結合します。「ミラーのストライプ」とも呼ばれます。
  • 特徴・メリット: RAID 1の冗長性と、RAID 0の高速な読み書き性能を両立します。高いパフォーマンスと高い耐障害性を持ちます。各ミラーペア内で1台ずつ、合計で構成台数の半分までのディスク故障に耐えられる可能性があります(ただし、同一ペア内のディスクが2台とも故障するとデータは失われます)。
  • デメリット・注意点: RAID 1と同様に、利用可能なストレージ容量は構成ディスクの総容量の半分となるため、コスト効率は低くなります。
  • 最小ドライブ数: 4台(2台ずつのペアが最低2組必要)

JBOD (Just a Bunch Of Disks) との違い

JBODは「Just a Bunch Of Disks」の略で、RAIDとは異なります。これは単に複数のディスクを束ねて、OSからはあたかも一つの大きなディスクであるかのように見せたり(スパニング)、あるいは個々のディスクとして認識させたりする技術です。

  • 特徴: RAIDのようなストライピングやミラーリング、パリティ計算は行いません。そのため、JBOD自体にはパフォーマンス向上効果や冗長性はありません。ディスクが1台故障すれば、そのディスクに保存されていたデータは失われます。
  • 用途: 複数のディスク容量を単純に合算して大容量ストレージとして利用したい場合などに使われます。ソフトウェアRAIDなど、OSや別の仕組みで冗長性を確保する場合の基礎として利用されることもあります。

まとめ

主要なRAIDレベルについて、その仕組みと特徴を解説しました。

  • RAID 0: 速度最優先、冗長性なし
  • RAID 1: 冗長性最優先、容量効率は低い
  • RAID 5: 速度・容量・冗長性のバランス型、1台の故障まで対応
  • RAID 6: 高い冗長性、2台の故障まで対応、書き込み性能はやや犠牲
  • RAID 10: 高速性と高い冗長性を両立、コスト高

どのRAIDレベルを選択するかは、求めるパフォーマンス、必要なデータの保護レベル(冗長性)、そしてコスト(利用可能な容量)のバランスによって決まります。システムの要件やデータの重要度に応じて、最適なRAID構成を検討することが重要です。

最後までお読みいただき、ありがとうございました。

コメント

タイトルとURLをコピーしました