Diverse Ereignisse im Cluster (u.a. Ausfall des Interconnects, Crash des ocssd-Prozesses) führen zu einer Node Eviction, die wiederum mit einem Reboot der betroffenen Server einhergehen kann. Wenn der Reboot die Ursache der Eviction behebt, gliedern sich die Server anschließend wieder selbständig in den Cluster ein. Dazu müssen seit Patchlevel 19.13 weitere Vorkehrungen im Betriebssystem getroffen werden.
Mit Patchlevel 19.13.0.0.211019 (Release Update 10/2021) haben wir festgestellt, dass ein betroffener Node einfriert statt zu rebooten. Die Folge davon wäre, dass sich die betroffenen Server nicht wieder selbständig in den Cluster integrieren, sondern per Remote Management Interface oder vor Ort im Serverraum manuell neu gestartet werden müssen.
Die nötige Erklärung liefert die My Oracle Support Doc ID 2821641.1:
„We enabled kernel crash dump in 19.13 for some specific scenarios. Hence CSSD agent uses ‘echo c’ instead of ‘echo b’. If the kdump is not configured, the system will appear hung and will not reboot because default “kernel.panic” parameter is set to 0.“
Daraus folgt, dass ein Clusterserver ab Patchlevel 19.13 mit aktivem kdump laufen und/oder den Kernelparameter kernel.panic=1 gesetzt haben muss.
Folgender shell-Befehl muss mindestens für eine der Komponenten „kdump“ oder „kernel.panic“ mit „ist aktiv“ antworten. Dann ist auch mit Patchlevel 19.13 oder höher ein korrektes Rebootverhalten bei einer Node Eviction gegeben:
((systemctl is-active kdump &>/dev/null && echo "kdump ist aktiv") || echo "kdump ist nicht aktiv") && (([ $(sysctl -n kernel.panic) -eq 1 ] && echo "kernel.panic ist aktiv" ) || echo "kernel.panic ist nicht aktiv")
Beispiel eines betroffenen Systems:
# ((systemctl is-active kdump &>/dev/null && echo "kdump ist aktiv") || echo "kdump ist nicht aktiv") && (([ $(sysctl -n kernel.panic) -eq 1 ] && echo "kernel.panic ist aktiv" ) || echo "kernel.panic ist nicht aktiv")
kdump ist nicht aktiv
kernel.panic ist nicht aktiv
Beispiel eines NICHT betroffenen Systems:
# ((systemctl is-active kdump &>/dev/null && echo "kdump ist aktiv") || echo "kdump ist nicht aktiv") && (([ $(sysctl -n kernel.panic) -eq 1 ] && echo "kernel.panic ist aktiv" ) || echo "kernel.panic ist nicht aktiv")
kdump ist nicht aktiv
kernel.panic ist aktiv
Um ein sauberes Rebootverhalten auch mit Grid Infrastructure 19.13 und höher sicherzustellen, ist es dringend empfohlen, den erwähnten Test auszuführen und bei Bedarf die Betriebssystemkonfiguration entsprechend anzupassen. Nur so ist auch bei einer vorübergehenden Störung im Clusterbetrieb, die zu einer Node Eviction führt, ein stabiler Clusterbetrieb ohne manuellen Eingriff sichergestellt.
Share this article