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

RAID 1 (ミラー) ボリュームの概要

RAID 1 ボリューム (またはミラー) とは、同じデータのコピーを複数の RAID 0 (ストライプ方式または連結方式) ボリュームで保持しているボリュームのことです。ミラー化するためには、より多くのディスク容量が必要です。少なくとも、ミラー化するデータ量の 2 倍のディスク容量が必要になります。また、ミラー化ではデータがすべてのサブミラーに書き込まれるため、書き込み要求の処理時間が長くなります。

構成したミラーは、物理スライスと同じように使用できます。

既存のファイルシステムを含め、どのようなファイルシステムでもミラー化できます。また、ミラーは、データベースなど、どのようなアプリケーションにも使用できます。


ヒント -

データの安全性と可用性を確保するためには、Solaris ボリュームマネージャのホットスペア機能とミラーを併用します。ホットスペアについては、第 15 章「ホットスペア集合 (概要)」第 16 章「ホットスペア集合 (作業)」を参照してください。


サブミラーの概要

ミラー 化された RAID 0 ボリュームを サブミラーと呼びます。 ミラーは、1 つまたは複数の RAID 0 ボリューム (ストライプまたは連結) から構成されます。

ミラーには最大 3 つのサブミラーを使用できますが、実際には 2 面ミラーで十分です。3 つめのサブミラーを構成すると、オンラインでバックアップをとることができます。この場合、バックアップのために 1 つのサブミラーがオフラインになっていても、データの冗長性は失われません。

サブミラーを「オフライン」にすると、そのサブミラーに対する読み取りと、書き込みは停止されます。この時点で、このサブミラーへのアクセスが可能になり、バックアップを実行できます。ただし、オフライン状態のサブミラーは読み取り専用になります。サブミラーがオフライン状態の間、Solaris ボリュームマネージャはミラーに対するすべての書き込みを追跡管理します。サブミラーがオンライン状態に戻ると、サブミラーがオフラインの間に書き込まれた部分 (再同期領域) だけが再同期されます。また、サブミラーをオフラインにすると、エラーが発生した物理デバイスの問題を追跡したり修復したりすることが可能になります。

サブミラーは、いつでもミラーに接続したり、ミラーから切断することができます。ただし、少なくとも 1 つのサブミラーが常時、接続されていなければなりません。

通常は、サブミラーが 1 つだけのミラーを作成し、後で 2 つめのサブミラーを追加します。

シナリオ — RAID 1 (ミラー) ボリューム

図 9–1 に、2 つのボリューム (サブミラー) d20d21 から構成されるミラー d2 の例を示します。

Solaris ボリュームマネージャソフトウェアは、データの複製を複数の物理ディスク上に作成し、1 つの仮想ディスクとしてアプリケーションに提供します。ディスクへの書き込みは常に複製されますが、ディスクからの読み取りはミラーを構成するいずれかのサブミラーだけから行われます。ミラー d2 の容量は、もっとも小さいサブミラーのサイズと同じになります (サブミラーのサイズが異なる場合)。

図 9-1 ミラーの例

2 つの RAID 0 ボリュームを合わせて RAID 1 (ミラー) ボリュームとして使用し、冗長性のある記憶域を提供しています。

RAID 1+0 と RAID 0+1 の提供

Solaris ボリュームマネージャは、RAID 1+0 (ミラーをストライプ化した方式) と RAID 0+1 (ストライプをミラー化した方式) の両方の冗長性をサポートします。Solaris ボリュームマネージャインタフェースは、すべての RAID 1 デバイスを RAID 0+1 として扱いますが、可能であれば、ボリュームを構成するコンポーネントやミラーを個別に認識します。


注 -

Solaris ボリュームマネージャは、RAID 1+0 機能を常に提供できるわけではありません。しかし、すべてのサブミラーが同じで、ディスクスライス (ソフトパーティションではない) から構成されている、最適化された環境では、RAID 1+0 も提供します。


たとえば、純粋な RAID 0+1 実装で、ストライプ化された 3 つのスライスからなる 2 面ミラーの場合、1 つのスライスに障害が発生すると、ミラーの片面が使用不能になる場合があります。また、ホットスペアが使用されていない場合、2 番目のスライスに障害が発生すると、このミラーはおそらく使用不能になります。Solaris ボリュームマネージャを使用した場合、最大 3 つのスライスに障害が発生しても、ミラーは動作を継続できます。これは、ストライプ化された 3 つのスライスがそれぞれ、ミラーのもう一方の側の対応するスライスに対してミラー化されているためです。

次の例を見てください。

図 9-2 RAID 1+ 0 の例

RAID 1 ボリュームの 6 つのスライスのうち 3 つに障害が発生しても、RAID 1 + 0 を実装しているために、データを失わずにすむケースを示しています。

ミラー d1 は 2 つのサブミラーから構成され、各サブミラーは、構成と飛び越し値が同じ3 つの物理ディスクから構成されています。この場合、3 つのディスク A、B、F に障害が発生しても、ミラーの論理ブロック域全体が少なくとも 1 つのディスクによって確保されているため、ミラーは使用不能になりません。

しかし、ディスク A と D に障害が発生すると、ミラーのデータの一部がどのディスク上にも存在しないため、その部分の論理ブロックにはアクセスできなくなります。

複数のスライスの障害によってミラーの一部のデータにアクセスできなくなった場合でも、データがまだ利用可能なミラー部分にはアクセスできます。この場合、ミラーは、不良ブロックを含む単一ディスクのように機能します。損傷部分は使用不能になりますが、残りの部分は使用可能です。

RAID 1 (ミラー) ボリュームに関する FAQ (よくある質問)

ミラーを使用する理由は?

ミラーは、データの可用性を最大限に高めます。ただし、ミラーを使用すると、ミラー化するデータ量の 2 倍のスライス (ディスク) が必要になります。

ミラーを構成するサブミラーの最大数は?

Solaris ボリュームマネージャでは、3 面までのミラー (3 つのサブミラーからなるミラー) を作成できます。しかし、通常、ほとんどのアプリケーションでは、2 面ミラーによって十分なデータ冗長性が得られます。また、2 面ミラーの方が、3 面ミラーよりもディスクドライブのコストが低くなります。

1 面ミラーを最初に作成してから、後でサブミラーを追加する理由は?

ミラー化するデータがすでにある場合は、まず一次サブミラーを作成してから、新しいサブミラーを追加します。これによって、後で、次サブミラーに格納されているデータを使って新しいサブミラーを更新することができます。

1 つのコマンドで 2 面または 3 面ミラーを作成してもかまわない場合は?

ミラー化する既存のデータがなく、すべてのサブミラーのデータが破壊されてしまってもかまわない場合は、1 つのコマンドですべてのサブミラーを作成すれば、時間の節約になります。

RAID 1 ボリュームの構成指針


注 -

ミラー化されたファイルシステムで、最初に接続したサブミラーがシリンダ 0 から始まらない場合、追加接続するすべてのサブミラーも、シリンダ 0 から始まらないようにする必要があります。最初のサブミラーがシリンダ 0 から始まらないミラーに、シリンダ 0 から始まるサブミラーを接続しようとすると、次のエラーメッセージが表示されます。


can't attach labeled submirror to an unlabeled mirror 
1 つのミラー内で使用するサブミラーは、全部シリンダ 0 から始まるか、どれもシリンダ 0 から始まらないかのどちらかにする必要があります。

開始シリンダは、すべてのサブミラーで同じにする必要はありませんが、すべてのサブミラーにシリンダ 0 が含まれるか、すべてのサブミラーにシリンダ 0 が含まれないかのどちらかでなければなりません。


RAID 1 ボリュームのオプション

ミラーの性能を最適化するには、次のオプションを使用します。

ミラーオプションは、ミラーを最初に作成するときでも、ミラーを設定した後でも設定できます。これらのオプションの変更に関連する作業については、RAID 1 ボリュームオプションを変更するにはを参照してください。

RAID 1 ボリュームの読み取りおよび書き込みポリシー

Solaris ボリュームマネージャでは、ミラーに対してさまざまな読み取りおよび書き込みポリシーを設定できます。構成に合わせて、読み取りおよび書き込みポリシーを適切に設定すると、性能が向上することがあります。

表 9-1 ミラーの読み取りポリシー

読み取りポリシー 

説明 

ラウンドロビン (デフォルト) 

すべてのサブミラーの負荷を均一にします。ミラーに属するすべてのサブミラーの読み取りは、ラウンドロビン方式で (1 つずつ順次に) 行われます。 

ジオメトリック 

読み取りを論理的なディスクブロックアドレスに基づいて個々のサブミラーに分割します。たとえば、2 面サブミラーの場合は、ミラーのディスク領域が、論理アドレスに基づいて同じサイズの 2 つの領域に分割されます。一方のサブミラーの読み取りは論理的な領域の半分に限定され、他方のサブミラーの読み取りは同じ領域の残り半分に限定されます。 ジオメトリック読み取りポリシーでは、読み取りに必要なシーク時間が減少します。このモードによって得られる性能の向上は、システムの入出力負荷やアプリケーションのアクセスパターンによって異なります。 

先頭のデバイスから読み取る 

すべての読み取りを最初のサブミラーに送る。このポリシーは、先頭のサブミラーを構成するデバイスが 2 番目のサブミラーのデバイスよりも高速な場合にのみ使用します。 

表 9-2 ミラーの書き込みポリシー

書き込みポリシー 

説明 

並列 (デフォルト)  

ミラーへの書き込みは複製され、すべてのサブミラーに対して同時に実行される。 

順次 

サブミラーへの書き込みは順次実行される (つまり、最初のサブミラーへの書き込みが終わってから、次のサブミラーへの書き込みが始まる)。順次オプションでは、1 つのサブミラーへの書き込みが終わらないと、次のサブミラーへの書き込みは開始されない。この順次オプションは、電源の障害などによってサブミラーが読み取り不能になるのを防止するために使用する。