Der Beitrag beschreibt, wie kdump auf SuSE Linux Enterprise System (SLES) 10 und 11 eingerichtet wird, um Core-Dumps von Kernel-Panics und -Abstürzen zu erfassen. Kdump (Kernel-Dump) stellt einen Speicherabzug in eine Datei namens vmcore bereit, wenn der Kernel ein kritisches Problem hat. Vmcore wird häufig benötigt, um das Problem zu untersuchen. Der Crash-Dump wird aus dem Kontext eines frisch gebooteten Kernels erfasst, nicht aus dem Kontext des abgestürzten Kernels. Kdump verwendet kexec um in einen zweiten Kernel zu booten, wenn das System abstürzt. Kexec ist ein Schnellstartmechanismus, der es ermöglicht, einen neuen Linux-Kernel aus dem Kontext eines laufenden Kernels neu zu starten, ohne Firmware oder Warmstart durchlaufen zu müssen.
Zu befolgende Schritte
Seit Version SLES 10 verwendet Suse kdump als Standard-Crash-Dump-Capturing-Methode. Die Kernel-Core-Dumps werden unter „/var“ gespeichert, daher müssen Sie darauf achten, dass die Partition „/var“ genug Speicherplatz hat, um diese Informationen zu speichern, zumindest etwas größer als die physische Größe des Systemspeichers. Da das System versucht, bis zu 5 Core-Dumps zu speichern, sollte der Speicherplatz optimal sein, um all diese Informationen zu speichern.
1. Installieren Sie die erforderlichen Pakete
Sie müssen die Pakete „kdump“ und „kexec-tools“ installieren, die zum Service Pack Ihres installierten Produkts passen. Der einfachste Weg ist die Verwendung der YaST-Anwendung, um dieses Paket zu installieren. Starten Sie den Befehl „yast2“ von der Konsole aus mit dem Befehl:
# yast2 -i kdump # yast2 -i kexec-tools
Dadurch werden die erforderlichen Pakete installiert, oder Sie können das grafische Systeminstallationsprogramm YaST verwenden, um die entsprechenden Pakete zu installieren.
2. Konfigurieren Sie Kdump, um den Dump zu erfassen
Zunächst müssen Sie Speicher für den Capture-Kernel reservieren. Dies wird an der Boot-Befehlszeile an den Kernel des Systems übergeben. SuSE empfiehlt die folgenden Einstellungen für die x86- und x86_64-Architektur:crashkernel=64M@16M
Um dies zu ändern, können Sie YaST starten und unter System Bootloader auswählen. Wählen Sie auf der Registerkarte Abschnittsverwaltung den Standardabschnitt aus und drücken Sie Bearbeiten. Fügen Sie die Einstellungen dem Feld mit der Bezeichnung Andere Kernelparameter hinzu und drücken Sie dann OK und Fertig stellen, um die Einstellungen zu speichern.
Als nächstes müssen Sie Kdump aktivieren, um einen Systemstart von
zu starten# chkconfig kdump on
Schließlich müssen Sie das System neu starten, um die Änderungen der Kernel-Befehlszeile zu aktivieren. Weitere Informationen zur Konfiguration von Kdump finden Sie in „/usr/share/doc/packages/kexec-tools/README.SUSE“
In späteren Versionen von SLES gibt es auch ein Modul (yast2-kdump-*.rpm) für YaST2, das Sie bei der Konfiguration und Aktivierung von kdump auf Ihrem System unterstützt. Einfach ausführen
# yast2 kdump
3. Überprüfung der Konfiguration
Um sicherzustellen, dass die Konfiguration funktioniert, können Sie dies mit der magischen SysRq testen Funktion des Kernels.
WARNUNG: Bitte stellen Sie sicher, dass keine anderen Benutzer am System angemeldet sind und dass alle Arbeiten gespeichert sind, bevor Sie die nächsten Schritte ausführen, da dies sonst zu Datenverlust führen kann.Zuerst müssen Sie es mit dem folgenden Befehl aktivieren:
# echo 1 > /proc/sys/kerne/sysrq
Als nächstes sollten Sie die Daten Ihrer Festplatten synchronisieren, um das Risiko von Datenverlusten durch
zu minimieren# echo s > /proc/sysrq-trigger
und schließlich können Sie das System zum „Absturz“ bringen, indem Sie
# echo c > /proc/sysrq-trigger
Das System speichert Crash-Dump-Daten. Dies wird einige Zeit dauern, abhängig von der Speicherkapazität Ihres Systems und der Geschwindigkeit des Geräts, auf das der Dump geschrieben wird. Nachdem der Dump abgeschlossen ist, wird das System mit dem normalen Dienst neu gestartet. Sie sollten den Core-Dump im Verzeichnis „/var/log/dump/[YYYY-MM-DD-HH:MM]/vmcore“ finden, wenn der Core-Dump erfolgreich generiert wurde.
CentOS / RHEL 5 :So konfigurieren Sie kdumpCentOS / RHEL 6 :So konfigurieren Sie kdump
CentOS / RHEL 7 :So konfigurieren Sie kdump