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)