RAIDとは何ですか?
RAID (独立ディスクの冗長アレイ)は、データストレージ用の複数のディスクで構成されるセットアップです。これらは、データの損失を防ぎ、パフォーマンスを高速化するために相互にリンクされています。複数のディスクを使用すると、ディスクストライピングなどのさまざまな手法を使用できます。 、ディスクミラーリング 、およびパリティ 。
この記事では、 RAIDタイプ、それらの長所と短所、およびそれらの使用例について学びます 。

RAIDレベルとタイプ
RAIDレベルは、次のカテゴリに分類されます。
- 標準RAIDレベル
- 非標準のRAIDレベル
- ネストされた/ハイブリッドRAIDレベル
さらに、システムにRAIDを実装する方法を選択できます。したがって、ハードウェアRAID、ソフトウェアRAID、およびファームウェアRAIDから選択できます。
次のリストは、標準RAIDレベル(0、1、2、3、4、5、6)と一般的な非標準およびハイブリッドオプション(RAID 10)について説明しています。
RAID 0:ストライピング
RAID 0は、ストライプセットまたはストライプボリュームとも呼ばれ、少なくとも2つのディスクが必要です。ディスクは単一の大きなボリュームにマージされ、アレイ内のディスクの数全体にデータが均等に保存されます。
このプロセスはディスクストライピングと呼ばれ、データをブロックに分割し、複数のディスクに同時に/順次書き込む必要があります。ストライプディスクを単一のパーティションとして構成すると、複数のディスクが読み取りと書き込みの操作を同時に実行するため、パフォーマンスが向上します。したがって、RAID 0は通常、速度と効率を向上させるために実装されます。

アレイが異なるサイズのディスクで構成されている場合、それぞれがセットアップで最小のディスクサイズに制限されることに注意することが重要です。これは、2つのディスクで構成されるアレイ(1つは320 GB、もう1つは120 GB)が、実際には2 x 120 GB(または合計240 GB)の容量を持つことを意味します。
特定の実装では、残りの200GBをさまざまな用途に利用できます。さらに、開発者はパフォーマンスを向上させるために複数のコントローラー(またはディスクごとに1つ)を実装できます。
RAID 0は、最も手頃なタイプの冗長ディスク構成であり、セットアップが比較的簡単です。それでも、その構成には冗長性、フォールトトレランス、またはパーティは含まれていません。したがって、アレイ内のディスクのいずれかに問題があると、データが完全に失われる可能性があります。これが、別の場所にバックアップされた一時ファイルなど、重要ではないストレージにのみ使用する必要がある理由です。
RAID0の利点
- コスト効率が高く、実装が簡単です。
- 読み取りと書き込みのパフォーマンスが向上しました。
- オーバーヘッドなし(総容量使用)。
RAID0のデメリット
- フォールトトレランスや冗長性を提供しません。
RAID0を使用する必要がある場合
RAID 0は、パフォーマンスが優先され、信頼性が優先されない場合に使用されます。ドライブを最大限に活用し、データを失ってもかまわない場合は、RAID0を選択してください。
一方、そのような構成は必ずしも信頼できないものである必要はありません。データ保護と冗長性を確保する別のRAIDアレイとともに、システムにディスクストライピングを設定できます。
RAID 1:ミラーリング
RAID 1は、冗長性を確保するために同じデータがそれぞれに格納されている、少なくとも2つのディスクで構成されるアレイです。 RAID 1の最も一般的な使用法は、2つのディスクで構成されるミラーリングされたペアをセットアップすることです。このペアでは、最初のディスクの内容が2番目のディスクにミラーリングされます。このような構成がミラーリングとも呼ばれるのはこのためです。
速度とパフォーマンスのみに焦点を当てているRAID0とは異なり、RAID1の主な目標は冗長性を提供することです。故障したドライブをそのレプリカと交換することにより、データの損失とダウンタイムの可能性を排除します。

このような設定では、アレイボリュームは最小のディスクと同じ大きさであり、1台のドライブが動作している限り動作します。信頼性とは別に、要求はアレイ内の任意のドライブで処理できるため、ミラーリングによって読み取りパフォーマンスが向上します。一方、書き込みパフォーマンスは1つのディスクの場合と同じであり、構成内で最も遅いディスクと同じです。
RAID1の利点
- 読み取りパフォーマンスの向上。
- 冗長性とフォールトトレランスを提供します。
- 設定が簡単で使いやすい。
RAID1のデメリット
- ストレージ容量の半分しか使用しません。
- より高価です(2倍のドライバーが必要です)。
- 故障したドライブを交換するには、コンピューターの電源を切る必要があります。
RAID1を使用する必要がある場合
RAID 1は、データ損失のリスクを最小限に抑えるミッションクリティカルなストレージに使用されます。会計システムは、重要なデータを処理し、高い信頼性を必要とするため、RAID1を選択することがよくあります。
また、ディスクが2つしかない小規模なサーバーや、(自宅でも)簡単にセットアップできるシンプルな構成を探している場合にも適しています。
RAID 2:専用のハミングコードパリティを使用したビットレベルのストライピング
RAID 2は、今日実際に使用されることはめったにありません。これは、ビットレベルのストライピングとエラーチェックおよび情報修正を組み合わせたものです。このRAID実装には、2つのグループのディスクが必要です。1つはデータの書き込み用で、もう1つはエラー訂正コードの書き込み用です。 RAID 2には、すべてのディスクを同期して回転させるための特別なコントローラーも必要です。
RAID 2は、データブロックの代わりに、複数のディスクにビットレベルでデータをストライプ化します。さらに、ハミングエラーオード補正(ECC)を使用して、この情報を冗長ディスクに保存します。

配列はその場でエラーコード訂正を計算します。データの書き込み中に、データをデータディスクにストリップし、コードを冗長ディスクに書き込みます。一方、ディスクからデータを読み取ると同時に、冗長ディスクからも読み取り、データを検証し、必要に応じて修正します。
RAID2の利点
- 信頼性。
- 保存されている情報を修正する機能。
RAID2のデメリット
- 高価です。
- 実装が難しい。
- ECCにはディスク全体が必要です。
レイド2を使用する必要がある場合
RAID 2は、その機能のほとんどが最新のハードディスクで利用できるようになったため、今日では一般的な方法ではありません。コストと実装要件のため、このRAIDレベルは開発者の間で普及することはありませんでした。
RAID 3:専用パリティを使用したビットレベルのストライピング
RAID 2と同様に、RAID3が実際に使用されることはめったにありません。このRAID実装は、ビットレベルのストライピングと専用のパリティディスクを利用します。このため、少なくとも3つのドライブが必要です。2つはデータストリップの保存に使用され、1つはパリティに使用されます。
同期スピニングを可能にするには、RAID3にも特別なコントローラーが必要です。構成と同期されたディスクスピニングにより、ランダムな読み取り/書き込み操作よりもシーケンシャル操作で優れたパフォーマンスレートを実現します。

RAID3の利点
- 大量のデータを転送する場合のスループットが良好です。
- シーケンシャル操作による高効率。
- ディスク障害の回復力。
RAID3のデメリット
- 小さなファイルの転送には適していません。
- 実装する複雑さ。
- ソフトウェアRAIDとして設定するのは難しい。
RAID3を使用する必要がある場合
RAID 3は、現在一般的に使用されていません。その機能は、長いシーケンシャルな読み取りと書き込み(ビデオの編集や制作など)に高い転送速度を必要とする限られた数のユースケースに役立ちます。
RAID 4:専用パリティを使用したブロックレベルのストライピング
RAID 4は、もう1つの人気のない標準RAIDレベルです。これは、2つ以上の独立したディスクと専用のパリティディスクにまたがるブロックレベルのデータストライピングで構成されています。
実装には、少なくとも3つのディスクが必要です。2つはデータストリップの保存用で、もう1つはパリティの保存と冗長性の提供専用です。各ディスクは独立しており、同期された回転がないため、コントローラーは必要ありません。

RAID 4構成では、各データブロックのパリティビットを単一のドライブに格納するときにボトルネックが発生する傾向があります。このようなシステムのボトルネックは、システムのパフォーマンスに大きな影響を及ぼします。
RAID4の利点
- 高速読み取り操作。
- ストレージのオーバーヘッドが少ない。
- 同時I/Oリクエスト。
RAID4のデメリット
- 全体的なパフォーマンスに大きな影響を与えるボトルネック。
- 書き込み操作が遅い。
- パリティディスクに障害が発生すると、冗長性が失われます。
RAID4を使用する必要がある場合
構成を考慮すると、RAID 4は、巨大なファイルのデータプロセスの順次読み取りと書き込みを必要とするユースケースで最適に機能します。それでも、RAID 3と同様に、ほとんどのソリューションでは、RAID4がRAID5に置き換えられています。
RAID 5:パリティ付きストライピング
RAID 5は、最も安全で最も一般的なRAID実装と見なされています。ストライピングとパリティを組み合わせて、高速で信頼性の高いセットアップを提供します。このような構成により、RAID1と同様にユーザーストレージの使いやすさとRAID0のパフォーマンス効率が得られます。
このRAIDレベルは、少なくとも3台のハードドライブ(最大16台)で構成されます。データはデータストリップに分割され、アレイ内のさまざまなディスクに分散されます。これにより、アレイ内の異なるドライブで同時に実行できる高速読み取りデータトランザクションにより、高いパフォーマンスレートが可能になります。

パリティビットは、データの各シーケンスが保存された後、すべてのディスクに均等に分散されます。この機能により、ドライブに障害が発生した場合でも、パリティビットからのデータにアクセスできます。したがって、RAID 5は、ミラーリングではなくパリティビットを介して冗長性を提供します。
RAID5の利点
- 高性能と容量。
- 高速で信頼性の高い読み取り速度。
- 単一ドライブの障害を許容します。
RAID5のデメリット
- 再構築時間が長くなります。
- ストレージ容量の半分を使用します(パリティのため)。
- 複数のディスクに障害が発生すると、データが失われます。
- 実装がより複雑になります。
RAID5を使用する必要がある場合
RAID 5は、効率が高く、ストレージが最適化されているため、ファイルサーバーやアプリケーションサーバーによく使用されます。さらに、継続的なデータアクセスが優先される場合や、アレイにオペレーティングシステムをインストールする必要がある場合は、費用対効果の高いソリューションとして最適です。
RAID 6:ダブルパリティによるストライピング
RAID 6は、RAID 5に似たアレイですが、ダブルパリティ機能が追加されています。このため、ダブルパリティRAIDとも呼ばれます。
このセットアップには、最低4台のドライブが必要です。セットアップはRAID5に似ていますが、ディスク全体に分散された2つの追加のパリティブロックが含まれています。したがって、ブロックレベルのストライピングを使用してデータをアレイ全体に分散し、データブロックごとに2つのパリティブロックを格納します。

2つのパリティブロックを使用したブロックレベルのストライピングにより、データが失われる前に2つのディスク障害が発生する可能性があります。これは、2つのディスクに障害が発生した場合でも、RAIDが必要なデータを再構築できることを意味します。
そのパフォーマンスは、アレイの実装方法とドライブの総数によって異なります。二重パリティ機能があるため、書き込み操作は他の構成に比べて遅くなります。
RAID6の利点
- 高いフォールトトレランスとドライブ障害耐性。
- ストレージ効率(4つ以上のドライブを使用する場合)。
- 高速読み取り操作。
RAID6のデメリット
- 再構築には最大24時間かかる場合があります。
- 書き込みパフォーマンスが遅い。
- 実装する複雑さ。
- より高価です。
RAID6を使用する必要がある場合
RAID 6は、データの損失を許容できないミッションクリティカルなアプリケーションに適したソリューションです。そのため、防衛部門、ヘルスケア、銀行のデータ管理によく使用されます。
RAID 10:ストライピングによるミラーリング
RAID 10は、ネストされたRAIDまたはハイブリッドRAIDと呼ばれるグループの一部です。つまり、2つの異なるRAIDレベルの組み合わせです。 RAID 10の場合、アレイはレベル1のミラーリングとレベル0のストライピングを組み合わせています。このRAIDアレイは、RAID 1+0とも呼ばれます。
RAID 10は、論理ミラーリングを使用して2つ以上のドライブに同じデータを書き込み、冗長性を提供します。 1つのディスクに障害が発生した場合、別のディスクに保存されているデータのミラーイメージがあります。さらに、アレイはブロックレベルのストライピングを使用して、データのチャンクをさまざまなドライブに分散します。これにより、データが複数のディスクから同時にアクセスされるため、パフォーマンスと読み取りおよび書き込み速度が向上します。

このような構成を実装するには、アレイに少なくとも4台のドライブとディスクコントローラーが必要です。
RAID10の利点
- 高性能。
- 高いフォールトトレランス。
- 高速な読み取りおよび書き込み操作。
- 再構築時間が短い。
RAID10のデメリット
- スケーラビリティが制限されています。
- コストがかかる(他のRAIDレベルと比較して)。
- ディスク容量の半分を使用します。
- 設定がより複雑です。
RAID10を使用する必要がある場合
RAID 10は、大量のデータの保存、高速な読み取りおよび書き込み時間、および高いフォールトトレランスを必要とするユースケースでよく使用されます。したがって、このRAIDレベルは、多くの場合、電子メールサーバー、Webホスティングサーバー、およびデータベースに実装されます。
非標準RAID
上記のRAIDレベルは、標準または一般的に使用されるRAID実装と見なされます。ただし、独立したディスクの冗長アレイを設定する方法は無数にあります。
したがって、多くのオープンソースプロジェクトや企業は、ニーズに合わせて独自の構成を作成しています。その結果、次のような多くの非標準RAID実装があります。
- RAID-DP
- Linux MD RAID 10
- RAID-Z
- ドライブエクステンダー
- 非クラスター化RAID
ネストされた(ハイブリッド)RAID
2つ以上の標準RAIDレベルを組み合わせて、パフォーマンスと冗長性を向上させることができます。このような組み合わせは、ネストされた(またはハイブリッドの)RAIDレベルと呼ばれます。
ハイブリッドRAID実装は、それらが組み込むRAIDレベルにちなんで名付けられています。ほとんどの場合、それらには2つの数字が含まれており、その順序は階層化スキームを表しています。
一般的なハイブリッドRAIDレベルは次のとおりです。
- RAID 01(ストライピングとミラーリング。「ストライプのミラー」とも呼ばれます)
- RAID 03(バイトレベルのストライピングと専用パリティ)
- RAID 10(ディスクミラーリングとストレートブロックレベルのストライピング)
- RAID 50(分散パリティおよびストレートブロックレベルストライピング)
- RAID 60(デュアルパリティおよびストレートブロックレベルのストライピング)
- RAID 100(RAID 10のストライプ)
RAID実装タイプ
RAIDを利用する方法は3つあり、処理が行われる場所によって異なります。
ハードウェアベースのRAID
ハードウェアをインストールする場合 セットアップでは、マザーボードの高速PCI-ExpressスロットにRAIDコントローラカードを挿入し、ドライブに接続します。コントローラカードを内蔵した外部RAIDドライブエンクロージャも利用できます。
ソフトウェアベースのRAID
ソフトウェアの場合 セットアップでは、RAIDコントローラーを使用せずに、ドライブをコンピューターに直接接続します。その場合、オペレーティングシステムのユーティリティソフトウェアを使用してディスクを管理します。
ファームウェア/ドライバーベースのRAID
ファームウェアベースのRAID(ドライバーベースのRAIDとも呼ばれます)は、マザーボードに直接保存されることが多いRAIDシステムです。そのすべての操作は、専用のプロセッサではなく、コンピュータのCPUによって実行されます。