1 RAID
1.1 RAIDとは
RAIDという言葉は、1987年にカリフォルニア大学バークレー校のDavid Patterson、Garth A. Gibson、Randy Katzによって発明されました。1988年6月のSIGMOD会議で提出された論文「A Case for Redundant Arrays of Inexpensive Disks」で提案されました。ディスクシステムのパフォーマンスを向上させるため、多数の安価なディスクでディスクグループを作り、高価な大型コンピュータの単一の大容量ディスクを性能面で上回ることを提案しました。
この論文では、RAIDの5つのレベル(RAID 1、RAID 2、RAID 3、RAID 4、RAID 5)も定義され、これらは現在も使用されています。
- 旧称:廉価ディスク冗長アレイ(Redundant Array of Inexpensive Disks)
- 現称:独立ディスク冗長アレイ(Redundant Array of Independent Disks)
- 略称:ディスクアレイ
仮想化ストレージ技術を利用して複数のハードディスクを組み合わせ、1つまたは複数のディスクアレイグループを形成します。目的は性能向上やデータ冗長性の確保、あるいはその両方を同時に向上させることです。
RAIDレベルによって、データは様々な方式で各ディスクに分散されます。RAIDレベルの命名は「RAID」で始まり、数字が続きます(例:RAID 0、RAID 1、RAID 5、RAID 6、RAID 7、RAID 01、RAID 10、RAID 50、RAID 60)。各レベルには理論上の長所と短所があり、データの信頼性向上とストレージ(グループ)の読み書き性能向上という2つの目標間でバランスを取っています。
簡単に言えば、RAIDは複数のハードディスクを1つの論理ディスクとして組み合わせるため、オペレーティングシステムはそれを1つの物理ディスクとして認識します。RAIDはサーバーコンピュータでよく使用され、通常は完全に同一のハードディスクを組み合わせて使用します。ハードディスクの価格低下とRAID機能のマザーボードへの効果的な統合により、一般ユーザーにとっても選択肢の1つとなっています。特に、ビデオやオーディオ制作など、大容量のストレージスペースが必要な作業に適しています。
RAID機能の実現
- IO能力の向上:ディスクの並列読み書き
- 耐久性の向上:ディスク冗長アルゴリズムの実装
RAIDの実装方法
- 外付けディスクアレイ:拡張カードを通じて適応能力を提供
- 内蔵RAID:マザーボードに統合されたRAIDコントローラー、OSインストール前にBIOSで設定
- ソフトウェアRAID:OSを通じて実現、例:NAS
3.2 RAIDレベル
レベル:複数のディスクが一緒に動作する方法が異なります。
参考リンク: https://ja.wikipedia.org/wiki/RAID
3.2.1 RAID-0
チャンク単位でデータの読み書きを行います。読み書き時に並列処理ができるため、すべてのレベルの中でRAID 0の速度が最速です。ただし、RAID 0には冗長機能も耐障害性もないため、1つのディスク(物理)が損傷すると、すべてのデータが失われます。
特徴:
- 読み書き性能の向上
- 利用可能な容量:N*min(S1,S2,...)
- 耐障害性なし
- 最小ディスク数:1+
3.2.2 RAID-1
ミラーリングとも呼ばれ、2組以上のN個のディスクが相互にミラーリングを行います。一部のマルチスレッドOSでは優れた読み取り速度を発揮し、理論上の読み取り速度はハードディスク数の倍数となり、RAID 0と同等です。ただし、書き込み速度はわずかに低下します。
特徴:
- 読み取り性能の向上、書き込み性能のわずかな低下
- 利用可能な容量:1*min(S1,S2,...)
- ディスク利用率 50%
- 冗長性あり
- 最小ディスク数:2+
3.2.3 RAID-4
特徴:
- 複数のデータディスクのXOR演算値を専用のパリティディスクに保存
- ディスク利用率 (N-1)/N
- 冗長性あり
- 最低3台のハードディスクが必要
3.2.4 RAID-5
特徴:
- 読み書き性能の向上
- 利用可能な容量:(N-1)*min(S1,S2,...)
- 耐障害性あり:最大1台のディスク故障を許容
- 最小ディスク数:3, 3+
3.2.5 RAID-6
特徴:
- 二重パリティ、より複雑なアルゴリズム
- 読み書き性能の向上
- 利用可能な容量:(N-2)*min(S1,S2,...)
- 耐障害性あり:最大2台のディスク故障を許容
- 最小ディスク数:4, 4+
3.2.6 RAID-10
特徴:
- 読み書き性能の向上
- 利用可能な容量:N*min(S1,S2,...)/2
- 耐障害性あり:各ミラーグループで最大1台のみ故障可能
- 最小ディスク数:4, 4+
3.2.7 RAID-01
特徴:
- 複数のディスクでまずRAID 0を構成し、その後RAID 1を構成
3.2.8 RAID-50
特徴:
- 複数のディスクでまずRAID 5を構成し、その後RAID 0を構成
3.2.9 RAID-60
3.2.10 その他のレベル
3.2.10.1 JBOD(Just a Bunch Of Disks)
特徴:
- 複数のディスクの容量を1つの大きな連続した空間として使用
- 最初のハードディスクにすべてのディスクのセグメント情報を保存し、損傷するとアレイ全体が失敗
- 後続のディスクの損傷は、そのディスクのデータにのみ影響
- 利用可能な容量:sum(S1,S2,...)
3.2.10.2 RAID7
RAID 7は公開のRAID標準ではなく、米国のStorage Computer Corporationの特許ハードウェア製品名です。RAID 3とRAID 4を基礎に発展させ、元々の制限を解決しています。また、実装では大量のバッファメモリと非同期アレイ管理用の専用リアルタイムプロセッサを使用し、大量のI/O要求を同時に処理できるため、他の多くのRAID標準の実際の製品よりも性能が高くなっています。ただし、そのため価格も非常に高額です。RAID 7は独立したストレージコンピュータとして理解でき、独自のOSと管理ツールを持ち、独立して動作可能で、理論上最高性能のRAIDモードとされています。
3.2.10.3 SHR(Synology Hybrid RAID)
Synology社の技術で、RAIDに詳しくない一般ユーザーに適しています。ディスク数に応じて自動的に異なるRAIDを構成します。1台の通常ディスク、2台でRAID 1、3台でRAID 4、SHR2はRAID 6に類似しています。Synologyシステムのみサポートしています。