GNU/Linux >> LINUX-Kenntnisse >  >> Linux

CentOS / RHEL 7 :So konfigurieren Sie kdump

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.

1. Installieren Sie das kexec-tools-Paket, falls es noch nicht installiert ist
Um den kdump-Dienst nutzen zu können, muss das Paket kexec-tools installiert sein. Falls noch nicht geschehen, installieren Sie die kexec-tools .

# yum install kexec-tools

2. Konfigurieren der Speichernutzung in GRUB2
Um die Speichermenge zu konfigurieren, die für den kdump-Kernel reserviert ist, ändern Sie /etc/default/grub und GRUB_CMDLINE_LINUX , setzen Sie den Parameter crashkernel=[size] auf die Liste der Kernel-Optionen.

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M  vconsole.keymap=us rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

Führen Sie den folgenden Befehl aus, um die Grub-Konfiguration neu zu generieren:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Starten Sie das System neu, damit die Kernel-Parameter wirksam werden.

# shutdown -r now

3. Dump-Speicherort konfigurieren
Um kdump zu konfigurieren, müssen wir die Konfigurationsdatei /etc/kdump.conf bearbeiten . Die Standardoption zum Speichern der vmcore-Datei ist /var/crash/ Verzeichnis des lokalen Dateisystems. Ändern Sie das lokale Verzeichnis, in dem der Core-Dump gespeichert werden soll, und ersetzen Sie den Wert durch den 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 Dump mithilfe des NFS-Protokolls auf einem Remote-Computer zu speichern, entfernen Sie das Hash-Zeichen („#“) vom Anfang der Zeile #nfs my.server.com:/export/tmp und ersetzen Sie den Wert durch einen gültigen Hostnamen und Verzeichnispfad.
Zum Beispiel:

nfs my.server.com:/export/tmp

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
Wir können auch die Standardaktion angeben, die ausgeführt werden soll, wenn der Core-Dump am gewünschten Ort nicht generiert werden kann. Wenn keine Standardaktion angegeben ist, wird „Neustart“ als Standard angenommen.
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
BOOT_IMAGE=/vmlinuz-3.8.13-98.2.1.el7uek.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root crashkernel=128M rd.lvm.lv=rhel/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=us rhgb quiet nomodeset

Der kdump-Dienst kann beim Neustart des Systems gestartet werden.

# systemctl enable kdump.service

Verwenden Sie den folgenden Befehl, um den Dienst in der aktuellen Sitzung zu starten:

# systemctl start kdump.service

7. Testen von kdump (kdump manuell auslösen)
Um die Konfiguration zu testen, können wir das System mit aktiviertem kdump neu starten und sicherstellen, dass der Dienst läuft.

Zum Beispiel:

# systemctl is-active kdump
active
# service kdump status
Redirecting to /bin/systemctl status  kdump.service
kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled)
Active: active (exited) since 一 2015-08-31 05:12:57 GMT; 1min 6s ago
Process: 19104 ExecStop=/usr/bin/kdumpctl stop (code=exited, status=0/SUCCESS)
Process: 19116 ExecStart=/usr/bin/kdumpctl start (code=exited, status=0/SUCCESS)
Main PID: 19116 (code=exited, status=0/SUCCESS)
Aug 31 05:12:57 ol7 kdumpctl[19116]: kexec: loaded kdump kernel
Aug 31 05:12:57 ol7 kdumpctl[19116]: Starting kdump: [OK]
Aug 31 05:12:57 ol7 systemd[1]: Started Crash recovery kernel arming.

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 6 :So konfigurieren Sie kdump
CentOS / RHEL 5 :So konfigurieren Sie kdump
So konfigurieren Sie Kdump auf SuSE Linux Enterprise System 10 und 11


Linux
  1. So konfigurieren Sie Proxy in CentOS/RHEL/Fedora

  2. Fehlerbehebung bei kdump-Problemen in CentOS/RHEL

  3. So konfigurieren Sie die Firewalld-Protokollierung in CentOS/RHEL 8

  4. CentOS / RHEL 6 :So konfigurieren Sie kdump

  5. CentOS / RHEL 5:So konfigurieren Sie kdump

So konfigurieren Sie eine statische IP-Adresse in CentOS 7 / RHEL 7

So konfigurieren Sie eine statische IP-Adresse in CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Ansible unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8

CentOS / RHEL 7 :So konfigurieren Sie kdump mit der GUI

So konfigurieren Sie VNC Server unter CentOS/RHEL 6