ナビゲーションリンクをスキップ
印刷ビューの終了
| Oracle VM Server for SPARC 2.0 管理ガイド

検索範囲:

- このドキュメント
- ライブラリ全体

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

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

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

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

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

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

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

- `ignore` は、マスタードメインに障害が発生した場合、すべてのスレーブドメインを無視します。

- `panic` は、マスタードメインに障害が発生した場合、すべてのスレーブドメインにパニックを発生させます。

- `reset` は、マスタードメインに障害が発生した場合、すべてのスレーブドメインをリセットします。

- `stop` は、マスタードメインに障害が発生した場合、すべてのスレーブドメインを停止します。

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

    # 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 の例については、例 D-6を参照してください。

#### ドメインの依存関係の例

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

- 最初のコマンドは、`twizzle` というマスタードメインを作成します。このコマンドは、`failure-policy=reset` を使用して、`twizzle` ドメインに障害が発生した場合にスレーブドメインをリセットするように指定します。2 つめのコマンドは、`primary` というマスタードメインに変更を加えます。このコマンドは、`failure-policy=panic` を使用して、`primary` ドメインに障害が発生した場合にスレーブドメインにパニックを発生させるように指定します。3 つめのコマンドは、2 つのマスタードメイン `twizzle` と `primary` に依存する、`chocktaw` というスレーブドメインを作成します。このスレーブドメインは、`master=twizzle,primary` を使用して、マスタードメインを指定します。`twizzle` または `primary` のいずれかのドメインに障害が発生した場合、`chocktaw` ドメインはリセットされるか、パニックが発生します。最初に障害が発生したマスタードメインによって、スレーブドメインの動作が決定されます。

      # ldm add-domain failure-policy=reset twizzle
      # ldm set-domain failure-policy=panic primary
      # ldm add-domain master=twizzle,primary chocktaw

- この例は、`ldm set-domain` コマンドを使用して `orange` ドメインに変更を加え、`primary` をマスタードメインとして割り当てます。2 つめのコマンドは、`ldm set-domain` コマンドを使用して、`orange` および `primary` を `tangerine` ドメインのマスタードメインとして割り当てます。3 つめのコマンドは、これらすべてのドメインに関する情報を一覧表示します。

      # ldm set-domain master=primary orange
      # ldm set-domain master=orange,primary tangerine
      # ldm list -o domain
      NAME             STATE      FLAGS   UTIL
      primary          active     -n-cv-  0.2%

      SOFTSTATE
      Solaris running

      HOSTID
          0x83d8b31c

      CONTROL
          failure-policy=ignore

      DEPENDENCY
          master=

      ------------------------------------------------------------------------------
      NAME             STATE      FLAGS   UTIL
      orange           bound      ------

      HOSTID
          0x84fb28ef

      CONTROL
          failure-policy=stop

      DEPENDENCY
          master=primary

      VARIABLES
          test_var=Aloha

      ------------------------------------------------------------------------------
      NAME             STATE      FLAGS   UTIL
      tangerine        bound      ------

      HOSTID
          0x84f948e9

      CONTROL
          failure-policy=ignore

      DEPENDENCY
          master=orange,primary

      VARIABLES
          test_var=A hui hou

- 次に、解析可能な出力を使用した一覧表示の例を示します。

      # ldm list -o domain -p

#### 依存サイクル

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

Logical Domains Manager は、依存関係を追加する前に、依存サイクルが存在するかどうかを確認します。Logical Domains Manager は、スレーブドメインから検索を開始し、マスターアレイによって指定されているすべてのパスに沿って、パスの最後に到達するまで検索を行います。途中で依存サイクルが見つかると、エラーとして報告されます。

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

図 12-1 単一のドメインの依存関係

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

図 12-2 複数のドメインの依存関係

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

図 12-3 ドメインの依存サイクル

次のエラーメッセージが表示されて `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

Copyright © 2007, 2010, Oracle and/or its affiliates. All rights reserved. 著作権について |