Crashdump Setup: kdump konfigurieren und testen

In produktiven Linux-Umgebungen kann ein Kernel-Panic oder Systemabsturz kritische Auswirkungen auf Anwendungen und Services haben. Um die Ursachen solcher Abstürze zuverlässig zu analysieren, ist ein systematisches Crashdump-Setup notwendig. Kdump ist das Standardtool unter Linux, um bei einem Kernel-Panic ein Speicherabbild zu erzeugen, das anschließend analysiert werden kann. Dieses Tutorial beschreibt, wie kdump korrekt konfiguriert, getestet und in den Betrieb integriert wird, um wertvolle Diagnosedaten zu sichern.

Kdump Grundlagen

Kdump nutzt eine reservierte Speicherregion, den sogenannten crashkernel, um bei einem Kernel-Panic einen Minimal-Kernel zu starten. Dieser “Crash-Kernel” erzeugt ein Speicherabbild des Hauptkernels, bevor das System endgültig heruntergefahren wird. So lassen sich die Ursachen für den Absturz analysieren, ohne dass das laufende System unbrauchbar wird.

Funktionsweise

  • Hauptkernel läuft im normalen Modus
  • Bei einem Panic startet der Crash-Kernel in der reservierten Memory-Region
  • Crash-Kernel erstellt ein Dump-File (vmcore) auf einer dedizierten Partition oder über das Netzwerk
  • Analyse des Dumps erfolgt später mit Tools wie crash oder gdb

Kdump Installation

Die Installation erfolgt je nach Distribution über die Standard-Paketverwaltung:

# RHEL/CentOS
yum install kexec-tools

# Ubuntu/Debian
apt install kdump-tools

Systemd Services aktivieren

systemctl enable kdump
systemctl start kdump

Speicherreservierung (crashkernel)

Damit kdump funktioniert, muss der Kernel eine reservierte Speicherregion für den Crash-Kernel erhalten. Dies erfolgt über den Bootloader.

Grub Konfiguration

# /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=512M"

Grub aktualisieren

update-grub

Die Größe der reservierten Region hängt vom Arbeitsspeicher und der Systemlast ab. Typischerweise werden 128M bis 1G empfohlen.

Kdump Konfiguration

Die Kdump-Konfiguration wird üblicherweise in /etc/kdump.conf gepflegt.

Speicherziel definieren

  • Lokale Partition (ext4, xfs): path /var/crash
  • Remote via SSH/NFS: ssh user@host:/kdump oder nfs 192.168.0.10:/export/kdump

Weitere Optionen

  • core_collector makedumpfile -c --message-level 1 – reduziert Dump-Größe
  • default reboot – Reboot nach Crash
  • disk /dev/sda1 – zielt auf bestimmte Partition

Testen der Kdump Konfiguration

Nach Installation und Konfiguration sollte kdump getestet werden. Dazu kann ein kontrollierter Panic ausgelöst werden:

# Trigger Panic
echo c > /proc/sysrq-trigger

Hinweis: Dieser Test führt zu einem echten Systemabsturz. Daher sollte er in einer Testumgebung oder außerhalb der Produktionszeiten durchgeführt werden.

Überprüfung des Dumps

Nach dem Reboot prüft man das Vorhandensein des Dumps:

ls -l /var/crash

Für die Analyse:

crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux /var/crash/.../vmcore

Automatisierung und Monitoring

Kdump lässt sich in Monitoring-Systeme integrieren, um Abwesenheit von Dumps oder fehlerhafte Dumps automatisch zu melden. Tools wie Prometheus, Zabbix oder Nagios können hier genutzt werden.

Automatische Alerts

  • Verfügbarkeit des kdump Services überwachen
  • Dump-Verzeichnisse auf neue Dateien prüfen
  • Automatisierte Backup der Dumps auf Remote Storage

Best Practices

  • Immer eine separate Partition oder ein dediziertes Verzeichnis für Dumps anlegen
  • Crashkernel ausreichend groß reservieren
  • Regelmäßige Tests in kontrollierter Umgebung durchführen
  • Automatisierte Archivierung und Analyse der Dumps
  • Dokumentation und Training für Administratoren

Ein korrekt konfiguriertes kdump-Setup ist ein unverzichtbarer Bestandteil der Systemresilienz. Durch regelmäßige Tests, automatisierte Backups und Monitoring kann die Ursache von Kernel-Panics schnell analysiert und die Systemverfügbarkeit maximiert werden.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles