RAID完全ガイド:仕組み・各レベルの比較・運用上の注意点と最新動向

導入:なぜRAIDが必要か

RAID(Redundant Array of Independent Disks)は、複数の物理ディスクを組み合わせて性能向上や冗長性(信頼性)を実現する技術です。単一ディスクの故障や性能限界に依存しない設計を可能にし、企業のサーバやNAS、ワークステーションまで幅広く使われています。ただしRAIDは万能ではなく、バックアップの代替にはならない点や、レベル選択によるトレードオフを理解することが重要です。

RAIDの基本概念

  • ストライピング(Striping):データを複数ディスクに分散して書き込むことで並列アクセスを可能にし、読み書き性能を向上させます。
  • ミラーリング(Mirroring):同一データを複数ディスクに複製し、耐障害性を確保します。
  • パリティ(Parity):データの冗長情報を用いて、故障したディスクのデータを再構築します(RAID5/6など)。
  • ホットスペア(Hot Spare):待機中のディスクを故障時に自動で組み込み、再構築を開始します。

代表的なRAIDレベルと特徴

  • RAID 0:ストライピングのみ。容量効率は100%で性能は向上しますが冗長性は皆無。ディスク1台でも故障すると全データを失います。
  • RAID 1:ミラーリング。読み取り速度は向上することが多いが、書き込みはほぼ単一ディスクと同等。容量効率は50%(2台構成の場合)。運用が簡単で復旧も速い。
  • RAID 5:ブロック単位でのストライプ+単一パリティ。ディスクn台で1台分が冗長化領域に相当。読み取りは良好、書き込みはパリティ計算による書き込みペナルティあり。大容量ディスク時の再構築中に2台目故障が起きるとデータ損失のリスクあり。
  • RAID 6:二重パリティ(デュアルパリティ)。RAID5より高い耐障害性(同時に2台故障まで耐えられる)。書き込みオーバーヘッドはさらに大きくなる。
  • RAID 10(1+0):ミラーのストライピング。ミラーの冗長性とストライプの性能を併せ持つ。ディスクコストは高くなるが、性能と信頼性のバランスが良い。
  • RAID 50 / RAID 60:RAID5/6のストライピングによる拡張。多数台構成での性能と冗長性向上を目的。

性能と容量の計算(概念)

RAIDの性能は主に読み取りIOPS、書き込みIOPS、シーケンシャル帯域で評価されます。ストライプサイズ(stripe width)やストライプ幅、ブロックサイズが性能に大きく影響します。容量効率は単純に合計容量から冗長分を差し引いた値です(例:RAID5で4台×4TB=12TB usable)。

書き込みのペナルティとWrite Hole

パリティ方式(RAID5/6)では、書き込み時に元データ・新データ・パリティの読み書きが発生するため書き込みペナルティがあります。これを緩和するためにキャッシュ(バッテリバックアップキャッシュ/BBU)やNVRAMが使われます。また、電源断やクラッシュ時にパリティとデータの整合が崩れる「write hole」と呼ばれる問題があり、ジャーナリングやコピーオンライト(例:ZFS)で回避する設計が一般化しています。

再構築(Rebuild)と信頼性の実務的注意点

ディスク容量の増大により再構築時間が長くなり、再構築中に別のディスクが故障する確率が高まっています。特にRAID5では再構築中の2台同時故障が致命的です。ディスクの未回復読み取りエラー(URE)や高いMTTF(平均故障間隔)を考慮し、重要データにはRAID6やRAID10、あるいはエルレージュアコーディング(erasure coding)を採用することが推奨されます。

ソフトウェアRAID vs ハードウェアRAID

  • ハードウェアRAID:専用コントローラがパリティ計算やキャッシュ制御を行う。OSからは単一のディスクとして見える。高性能で管理機能が豊富だが、コントローラ障害の際の移行性やコストに注意。
  • ソフトウェアRAID(例:mdadm/ZFS/Windows Storage Spaces):OSレイヤで実装され、移行性が高い。近年はCPU性能向上によりソフトウェアRAIDの性能も十分で、ZFSのようにデータ整合性保証機能を併せ持つものが注目されています。

SSD・NVMe時代のRAIDの考え方

SSDやNVMeは低レイテンシと高IOPSを提供しますが、RAIDにおける考慮点が変わります。TRIM/UNMAPのサポートやコントローラによるフラッシュの書き込み特性、ウェアレベリングの影響を考える必要があります。古いRAIDコントローラはTRIMを透過しない場合があり、SSDの性能や耐久性に悪影響を与えることがあります。NVMe-oFやソフトウェアレイヤの発展により、分散ストレージやエレイジャーコーディングを使った設計が増えています。

運用ベストプラクティス

  • RAIDはバックアップの代替ではない:災害や論理障害、ランサムウェア対策には別途バックアップ運用を行う。
  • 適切なRAIDレベル選択:重要性と予算に応じてRAID6/RAID10を検討。
  • ホットスペアと監視:自動再構築設定とSMART監視、アラート設定を行う。
  • 定期的な検証:リビルドテストやバックアップのリストア検証を実施。
  • ファームウェアとドライバの最新化:互換性とパフォーマンス維持のため。

よくある誤解

  • 「RAIDを組んでいればデータは消えない」:RAIDはハードウェア障害に強いが、ソフトウェア障害や人的ミス、ウイルスには無力。
  • 「RAID5で十分」:大容量ドライブ時代では再構築リスクが高まり、RAID6やRAID10がより安全な選択になる場合が多い。

最後に:設計時のチェックリスト

  • 必要な可用性(RTO/RPO)を明確にする
  • コストと性能のトレードオフを評価する
  • 再構築時間とドライブの信頼性を考慮する(容量増加に伴う影響)
  • バックアップ方針と運用手順を文書化する
  • 監視とアラート、定期テストを組み込む

参考文献