kdump ist ein fortschrittlicher Absturz-Dump-Mechanismus. Wenn aktiviert, wird das System aus dem Kontext eines anderen Kernels gebootet. Dieser zweite Kernel reserviert eine kleine Menge an Speicher, und sein einziger Zweck besteht darin, das Core-Dump-Image zu erfassen, falls das System abstürzt. Da die Analyse des Core-Dumps wesentlich dazu beiträgt, die genaue Ursache des Systemausfalls zu ermitteln, wird dringend empfohlen, diese Funktion zu aktivieren. In diesem Hinweis wird erläutert, wie Sie den kdump-Dienst in CentOS/RHEL 6 konfigurieren, testen und verwenden.
1. Installieren Sie das kexec-tools-Paket, falls es noch nicht installiert ist
Um den kdump-Dienst nutzen zu können, benötigen Sie die kexec-tools Paket installiert.
# yum install kexec-tools
2. Speichernutzung in GRUB konfigurieren
Um die für den kdump-Kernel reservierte Speichermenge zu konfigurieren, ändern Sie die Datei /boot/grub/grub.conf und fügen Sie den Parameter crashkernel=[size]M (oder crashkernel=auto) zur Liste der Kernel-Optionen hinzu .Und dann neu starten, damit es wirksam wird.
Zum Beispiel:
# vi /boot/grub/grub.conf ... title Oracle Linux Server-uek (2.6.39-200.24.1.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M initrd /initramfs-2.6.39-200.24.1.el6uek.x86_64.img ...
# reboot
3. Dump-Speicherort konfigurieren
Um kdump zu konfigurieren, müssen wir die Konfigurationsdatei /etc/kdump.conf bearbeiten . Die Standardoption besteht darin, die vmcore-Datei im Verzeichnis /var/crash/ zu speichern Verzeichnis des lokalen Dateisystems. Um das lokale Verzeichnis zu ändern, in dem der Core-Dump gespeichert werden soll, entfernen Sie das Rautenzeichen („#“) am Anfang der Zeile #path /var/crash und ersetzen Sie den Wert durch einen gewünschten Verzeichnispfad.
Zum Beispiel:
path /usr/local/cores
Optional können Sie den Core-Dump auch direkt auf einer Raw-Partition speichern.
Zum Beispiel:
raw /dev/sdb4
Um den Speicherauszug mithilfe des NFS-Protokolls auf einem Remote-Computer zu speichern, entfernen Sie das Hash-Zeichen („#“) vom Anfang der Zeile #net my.server.com:/export/tmp und ersetzen Sie den Wert durch einen gültigen Hostnamen und Verzeichnispfad.
Zum Beispiel:
net my.server.com:/export/cores
4. Core Collector konfigurieren
Um die Größe der vmcore-Dump-Datei zu reduzieren, ermöglicht Ihnen kdump, eine externe Anwendung zum Komprimieren der Daten anzugeben und optional alle irrelevanten Informationen wegzulassen. Derzeit ist makedumpfile der einzige vollständig unterstützte Kernsammler.
Um den Kernsammler zu aktivieren, ändern Sie die Konfigurationsdatei /etc/kdump.conf , entfernen Sie das Hash-Zeichen („#“) am Anfang von #core_collector makedumpfile -c –message-level 1 -d 31 line, und bearbeiten Sie die Befehlszeilenoptionen wie unten beschrieben.
Zum Beispiel:
core_collector makedumpfile -c
5. Ändern der Standardaktion
Wenn der Kernel-Absturz erfasst wird, wird standardmäßig das Root-Dateisystem gemountet und /sbin/init wird ausgeführt. Um dieses Verhalten zu ändern, öffnen Sie die Konfigurationsdatei /etc/kdump.conf, entfernen Sie das Hash-Zeichen („#“) vom Anfang der Shell-Zeile #default und ersetzen Sie den Wert durch eine gewünschte Aktion wie beschrieben .
Zum Beispiel:
default halt
6. kdump-Daemon starten
Überprüfen und vergewissern Sie sich, dass die Kernel-Befehlszeile die kdump-Konfiguration enthält und Speicher für den Crash-Kernel reserviert wurde:
# cat /proc/cmdline ro root=/dev/mapper/vg_ol6desktop-lv_root crashkernel=128M
Der kdump-Dienst kann beim Neustart des Systems gestartet werden.
# chkconfig kdump on
Verwenden Sie den folgenden Befehl, um den Dienst in der aktuellen Sitzung zu starten:
# service kdump start No kdump initial ramdisk found. [WARNING] Rebuilding /boot/initrd-2.6.39-200.24.1.el6uek.x86_64kdump.img Starting kdump: [ OK ]
7. kdump testen
Um die Konfiguration zu testen, starten Sie das System mit aktiviertem kdump neu und vergewissern Sie sich, dass der Dienst ausgeführt wird.
Zum Beispiel:
# service kdump status Kdump is operational
Geben Sie dann an einem Shell-Prompt die folgenden Befehle ein:
# echo 1 > /proc/sys/kernel/sysrq # echo c > /proc/sysrq-trigger
Dies zwingt den Linux-Kernel zum Absturz, und die Datei address-YYYY-MM-DD-HH:MM:SS/vmcore wird an den Speicherort kopiert, den Sie in der Konfiguration ausgewählt haben (d. h. nach /var/crash/ by Standard)
CentOS / RHEL 5 :So konfigurieren Sie kdumpCentOS / RHEL 7 :So konfigurieren Sie kdump
So konfigurieren Sie Kdump auf SuSE Linux Enterprise System 10 und 11