19.7. Configuration d'une stratégie de santé des nœuds
Un nœud peut fonctionner suffisamment bien pour conserver son statut de membre d'une grappe, mais être en mauvaise santé à certains égards, ce qui en fait un emplacement indésirable pour les ressources. Par exemple, une unité de disque peut signaler des erreurs SMART ou le processeur peut être très chargé. Depuis RHEL 9.1, vous pouvez utiliser une stratégie de santé des nœuds dans Pacemaker pour déplacer automatiquement les ressources hors des nœuds malsains.
Vous pouvez contrôler l'état de santé d'un nœud à l'aide des agents de ressources de nœuds de santé suivants, qui définissent les attributs du nœud en fonction de l'état de l'unité centrale et du disque :
-
ocf:pacemaker:HealthCPU
qui surveille le fonctionnement au ralenti de l'unité centrale -
ocf:pacemaker:HealthIOWait
qui surveille l'attente E/S de l'unité centrale -
ocf:pacemaker:HealthSMART
qui surveille l'état SMART d'un lecteur de disque -
ocf:pacemaker:SysInfo
qui définit une série d'attributs de nœuds à l'aide d'informations sur le système local et fonctionne également comme un agent de santé qui surveille l'utilisation de l'espace disque
En outre, tout agent de ressource peut fournir des attributs de nœud qui peuvent être utilisés pour définir une stratégie de nœud de santé.
Procédure
La procédure suivante permet de configurer une stratégie de santé des nœuds pour une grappe, afin de retirer des ressources à tout nœud dont le temps d'attente E/S du processeur dépasse 15 %.
La propriété
health-node-strategy
cluster permet de définir la manière dont Pacemaker réagit aux modifications de l'état des nœuds.# pcs property set node-health-strategy=migrate-on-red
Créez une ressource cluster clonée qui utilise un agent de ressource de nœud de santé, en définissant l'option méta de ressource
allow-unhealthy-nodes
pour définir si le cluster détectera si la santé du nœud se rétablit et déplacera à nouveau les ressources vers le nœud. Configurez cette ressource avec une action de surveillance récurrente, afin de vérifier en permanence l'état de santé de tous les nœuds.Cet exemple crée un agent de ressources
HealthIOWait
pour surveiller l'attente E/S de l'unité centrale, en fixant à 15 % la limite rouge pour le déplacement des ressources hors d'un nœud. Cette commande définit l'option de méta ressourceallow-unhealthy-nodes
surtrue
et configure un intervalle de surveillance récurrent de 10 secondes.# pcs resource create io-monitor ocf:pacemaker:HealthIOWait red_limit=15 op monitor interval=10s meta allow-unhealthy-nodes=true clone