31.3. Désactivation, activation et interdiction des ressources de la grappe
Outre les commandes pcs resource move
et pcs resource relocate
, il existe un certain nombre d'autres commandes que vous pouvez utiliser pour contrôler le comportement des ressources de la grappe.
Désactivation d'une ressource de cluster
Vous pouvez arrêter manuellement une ressource en cours d'exécution et empêcher le cluster de la redémarrer avec la commande suivante. En fonction du reste de la configuration (contraintes, options, échecs, etc.), la ressource peut rester démarrée. Si vous spécifiez l'option --wait
, pcs attendra jusqu'à 'n' secondes que la ressource s'arrête et renverra 0 si la ressource est arrêtée ou 1 si la ressource ne s'est pas arrêtée. Si "n" n'est pas spécifié, la valeur par défaut est de 60 minutes.
pcs resource disable resource_id [--wait[=n]]]
Vous pouvez spécifier qu'une ressource ne doit être désactivée que si cette désactivation n'a pas d'effet sur d'autres ressources. Il peut être impossible de s'en assurer à la main lorsque des relations complexes sont établies entre les ressources.
-
La commande
pcs resource disable --simulate
montre les effets de la désactivation d'une ressource sans modifier la configuration du cluster. -
La commande
pcs resource disable --safe
ne désactive une ressource que si aucune autre ressource n'est affectée de quelque manière que ce soit, par exemple en cas de migration d'un nœud à un autre. La commandepcs resource safe-disable
est un alias de la commandepcs resource disable --safe
. -
La commande
pcs resource disable --safe --no-strict
ne désactive une ressource que si aucune autre ressource n'est arrêtée ou rétrogradée
Vous pouvez spécifier l'option --brief
pour que la commande pcs resource disable --safe
n'imprime que les erreurs. Le rapport d'erreur généré par la commande pcs resource disable --safe
en cas d'échec de l'opération de désactivation sécurisée contient les identifiants des ressources concernées. Si vous souhaitez connaître uniquement les identifiants des ressources qui seraient affectées par la désactivation d'une ressource, utilisez l'option --brief
, qui ne fournit pas le résultat complet de la simulation.
Activation d'une ressource de cluster
Utilisez la commande suivante pour permettre au cluster de démarrer une ressource. En fonction du reste de la configuration, la ressource peut rester arrêtée. Si vous spécifiez l'option --wait
, pcs attendra jusqu'à 'n' secondes pour que la ressource démarre et renverra 0 si la ressource est démarrée ou 1 si la ressource n'a pas démarré. Si 'n' n'est pas spécifié, la valeur par défaut est de 60 minutes.
pcs resource enable resource_id [--wait[=n]]]
Empêcher l'exécution d'une ressource sur un nœud particulier
La commande suivante permet d'empêcher l'exécution d'une ressource sur un nœud spécifié ou sur le nœud actuel si aucun nœud n'est spécifié.
pcs resource ban resource_id [node] [--promu] [lifetime=lifetime] [--attendu[=n]]]
Notez que lorsque vous exécutez la commande pcs resource ban
, celle-ci ajoute une contrainte d'emplacement -INFINITY à la ressource afin d'empêcher son exécution sur le nœud indiqué. Vous pouvez exécuter la commande pcs resource clear
ou pcs constraint delete
pour supprimer cette contrainte. Cela ne ramène pas nécessairement les ressources sur le nœud indiqué ; l'endroit où les ressources peuvent s'exécuter à ce moment-là dépend de la façon dont vous avez configuré vos ressources au départ.
Si vous spécifiez le paramètre --promoted
de la commande pcs resource ban
, la portée de la contrainte est limitée au rôle promu et vous devez spécifier promotable_id au lieu de resource_id.
Vous pouvez éventuellement configurer un paramètre lifetime
pour la commande pcs resource ban
afin d'indiquer une période de temps pendant laquelle la contrainte doit être maintenue.
Vous pouvez éventuellement configurer un paramètre --wait[=n]
pour la commande pcs resource ban
afin d'indiquer le nombre de secondes à attendre pour que la ressource démarre sur le nœud de destination avant de renvoyer 0 si la ressource est démarrée ou 1 si la ressource n'a pas encore démarré. Si vous ne spécifiez pas n, le délai d'attente par défaut de la ressource sera utilisé.
Forcer le démarrage d'une ressource sur le nœud actuel
Utilisez le paramètre debug-start
de la commande pcs resource
pour forcer le démarrage d'une ressource spécifiée sur le nœud actuel, en ignorant les recommandations de la grappe et en imprimant la sortie du démarrage de la ressource. Cette commande est principalement utilisée pour le débogage des ressources ; le démarrage des ressources sur un cluster est (presque) toujours effectué par Pacemaker et non directement avec la commande pcs
. Si votre ressource ne démarre pas, cela est généralement dû à une mauvaise configuration de la ressource (que vous pouvez déboguer dans le journal du système), à des contraintes qui empêchent la ressource de démarrer, ou à la désactivation de la ressource. Vous pouvez utiliser cette commande pour tester la configuration d'une ressource, mais elle ne doit normalement pas être utilisée pour démarrer des ressources dans un cluster.
Le format de la commande debug-start
est le suivant.
pcs resource debug-start resource_id