RAID は Redundant Array of Inexpensive Disks (または Redundant Array of Independent Disks) の頭文字を取ったものです。
RAID には 0 〜 6 の 7 段階のレベルがあり、それぞれが異なる方法でデータを分散させてデータの重複性を実現しています (RAID レベル 0 はデータの重複性を提供しませんが、使用されている RAID 構成の大半の基礎となっている構成であるため、RAID のレベルに含まれています)。
DiskSuite では、次の RAID レベルをサポートしています。
RAID レベル 0 冗長性のないディスク配列 (ストライプ化)
RAID レベル 1 ミラー化されたディスク配列
RAID レベル 5 ブロックインタリーブ形式の分散パリティ
RAID レベル 5 は、パリティとデータをすべてのディスクに分散させたストライプ方式メタデバイスです。ディスクが故障した場合には、他のディスクに分散しているデータとパリティ情報からディスクを再構築することができます。
DiskSuite では、RAID レベル 5 をサポートするメタデバイスを RAID5 メタデバイスと呼びます。
新しいスライスを追加すると、DiskSuite は自動的に RAID5 メタデバイスを初期化します。また、既存のスライスを交換すると、DiskSuite は自動的に RAID5 メタデバイスを再同期させます。システム障害やパニックが発生した後のリブートでは、DiskSuite は RAID5 メタデバイスを再同期させます。
RAID5 メタデバイスには、他のメタデバイスと同じような名前 (d0、d1 など) が付けられます。メタデバイス名についての説明は、表 1-4 を参照してください。
RAID5 メタデバイスは、ミラーよりも少ないディスク数でデータの冗長性を提供するので、コストを低く抑えることができます。
RAID5 メタデバイスには、3 つ以上のスライスが必要です。
RAID5 メタデバイスの最大スライス数
RAID5 メタデバイスのスライス数に制限はありませんが、スライス数が多いほど、スライス障害の発生時には読み取り動作にかかる時間が長くなります (RAID5 メタデバイスでは、本質的に書き込み動作に長い時間がかかります) 。
既存の RAID5 メタデバイスにスライスを単純連結することによって、RAID5 メタデバイスを拡張することができます。
RAID5 メタデバイスに追加したスライスのパリティ情報
RAID5 メタデバイスに新しいスライスを追加して拡張すると、新しいスライスのパリティ情報も格納されます。
RAID5 メタデバイスの制限
RAID5 メタデバイスは、ルート (/) 、/usr、swap、または既存のファイルシステムに対しては使用できません。
データブロックをゼロで初期化せずに RAID5 メタデバイスを構築しなおす方法
metainit(1M) コマンドで -k オプションを使用すると、データブロックをゼロで初期化せずに RAID5 メタデバイスを構築することができます (DiskSuite ツールではこの操作を行うことはできません) 。-k オプションは、RAID5 メタデバイスを初期化せずに再構築し、ディスクブロックを「正常」状態に設定します。RAID5 メタデバイスのディスクブロックにエラーが含まれている場合には、DiskSuite がデータを再生する場合もあります。このオプションを使用するかわりに、RAID5 メタデバイスを初期化して、テープからデータを復元することもできます。詳しい説明は、metainit(1M) コマンドのマニュアルページを参照してください。
図 2-6 に、RAID5 メタデバイス d40 を示します。
最初の 3 つのデータチャンクがディスク A 〜 C に書き込まれます。次に書き込まれるチャンクはパリティチャンクで、ディスク D に書き込まれます。このチャンクは、最初の 3 つのチャンクの排他的論理和を取ることによって作成されます。このようにデータチャンクとパリティチャンクを書き込むことにより、 RAID5 メタデバイスを構成するすべてのディスクにデータとパリティの両方が分散します。各ドライブは個別に読み取ることができます。パリティ情報により、いずれか 1 つのディスクが故障しても安全です。この例の各ディスクの容量が 2G バイトであるとすると、d40 の合計容量は 6G バイトになります (ディスク 1 つ分の領域がパリティ用に割り当てられます) 。
図 2-7 に、4 つのディスク (スライス) で構成される RAID5 メタデバイスに 5 つ目のディスクを追加して拡張した例を示します。
RAID5 メタデバイスの作成時には、パリティ領域が割り当てられます。パリティ情報用の領域は、スライス 1 つ分です。ただし、重要な情報が 1 つのディスクに集中するのを避けるため、パリティ情報はすべてのディスクに分散されます。RAID5 メタデバイスにスライスを追加すると、そのディスクにはデータのみが格納され、新しいパリティブロックは割り当てられません。ただし、連結されたスライス上のデータは、デバイス障害に備えてパリティ計算に含められます。
連結した RAID5 メタデバイスは、長期間の使用には適しません。このような RAID5 メタデバイスは大規模の RAID5 メタデバイスを構築できるようになるまでの一時的な手段として使用し、大規模な RAID5 メタデバイスを構築したら、新しい RAID5 メタデバイスにデータを移すようにしてください。
RAID5 メタデバイスに新しいスライスを追加すると、DiskSuite は、そのスライスのすべてのデータブロックを「ゼロ」にします。この結果、パリティ情報によって新しいデータが保護できるようになります。追加した領域にデータを書き込むと、DiskSuite はそのデータをパリティ計算に含めます。