目次
I. 概要:
RAID (Redundant Array of Inexpensive Disks) は、安価なディスクの冗長アレイと呼ばれます。RAID の基本的な考え方は、複数の安価な小型ディスクを組み合わせて大きなディスク グループを作成し、大容量で高価な高速読み取り/書き込みディスクのパフォーマンスに匹敵するか、それを超えるパフォーマンスを実現することです。
現在、RAID テクノロジーは主に、ハードウェア ベースの RAID テクノロジーとソフトウェア ベースの RAID テクノロジーの 2 種類に分類されます。
Linux システムでは、内蔵ソフトウェアを通じて RAID 機能をシミュレートできるため、高価なハードウェア RAID コントローラの購入コストが節約され、ディスクの IO パフォーマンスと信頼性が大幅に向上します。
ソフトウェアを使用してRAID機能をシミュレートするため、柔軟な構成と管理が容易です。ソフトウェア RAID を同時に使用すると、複数の物理ディスクをより大きな仮想デバイスに結合して、パフォーマンスの向上とデータの冗長性を実現することもできます。
もちろん、ハードウェア ベースの RAID ソリューションは、パフォーマンスの点で、特にマルチビット エラーの検出と修復機能、障害ディスクの自動検出、アレイの再構築の点で、ソフトウェア ベースの RAID テクノロジーよりも優れています。
2. RAID レベルの概要
RAID テクノロジーの継続的な開発により、現在では、RAID 0 から RAID 6 までの 7 つの基本的な RAID レベルに加え、RAID 0+RAID 1 の組み合わせ (RAID10 と呼ばれます)、および RAID 0+RAID 5 の組み合わせ (RAID50 と呼ばれます) が存在します。 。もちろん、レベルはテクノロジーのレベルを表すものではなく、RAID 2 ~ RAID 4 は基本的には使用されなくなりました。
現在、Linux カーネルは、これらの一般的に使用される RAID レベルをサポートできます。Linux 2.6 カーネルのソフトウェア RAID は、RAID 0、RAID 1、RAID 4、RAID 5、RAID 6 などのレベルをサポートできます。上記の RAID レベルのサポートに加えて、Linux 2.6 カーネルは LINEAR (リニア モード) ソフト RAID もサポートできます。リニア モードでは、2 つ以上のディスクが 1 つの物理デバイスに結合されます。ディスクは同じサイズである必要はありません。ディスク A は、 RAID デバイスに書き込むときに最初に書き込まれ、次にディスク B というように続きます。
RAID 0
ストライプ モードとも呼ばれるこのモードでは、連続データが複数のディスクに分散されてアクセスされます。
システムにデータ要求がある場合、その要求は複数のディスクで並行して実行でき、各ディスクはデータ要求の独自の部分を実行します。この種のデータの並列操作により、ディスク バスの帯域幅が最大限に活用され、全体的なディスク アクセス パフォーマンスが大幅に向上します。
デバイス上で読み取りと書き込みが並行して行われるため、読み取りと書き込みのパフォーマンスが向上します。これが、多くの場合、RAID 0 を実行する主な理由です。
ただし、RAID 0 にはデータの冗長性がないため、ハード ドライブの 1 つが故障した場合、データは復元できません。
RAID 1
RAID 1 はミラーリングとも呼ばれ、完全な冗長モードです。
RAID 1 は 2 台または 2xN のディスクで使用でき、0 台以上のスペア ディスクを使用し、データが書き込まれるたびにミラー ディスクにも同時に書き込まれます。
このタイプのアレイは信頼性が高くなりますが、その実効容量は総容量の半分に減り、ディスクは同じサイズである必要があります。そうしないと、総容量は最小のディスクのサイズのみになります。
RAID 4
RAID 4 を作成するには、3 つ以上のディスクが必要です。RAID 4 では、パリティ情報を 1 つのディスクに保存し、RAID 0 方式で他のディスクにデータを書き込みます。1 つのディスクが検証情報用に予約されているため、配列のスペース サイズは (N-1)*S になります。ここで、S は配列内の最小のディスクのサイズです。RAID 1 と同様に、ディスクのサイズは同じである必要があります。
1 つのディスクに障害が発生した場合、パリティ情報ともう 1 つのディスクを使用してデータを再構築できます。両方のディスクに障害が発生すると、すべてのデータが失われます。このレベルがあまり使用されない理由は、チェックサム情報がディスクに保存されるためです。この情報は、別のディスクに書き込むたびに更新する必要があります。
そのため、大量のデータを書き込む場合には検証用ディスクにボトルネックが発生しやすいため、現在このレベルのRAIDはほとんど使用されていません。
RAID 5
RAID 5 は、多数の物理ディスクを組み合わせて冗長性を維持したい場合に、おそらく最も便利な RAID モードです。RAID 5 は 3 つ以上のディスクで使用でき、0 個以上のスペア ディスクを使用します。RAID 4 と同様に、RAID5 デバイスのサイズは (N-1)*S です。
RAID5 と RAID4 の最大の違いは、パリティ情報が各ドライブに均等に分散されるため、RAID 4 で発生するボトルネックの問題が回避されることです。いずれかのディスクに障害が発生しても、パリティ情報のおかげですべてのデータはそのまま残ります。スペア ディスクが使用可能な場合、デバイスの障害発生直後にスペア ディスクへのデータの同期が開始されます。両方のディスクに同時に障害が発生すると、すべてのデータが失われます。
RAID 6
RAID 6 は RAID 5 の拡張です。RAID 5 と同様に、データとパリティ コードはデータ ブロックに分割され、ディスク アレイの各ハードディスクに保存されます。
各ディスクに分散されたチェック コードをバックアップするために、RAID 6 にチェック ディスクが 1 つだけ追加されます。このようにして、RAID 6 ディスク アレイでは 2 つのディスクが同時に故障することが許容されるため、RAID 6 ディスク アレイには少なくとも 4 つのチェック ディスクが必要です。ハードディスク。
RAID1 + 0:
N (偶数、N>=4) 個のディスクがペアでミラーリングされた後、それらは RAID 0 に結合されます。容量は N/2 で、N/2 枚のディスクを同時に書き込むことができ、書き込み速度は平均的ですが、N 枚の高速ディスクを同時に読み込むことができ、読み込み速度は高速です。高性能、高信頼性。
RAID 0 |
RAID 1 |
RAID 5 |
RAID 6 |
RAID 10 |
RAID50 |
|
特徴 |
並列実行 読み取りと書き込みの速度が速い |
完全なデータ冗長性 |
読み取りと書き込みの速度が速い データは検証されています |
読み取りと書き込みの速度が速い データは検証されており、高い冗長性を備えています |
読み取りと書き込みが高速化 データにはチェックサムが付いています |
読み取りと書き込みが高速化 データにはチェックサムが付いています |
欠点がある |
データの冗長性がない |
読み取りと書き込みの速度が遅い |
ディスクが多すぎます |
ディスクが多すぎます |
ディスクが多すぎます |
|
ディスクの数 |
1 |
2 |
3 |
4 |
4 |
6 |
故障 ディスクの数 |
0 |
1 |
1 |
2 |
2 |
2 |
空間 |
和 |
1/2 |
(N-1)*S |
(N-2)*S |
1/2 |
(N-2)*S |
シーン |
大規模宇宙試験 |
システム |
定期サービス |
データベース |