Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

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 psaffichant 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)