9.4. Échec du démon cluster
RGManager possède un processus de surveillance qui redémarre l'hôte au cas où le processus
rgmanager
principal échouerait de manière inattendue. Ceci entraîne le fencing du nœud du cluster et la récupération du service par rgmanager
sur un autre hôte. Lorsque le démon de surveillance détecte que le processus rgmanager
principal est en panne, il redémarrera le nœud du cluster, puis les nœuds actifs du cluster détecteront que le nœud est parti et l'expulseront du cluster.
Le numéro de PID (process ID) le plus bas est le processus de surveillance qui effectuera une action si son processus enfant (processus avec un numéro de PID plus élevé) échoue. Capturer le cœur du processus avec le numéro de PID le plus haut en utilisant
gcore
peut vous aider à résoudre un démon en échec.
Installez les paquetages requis pour capturer et afficher le « core » (cœur), puis assurez-vous que les versions de
rgmanager
et rgmanager-debuginfo
sont bien les mêmes, sinon le « core » (cœur) de l'application capturée pourrait se révéler inutilisable.
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo
9.4.1. Capturer le « core » (cœur) de rgmanager
lors du runtime.
Il existe deux processus
rgmanager
exécutés lors du démarrage. Vous devez capturer le « core » (cœur) du processus rgmanager
avec le numéro PID le plus élevé.
Ci-dessous figure un exemple de sortie de la commande
ps
affichant deux processus de rgmanager
.
$ ps aux | grep rgmanager | grep -v grep root 22482 0.0 0.5 23544 5136 ? S<Ls Dec01 0:00 rgmanager root 22483 0.0 0.2 78372 2060 ? S<l Dec01 0:47 rgmanager
Dans l'exemple suivant, le programme
pidof
est utilisé pour déterminer automatiquement le numéro PID le plus élevé, qui est le PID correct pour créer le « core » (cœur). La commande complète capture le « core » de l'application du processus 22483, qui possède le PID le plus élevé.
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)