Logical Domains 1.2 管理ガイド

ドメインの依存関係の構成

Logical Domains Manager を使用して、ドメイン間の依存関係を確立できます。依存する 1 つ以上のドメインを持つドメインは、マスタードメインと呼ばれます。別のドメインに依存するドメインは、スレーブドメインと呼ばれます。

master プロパティーを設定することによって、各スレーブドメインに最大 4 つのマスタードメインを指定できます。たとえば、次に示すコンマで区切られたリストでは、pine スレーブドメインに 4 つのマスタードメインを指定しています。


# ldm add-domain master=apple,lemon,orange,peach pine

各マスタードメインには、マスタードメインに障害が発生した場合のスレーブドメインの動作を指定できます。たとえば、マスタードメインに障害が発生した場合、そのスレーブドメインでパニックを発生させる必要があることがあります。1 つのスレーブドメインに複数のマスタードメインが指定されている場合、最初のマスタードメインに障害が発生すると、そのすべてのスレーブドメインに対して定義済みの障害ポリシーがトリガーされます。


注 –

複数のマスタードメインに同時に障害が発生した場合、指定された障害ポリシーのうち 1 つのみが、影響を受けるすべてのスレーブドメインに対して実施されます。たとえば、障害が発生したマスタードメインに stop および panic という障害ポリシーが定義されている場合、すべてのスレーブドメインが停止するか、パニックが発生します。


マスタードメインの障害ポリシーは、failure-policy プロパティーに次のいずれかの値を設定することによって制御できます。

この例では、マスタードメインの障害ポリシーが次のように指定されています。


# ldm set-domain failure-policy=ignore apple
# ldm set-domain failure-policy=panic lemon
# ldm set-domain failure-policy=reset orange
# ldm set-domain failure-policy=stop peach

このメカニズムを使用して、ドメイン間の明示的な依存関係を作成できます。たとえば、ゲストドメインが、サービスドメインに暗黙に依存し、その仮想デバイスを提供しているとします。ゲストドメインが依存しているサービスドメインが実行されていない場合、ゲストドメインの入出力はブロックされます。ゲストドメインをサービスドメインのスレーブドメインとして定義することによって、サービスドメインが停止した場合のゲストドメインの動作を指定できます。このような依存関係が確立されていない場合、ゲストドメインはサービスドメインが使用可能になるのを待機します。


注 –

Logical Domains Manager では、依存サイクルが生じるようなドメイン関係を作成することはできません。詳細は、「依存サイクル」 を参照してください。


ドメインの依存関係の XML の例は、例 10–6 を参照してください。

ドメインの依存関係の例

次の例は、ドメインの依存関係を構成する方法を示します。

依存サイクル

Logical Domains Manager では、依存サイクルが生じるようなドメイン関係を作成することはできません。依存サイクルとは、スレーブドメインが自身に依存したり、マスタードメインがそのスレーブドメインのいずれかに依存したりすることになる、2 つ以上のドメイン間の関係です。

Logical Domains Manager は、依存関係を追加する前に、依存サイクルが存在しないかを判断します。Logical Domains Manager は、まずスレーブドメインについて、マスター配列によって指定されたすべてのパスを最初から最後まで検索します。途中で依存サイクルが見つかると、エラーとして報告されます。

次の例は、依存サイクルがどのように作成されるかを示します。最初のコマンドは、mohawk というスレーブドメインを作成します。このドメインは、マスタードメインに primary を指定します。その結果、mohawk は、次のような依存関係の連鎖で primary に依存します。

図 4–1 単一のドメインの依存関係

この図は、mohawk ドメインがマスタードメインである primary に依存する、ドメインの依存関係の連鎖を示しています。

2 つめのコマンドは、primary というスレーブドメインを作成します。このドメインは、マスタードメインに counter を指定します。その結果、次のような依存関係の連鎖で、mohawkprimary に依存し、primary が counter に依存します。

図 4–2 複数のドメインの依存関係

この図は、mohawk が primary に依存し、primary が counter に依存する、ドメインの依存関係の連鎖を示しています。

3 つめのコマンドは、counter ドメインと mohawk ドメインとの間に依存関係の作成を試みます。これによって、次のような依存サイクルが生成されます。

図 4–3 ドメインの依存サイクル

この図は、mohawk が primary に依存し、primary が counter に依存し、counter が mohawk に依存する、ドメインの依存サイクルを示しています。

次のエラーメッセージが表示されて ldm set-domain コマンドが失敗します。


# ldm add-domain master=primary mohawk
# ldm set-domain master=counter primary
# ldm set-domain master=mohawk counter
Dependency cycle detected: LDom "counter" indicates "primary" as its master