内容

·         1 はじめに

o    1.1 物理ディスクと論理ディスクの違い

o    1.2 データの読み書き

o    1.3 RAIDとは?

o    1.4 なぜRAIDを使うのか?

o    1.5 歴史

·         2 RAIDシステムで使用される基本的な概念

o    2.1 キャッシング

o    2.2 ミラーリング。データの複数のコピー

o    2.3 ストライピング。データの一部が別のディスクにある

o    2.4 誤り訂正と不具合

o    2.5 ホットスペア:必要以上に多くのディスクを使用する

o    2.6 ストライプサイズとチャンクサイズ:複数のディスクにデータを分散させる

o    2.7 ディスクをまとめるJBOD、連結またはスパニング

o    2.8 ドライブクローン

o    2.9 異なるセットアップ

·         3 基本:シンプルなRAIDレベル

o    3.1 一般的に使用されているRAIDレベル

§  3.1.1 RAID 0 の「ストライピング

§  3.1.2 RAID 1の「ミラーリング

§  3.1.3 RAID 5 "分散パリティによるストライピング"

§  3.1.4 写真

o    3.2 使用されるRAIDレベルが少ない

§  3.2.1 RAID 2

§  3.2.2 RAID 3 "専用パリティによるストライピング"

§  3.2.3 RAID 4 "専用パリティによるストライピング"

§  3.2.4 RAID 6

§  3.2.5 写真

o    3.3 非標準のRAIDレベル

§  3.3.1 ダブルパリティ/対角パリティ

§  3.3.2 RAID-DP

§  3.3.3 RAID 1.5

§  3.3.4 RAID 5E、RAID 5EE、RAID 6E

§  3.3.5 RAID 7

§  3.3.6 Intel Matrix RAID

§  3.3.7 Linux MD RAID ドライバ

§  3.3.8 RAID Z

§  3.3.9 画像

·         4 RAIDレベルの結合

·         5 RAIDの作成

o    5.1 ソフトウェアRAID

o    5.2 ハードウェアRAID

o    5.3 ハードウェア支援型RAID

·         6 ハードウェア障害に関するさまざまな用語

o    6.1 故障率

o    6.2 データ消失までの平均時間

o    6.3 平均回復までの時間

o    6.4 回復不能ビットエラーレート

·         7 RAIDの問題点

o    7.1 後からディスクを追加する

o    7.2 連携障害

o    7.3 原子性

o    7.4 復元不可能なデータ

o    7.5 ライトキャッシュの信頼性

o    7.6 機器の互換性

·         8 RAIDでできること、できないこと

o    8.1 RAIDでできること

o    8.2 RAIDでできないこと

·         9

·         10 参考文献

·         11 その他のサイト

RAIDとは、Redundant Array of Inexpensive DisksまたはRedundant Array of Independent Disksの頭文字をとったものです。RAIDはコンピューティングで使われる用語で、複数のハードディスク1つの論理ディスクとして扱う技術です。複数の物理ディスクを組み合わせることで、単一ディスクと比べて性能向上、冗長性(故障耐性)、容量拡張といった利点を得られますが、それぞれの構成には長所と短所があります。

RAIDを使う主な理由

  • データの紛失を少なくするため — 複数のコピーやパリティ情報を持つことで、ディスク故障時にもデータを保護できます(ただしバックアップの代替ではありません)。
  • 小さいディスクをたくさん持つことで容量を増やすため — 複数ディスクをまとめて大きな論理ボリュームを作れます。
  • システムの柔軟性向上 — ホットスワップやオンライン拡張により、システム稼働中にディスク交換や追加が可能です。
  • 性能向上 — ストライピングにより並列アクセスが可能になり、読み書き速度が向上します。

注意点(欠点)

  • RAIDは削除や上書きからデータを守りません — 人為的なミスやランサムウェア対策としてはバックアップが必要です。
  • 再構築(リビルド)時間が長い — 大容量のディスクでは故障後の再構築に時間がかかり、その間に別の障害が起きるリスクがあります。
  • 未訂正ビットエラー(URE/UBER)による読取不能 — パリティ再計算中にこれが発生すると再構築が失敗することがあります。
  • 設計や運用の複雑さ — コントローラの違いやファームウェア、ドライブの互換性などに注意が必要です。

歴史的背景

一般的にRAIDに関する基礎概念は1988年の論文にまとめられて以降、企業向けストレージで広く採用されてきました。近年は低コスト化により家庭用NASや家電にも搭載され、音楽や映画などのメディア保存にも使われています。

基本概念(物理ディスクと論理ディスク、読み書きの流れ)

物理ディスクは実際のハードディスクやSSDを指し、論理ディスク(論理ボリューム)はOSやアプリケーションから見えるまとまったストレージ領域です。RAIDコントローラ(ハードウェアまたはソフトウェア)が物理ディスク上にデータをどのように配置するかを管理します。データ読み書きは、配置方式(ミラー、ストライプ、パリティ等)に応じて複数ディスクに分散して実行されます。

RAIDで使われる主要な技術

  • キャッシュ:コントローラのメモリやフラッシュにデータを一時保存し、性能を改善します。書き込みキャッシュは電源障害時のデータ損失対策(BBUやFBU)を要します。
  • ミラーリング:同じデータを複数ディスクに保持(例:RAID 1)。読み取り性能の向上と高い冗長性が得られますが、使用量は実容量の半分になります。
  • ストライピング:データをブロック単位で複数ディスクに分散(例:RAID 0)。性能は向上しますが冗長性はありません。
  • パリティ(誤り検出・訂正):一定の情報を別のディスクに保持し、故障時にデータを再構築(RAID 5、RAID 6など)。容量効率と冗長性のバランスを取れます。
  • ホットスペア:予備ディスクを待機させ、自動で再構築を開始します。
  • ストライプ/チャンクサイズ:1回のI/Oで各ディスクに割り当てられるデータ量。ワークロードに合わせて最適化が必要です。
  • JBOD(Just a Bunch Of Disks):ディスクをそのまま連結する方式でRAIDではなく、単純なスパニングです。

代表的なRAIDレベル(初心者向け解説)

以下はよく使われる主要なレベルです。

  • RAID 0(ストライピング):複数ディスクにデータを分散します。性能は向上しますが冗長性はなく、1台でも故障するとデータは失われます。容量は全ディスク容量の合計。
  • RAID 1(ミラーリング):同じデータを2台以上に複製します。1台が故障しても動作継続可能。読み取り性能は向上、書き込みはやや低下。容量は最小ディスク容量に等しい。
  • RAID 5(分散パリティ):パリティ情報を分散して格納し、1台のディスク故障に耐えられます。容量は(N-1)×単一ディスク容量。読み取りは高速、書き込みはパリティ計算のためコストがかかります。
  • RAID 6(ダブルパリティ):2つの独立したパリティを持ち、2台の同時故障に耐えます。容量は(N-2)×単一容量。大容量ディスクや多数台構成で安全性が高まります。
  • RAID 10(1+0、ミラーのストライピング):ミラーをストライプ化したもの。性能と冗長性のバランスが良く、書き込み性能も比較的高い。最低4台必要。

非標準/拡張RAID

ベンダーやOSごとに独自の拡張(RAID 5E/5EE/6E、RAID-DP、RAID-Z、Intel Matrix RAID、Linux MD RAID など)があります。これらはパリティ方式や配置、リビルドの最適化などを工夫したものです。選択時には互換性と実装差に注意してください。

RAIDの作成方法

  • ソフトウェアRAID:OSが直接RAIDを実装(例:Linux mdadm、WindowsソフトウェアRAID)。コストが低く柔軟ですが、CPU負荷が増えます。
  • ハードウェアRAID:専用コントローラカードがRAIDを処理。オフロードにより性能が良いことが多いですが、コントローラ故障時の移行に注意が必要です。
  • ハードウェア支援型(ローカル/ファームウェア):ソフトウェアとハードウェアの中間的実装があり、コストと性能のバランスを取ります。

ハードウェア障害に関する用語(簡単な説明)

  • 故障率:一定期間内の故障確率。MTBF(平均故障間隔)で表されることが多い。
  • データ消失までの平均時間(MTTDL):システムがデータを失うまでの期待時間。冗長度やリビルド時間に依存します。
  • 平均回復時間(MTTR):故障から復旧するまでの平均時間。
  • 復元不可能ビットエラーレート(UBER):読み取り時にビットエラーを検出・訂正できない確率。大容量ディスクで問題となります。

よくある問題と注意点

  • 後からディスクを追加する:オンラインで拡張可能な場合もありますが、互換性やパフォーマンスが変わることがあります。
  • 連携障害(コントローラやファームウェアの違い):同一型番・同一ファームウェアで揃えると安全です。混在は問題を招くことがあります。
  • 原子性と整合性:複数ディスクにまたがる操作で整合性を保つ仕組み(ジャーナリングなど)が必要です。
  • ライトキャッシュの信頼性:書き込みキャッシュは電源障害でデータを失うリスクがあるため、BBU/キャッシュフラッシュ機構が重要です。

RAIDでできること、できないこと

できること:ディスク故障からの可用性向上、読み取り/書き込み性能の向上(構成による)、論理容量の拡張。

できないこと:削除・上書き・暗号化(ランサムウェア)からの保護、ソフトウェア的破損やユーザー操作ミスの防止。RAIDはバックアップの代替ではありません。

選び方(用途別の簡易ガイド)

  • 家庭用NAS・メディア保存:性能より冗長性を重視するならRAID 1またはRAID 5(3台以上)、大量保存か安全性重視ならRAID 6。
  • データベースや仮想化などI/Oが重要な用途:高い性能と冗長性を両立するRAID 10がおすすめ。
  • コストを最優先:RAID 0は速いが冗長性ゼロ。重要データには向きません。

運用のベストプラクティス

  • RAIDはバックアップではないため、定期的な外部バックアップを必ず行う。
  • 同一モデル・同一ファームウェアのドライブを使う。
  • ホットスペアや予備ドライブを準備し、障害時は速やかに交換して再構築を行う。
  • SMARTや監視ツールでドライブを監視し、異常予兆に早く対応する。
  • リビルド時間を短くするために、RAIDレベル選択やストライプサイズを考慮する。
  • コントローラの互換性やサポートポリシーを確認する(メーカーによってリカバリの方法が異なる)。

具体例

  • 単純なバックアップ用(重要度中) → 2台でRAID 1
  • 家庭のマルチメディア保存(速度+冗長性) → 3台でRAID 5、または4台でRAID 6
  • WebサーバやDB(高性能+冗長性) → RAID 10(最低4台)

まとめ

RAIDは性能・冗長性・容量拡張を提供する強力な技術ですが、万能ではありません。導入時には目的(可用性重視か性能重視か)、運用体制(バックアップ、監視、交換手順)、ハードウェア互換性を明確にし、適切なRAIDレベルと管理方法を選ぶことが重要です。

技術の基本は古い論文にあるものの、現在は多様な実装と拡張が存在します。用途に応じてソフトウェアRAID、ハードウェアRAID、RAID-Zやベンダー独自方式などを比較検討してください。最終的には「RAIDは守りを強くするがバックアップは別」という原則を忘れないでください。

技術的詳細や各RAIDレベルのベンチマーク、リビルド時間の推定など、必要であれば次の節で具体的数値や設定例を追加します。ご希望の用途(家庭用NAS、サーバ、映像編集など)を教えてください。最適なRAID構成を一緒に検討します。