Logical Domains 1.2 管理ガイド

依存サイクル

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