Guide d'administration et de planification des services de données d'Oracle® Solaris Cluster

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Colocalisation forcée d'un groupe de ressources avec un autre groupe de ressources

Un service représenté par un groupe de ressources peut dépendre si fortement d'un service dans un deuxième groupe de ressources que les deux services ont obligation de s'exécuter sur le même noeud. Par exemple, une application composée de plusieurs démons de service interdépendants peut nécessiter que tous les démons s'exécutent sur le même noeud.

Dans ce cas, forcez le groupe de ressources du service dépendant à être colocalisé avec le groupe de ressources de l'autre service. Pour appliquer la colocalisation forcée d'un groupe de ressources avec un autre groupe de ressources, déclarez une affinité positive forte du premier groupe de ressources avec le second.

# clresourcegroup set|create -p RG_affinities=++target-rg source-rg
source-rg

Spécifie le groupe de ressources source de l'affinité positive forte. Ce groupe de ressources est le groupe de ressources sur lequel vous déclarez un affinité positive forte avec l'autre groupe de ressources.

-p RG_affinities=++target-rg

Spécifie le groupe de ressources cible de l'affinité positive forte. Ce groupe de ressources est le groupe de ressources avec lequel vous déclarez une affinité positive forte.

Un groupe de ressources suit le groupe de ressources avec lequel il a une affinité positive forte. Si le groupe de ressources cible est déplacé sur un autre noeud, le groupe de ressources source passe automatiquement sur le même noeud que la cible. Toutefois, un groupe de ressources qui déclare une affinité positive forte ne peut pas basculer sur un noeud si la cible de l'affinité n'y est pas déjà en cours d'exécution.


Remarque -  Seuls les basculements initiés par un détecteur de pannes sont empêchés. Si un noeud sur lequel le groupe de ressources source et le groupe de ressources cible sont en cours d'exécution est défaillant, les deux groupes de ressources basculent sur le même noeud survivant.

Par exemple, un groupe de ressources rg1 déclare une affinité positive forte avec le groupe de ressources rg2. Si rg2 bascule sur un autre noeud, rg1 bascule également sur le noeud concerné. Ce basculement se produit même si toutes les ressources de rg1 sont opérationnelles. Toutefois, si une ressource de rg1 tente de basculer rg1 sur un noeud où rg2 n'est pas en cours d'exécution, la tentative est bloquée.

Il peut arriver que la source d'une affinité positive forte soit hors ligne sur tous les noeuds lorsque vous mettez en ligne la cible de l'affinité positive forte. Dans ce cas, la source de l'affinité positive forte est automatiquement mise en ligne sur le même noeud que la cible.

Par exemple, un groupe de ressources rg1 déclare une affinité positive forte avec le groupe de ressources rg2. Au départ, les deux groupes de ressources sont hors ligne sur tous les noeuds. Si un administrateur met en ligne rg2 sur un noeud, rg1 est automatiquement mis en ligne sur le même noeud.

Vous pouvez vous servir de la commande clresourcegroup suspend pour empêcher la mise en ligne automatique d'un groupe de ressources en raison d'affinités fortes ou d'une reconfiguration du cluster.

S'il y a besoin d'autoriser un groupe de ressources déclarant une affinité positive forte à basculer, vous devez déléguer le basculement. Pour plus d'informations, reportez-vous à la section Délégation du basculement ou de la commutation d'un groupe de ressources.

Exemple 2-48  Colocalisation forcée d'un groupe de ressources avec un autre groupe de ressources

Cet exemple présente la commande permettant de modifier le groupe de ressources rg1 et de déclarer une affinité positive forte avec le groupe de ressources rg2. En raison de cette relation d'affinité, rg1 est uniquement mis en ligne sur les noeuds sur lesquels rg2 est en cours d'exécution. Cet exemple suppose que les deux groupes de ressources existent.

# clresourcegroup set -p RG_affinities=++rg2 rg1