Go to main content
Oracle® VM Server for SPARC 3.4 管理ガイド

印刷ビューの終了

更新: 2016 年 8 月
 
 

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

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

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

# ldm add-domain master=alpha,beta,gamma,delta pine

alphabetagamma、および delta マスタードメインはすべて、stop の失敗ポリシーを指定します。

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

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

  • ignore は、すべてのスレーブドメインを無視します

  • panic は、すべてのスレーブドメインにパニックを発生させます (ldm panic コマンドを実行することと似ています)

  • reset は、すべてのスレーブドメインをただちに停止して再起動します (ldm stop -f コマンド、ldm start コマンドの順に実行することと似ています)

  • stop は、すべてのスレーブドメインを停止します (ldm stop -f コマンドを実行することと似ています)

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

primary# ldm set-domain failure-policy=ignore apple
primary# ldm set-domain failure-policy=panic lemon
primary# ldm set-domain failure-policy=reset orange
primary# ldm set-domain failure-policy=stop peach
primary# ldm set-domain failure-policy=stop alpha
primary# ldm set-domain failure-policy=stop beta
primary# ldm set-domain failure-policy=stop gamma
primary# ldm set-domain failure-policy=stop delta

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


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

ドメインの依存関係の XML の例は、Oracle VM Server for SPARC 3.4 開発者ガイド の ドメインの情報 (ldom_info) リソースを参照してください。

ドメインの依存関係の例

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

使用例 77  ドメインの依存関係を使用した障害ポリシーの構成

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

primary# ldm add-domain failure-policy=reset twizzle
primary# ldm set-domain failure-policy=reset primary
primary# ldm add-domain master=twizzle,primary chocktaw
使用例 78  マスタードメインを割り当てるためのドメインの変更

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

primary# ldm set-domain master=primary orange
primary# ldm set-domain master=orange,primary tangerine
primary# 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=ignore

DEPENDENCY
    master=primary

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

HOSTID
    0x84f948e9

CONTROL
    failure-policy=ignore

DEPENDENCY
    master=orange,primary
使用例 79  解析可能なドメインリストの表示

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

primary# ldm list -o domain -p

依存サイクル

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

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

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

図 26  単一のドメインの依存関係

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

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

図 27  複数のドメインの依存関係

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

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

図 28  ドメインの依存サイクル

image:この図は、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