Red Hat Training

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

9.4. Cluster-Daemon stürzt ab

RGManager verfügt über einen Überwachungsprozess (auch "Watchdog" genannt), der den Host neu startet, falls der rgmanager Hauptprozess unerwartet abstürzt. Dies führt dazu, dass der Cluster-Knoten abgegrenzt wird und rgmanager den Dienst auf einem anderen Host wiederherstellt. Wenn der Überwachungsdaemon feststellt, dass der rgmanager Hauptprozess abgestürzt ist, wird er den Cluster-Knoten neu starten. Die aktiven Cluster-Knoten werden daraufhin bemerken, dass der Cluster-Knoten ausgefallen ist, und ihn aus dem Cluster ausschließen.
Die niedrigere Prozess-ID (PID) ist der Überwachungsprozess, der Maßnahmen ergreift, wenn sein Kind (der Prozess mit der höheren PID) abstürzt. Die Erstellung eines Speicherauszugs des Prozesses mit der höheren PID-Nummer mithilfe von gcore kann bei der Fehlerbehebung eines abgestürzten Daemons helfen.
Installieren Sie die Pakete, die zum Erstellen und Anzeigen des Speicherauszugs erforderlich sind und vergewissern Sie sich, dass rgmanager und rgmanager-debuginfo von derselben Version sind, da der Speicherauszug andernfalls möglicherweise unbrauchbar ist.
$ yum -y --enablerepo=rhel-debuginfo install gdb rgmanager-debuginfo

9.4.1. Erstellen eines rgmanager Speicherauszugs zur Laufzeit

Es gibt zwei rgmanager Prozesse, die gestartet werden. Sie müssen den Speicherauszug für den rgmanager Prozess mit der höheren PID erstellen.
Sehen Sie nachfolgend eine Beispielausgabe für den ps Befehl, die zwei rgmanager Prozesse zeigt.

$ 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 

In dem folgenden Beispiel wird das pidof Programm dazu verwendet, um automatisch die höhere PID zu bestimmen, also die, von der der Speicherauszug erstellt werden muss. Der vollständige Befehl erstellt einen Speicherauszug für den Prozess 22483, der die höhere PID-Nummer aufweist.
$ gcore -o /tmp/rgmanager-$(date '+%F_%s').core $(pidof -s rgmanager)