Solaris ボリュームマネージャの管理

RAID 5 ボリュームの概要

RAID レベル 5 はストライプ方式に似ていますが、パリティデータがすべてのコンポーネント (ディスクまたは論理ボリューム) に分散されている点が異なります。 コンポーネントに障害が発生した場合には、障害が発生したコンポーネント上のデータを、他のコンポーネント上に分散されているデータとパリティ情報から再構築することができます。 Solaris ボリュームマネージャでは、「RAID 5 ボリューム」は RAID レベル 5 をサポートするボリュームを意味します。

RAID 5 ボリュームは、そのボリュームの 1 つのコンポーネントに相当する記憶領域を使って、RAID 5 ボリュームの他のコンポーネントに格納されているユーザーデータの冗長情報 (パリティ) を保持します。 つまり、3 つのコンポーネントがあれば、1 つのコンポーネントに相当する領域がパリティ情報に使用されます。 同じように、5 つのコンポーネントがある場合にも、1 つのコンポーネントに相当する領域がパリティ情報に使用されます。 パリティは、ボリューム内のすべてのコンポーネントに分散されます。 ミラーと同様に、RAID 5 ボリュームではデータの可用性が向上しますが、ハードウェアのコストは最小限に抑えることができます。書き込み性能に対する影響は中程度です。 ただし、RAID 5 ボリュームを ルート (/)、 /usr、および swap、あるいは既存のファイルシステムに対して使用することはできません。

既存のコンポーネントを置き換えると、Solaris ボリュームマネージャは自動的に RAID 5 ボリュームを再同期します。 また、Solaris ボリュームマネージャは、システム障害やパニックが発生した場合、再起動時に、RAID 5 ボリュームを再同期します。

例 RAID 5 ボリューム

図 141 に、RAID 5 ボリューム d40 を示します。

最初に 3 つのデータチャンクがディスク A から C に書き込まれ、次にパリティチャンクがディスクD に書き込まれます。パリティチャンクは、最初の 3 つのチャンクの排他的論理和を取ったものです。 データチャンクとパリティチャンクをこのように書き込むことによって、データとパリティの両方が、RAID 5 ボリュームを構成するすべてのディスクに分散されます。 各ドライブは個別に読み取ることができます。 パリティ情報により、いずれか 1 つのディスクが故障しても、データの安全性が保証されます。 この例の場合、各ディスクの容量が 2G バイトであれば、d40 の合計容量は 6G バイトになります (ディスク 1 つ分の領域がパリティ用に割り当てられます) 。

図 141 RAID 5 ボリュームの例

複数のコンポーネントを結合し、パリティを採用した、RAID 5 ボリュームの例です。

例 RAID 5 ボリュームの連結 (拡張)

次の図に、4 つのディスク (コンポーネント) から構成される RAID 5 ボリューム に 5 つ目のディスクを動的に連結して拡張した例を示します。

図 142 RAID 5 ボリュームの拡張例

追加のコンポーネントを RAID 5 ボリュームに連結することによって、冗長性のある大型のボリュームが提供されています。

パリティ領域は、RAID 5 ボリュームの作成時に割り当てられます。 パリティには 1 つのコンポーネントに相当する領域が割り当てられますが、実際のパリティブロックは、入出力を分散するためにすべてのオリジナルコンポーネントに分散されます。 RAID 5 ボリュームにコンポーネントを連結すると、新しい領域はデータにのみ使用され、 新しいパリティブロックは割り当てられません。 ただし、連結されたコンポーネントのデータはパリティ計算の対象になるため、単一のデバイス障害からは保護されます。

連結した RAID 5 ボリュームは長期間の使用には適しません。 このような RAID 5 ボリュームは、これよりも大規模な RAID 5 ボリュームを再構成し、そのボリュームにデータをコピーできるようになるまでの一時的な手段として使用します。


RAID 5 ボリュームに新しいコンポーネントを追加すると、Solaris ボリュームマネージャは、そのコンポーネントのすべてのデータブロックを「ゼロ」にします。 この処理は、パリティ情報によって新しいデータを保護するために実行されます。 つまり、データが新しい領域に書き込まれると、Solaris ボリュームマネージャはそのデータをパリティ計算の対象とします。