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.
Pour obtenir des exemples XML de dépendance de domaine, reportez-vous à l'Example 22–6.