Guide d'administration d'Oracle® VM Server for SPARC 3.3

Quitter la vue de l'impression

Mis à jour : Octobre 2015
 
 

Configuration des dépendances de domaine

Vous pouvez utiliser Logical Domains Manager pour établir des relations de dépendance entre les domaines. Un domaine ayant un ou plusieurs domaines dépendant de lui-même est appelé un domaine maître. Un domaine dépendant d'un autre domaine est appelé un domaine esclave.

Chaque domaine esclave peut définit jusqu'à quatre domaines maîtres en définissant la propriété master. Par exemple, le domaine esclave pine définit quatre domaines maîtres dans la liste séparée par des virgules suivante :

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

Les domaines maîtres alpha, beta, gamma et delta indiquent tous une stratégie de panne stop.

Chaque domaine maître peut définir ce qui se produit sur ses domaines esclaves en cas de panne du domaine maître. Par exemple, si un domaine maître est en panne, il peut demander à ses domaines esclaves de paniquer. Si un domaine esclave a plusieurs domaines maîtres, chaque domaine maître doit avoir la même stratégie de panne. Ainsi, le premier domaine maître à être en panne déclenche la stratégie de panne qu'il a définie sur tous ses domaines esclaves.

    La stratégie de panne du domaine maître est contrôlée en définissant l'une des valeurs suivantes dans la propriété failure-policy :

  • ignore ignore tous les domaines esclaves

  • panic panique tous les domaines esclaves (à l'instar de l'exécution de la commande ldm panic)

  • reset arrête immédiatement puis redémarre tous les domaines esclaves (à l'instar de l'exécution de la commande ldm stop -f, puis de la commande ldm start)

  • stop arrête tous les domaines esclaves (à l'instar de l'exécution de la commande ldm stop -f)

Dans cet exemple, les domaines maîtres définissent leur stratégie de panne comme suit :

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

Vous pouvez utiliser ce mécanisme pour créer des dépendances explicites entre les domaines. Par exemple, un domaine invité dépend implicitement du domaine de service devant lui fournir ses périphériques virtuels. L'E/S d'un domaine invité est bloquée lorsque le domaine de service duquel il dépend n'est pas en état de fonctionnement. En définissant un domaine invité en tant qu'esclave de son domaine de service, vous pouvez définir le comportement du domaine invité lorsque son domaine de service est en panne. Lorsque cette dépendance n'est pas établie, un domaine invité attend simplement la reprise du service de son domaine de service.


Remarque - Logical Domains Manager ne vous autorise pas à créer des relations de domaine qui créent un cycle de dépendance. Pour plus d'informations, voir Cycles de dépendance.

Pour obtenir des exemples XML de dépendance de domaine, reportez-vous à l'Example 23–6.

Exemples de dépendances de domaine

Les exemples suivants montrent comment configurer les dépendances de domaine.

Exemple 17-1  Configuration d'une stratégie de panne à l'aide de dépendances de domaine

La première commande crée un domaine maître appelé twizzle. Cette commande utilise failure-policy=reset pour indiquer que les domaines esclaves se réinitialisent si le domaine twizzle est en panne. La seconde commande modifie un domaine maître appelé primary. Cette commande utilise failure-policy=reset pour indiquer que les domaines esclaves se réinitialisent si le domaine primary est en panne. La troisième commande crée un domaine esclave appelé chocktaw qui dépend de deux domaines maîtres, twizzle et primary. Le domaine esclave utilise master=twizzle,primary pour définir ses domaines maîtres. Si le domaine twizzle ou primary est en panne, le domainechocktaw se réinitialise.

primary# ldm add-domain failure-policy=reset twizzle
primary# ldm set-domain failure-policy=reset primary
primary# ldm add-domain master=twizzle,primary chocktaw
Exemple 17-2  Modification d'un domaine pour assigner un domaine maître

Cet exemple montre comment utiliser la commande ldm set-domain pour modifier le domaine orange afin d'assigner le domaine primary en tant que domaine maître. La seconde commande utilise la commande ldm set-domain pour assigner orange et primary en tant que domaines maîtres pour le domaine tangerine. La troisième commande répertorie les informations sur tous ces domaines.

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
Exemple 17-3  Affichage d'une liste de domaines analysable

L'exemple suivant montre la liste d'exemples avec une sortie analysable :

primary# ldm list -o domain -p

Cycles de dépendance

Logical Domains Manager ne vous autorise pas à créer des relations de domaine qui créent un cycle de dépendance. Un cycle de dépendance est une relation entre deux domaines ou plus qui aboutit à une situation dans laquelle un domaine esclave dépend de lui-même ou un domaine maître dépend d'un de ses domaines esclaves.

Logical Domains Manager détermine si un cycle de dépendance existe avant d'ajouter une dépendance. Logical Domains Manager démarre sur le domaine esclave et effectue une recherche sur tous les chemins indiqués par la matrice maître jusqu'à ce que le chemin soit atteint. Tous les cycles de dépendance trouvés sur le chemin sont signalés comme des erreurs.

L'exemple suivant montre comment un cycle de dépendance peut être créé. La première commande crée un domaine esclave nommé mohawk qui définit le domaine maître en tant que primary. Par conséquent, mohawk dépend de primary dans la chaîne de dépendance illustrée dans la figure suivante.

Figure 17-1  Dépendance d'un domaine unique

image:La seconde commande crée une chaîne de dépendance dans laquelle le domaine mohawk dépend du domaine primary en tant que son maître.

La seconde commande crée un domaine esclave nommé primary qui définit son domaine maître en tant que counter. Par conséquent, mohawk dépend de primary, qui dépend de counter dans la chaîne de dépendance illustrée dans le schéma suivant :

Figure 17-2  Dépendance de plusieurs domaines

image:Le schéma montre une chaîne de dépendance où nohawk dépend de primary et primary dépend de counter.

La troisième commande tente de créer une dépendance entre les domaines counter et mohawk, ce qui produirait le cycle de dépendance illustré dans le schéma suivant :

Figure 17-3  Cycle de dépendance de domaines

image:Le schéma montre un cycle de dépendance de domaines où mohawk dépend de primary, primary dépend de counter et counter dépend de mohawk.

La commande ldm set-domain échouera avec le message d'erreur suivant :

# 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