GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

CentOS / RHEL 7 :Grundlegendes zu Kexec und Kdump

Was ist kdump und Kexec

Kdump ist der Crash-Dump-Mechanismus des Linux-Kernels. Im Falle eines Systemabsturzes stellt Kdump ein Speicherabbild (vmcore) bereit. Dieses Bild kann bei der Ermittlung der Unfallursache hilfreich sein. Es wird dringend empfohlen, die Kdump-Funktion zu aktivieren.

Kexec und Kdump sorgen zusammen für einen schnelleren Start und die Erstellung zuverlässiger Kernel-VMcores für Diagnosezwecke. Kexec ist ein Schnellstartmechanismus, der es ermöglicht, einen Linux-Kernel aus dem Kontext eines bereits laufenden Kernels zu booten, ohne das BIOS zu durchlaufen. Kdump verwendet Kexec, um in einen zweiten Kernel zu booten, wenn das System abstürzt. Der Crash-Dump wird aus dem Kontext eines frisch gebooteten Kernels und nicht aus dem Kontext des abgestürzten Kernels erfasst. Dieser zweite Kernel bootet mit sehr wenig Speicher und erfasst das Dump-Image.

Installation und Konfiguration von kdump

Um Kdump zu aktivieren und zu verwenden, installieren Sie das folgende Paket:

# yum install kexec-tools

Wenn Sie Kdump aktivieren, müssen Sie einen Teil des Systemspeichers für den Capture-Kernel reservieren. Dieser Teil des Speichers ist für andere Zwecke nicht verfügbar. Die Speichermenge, die für den Kdump-Kernel reserviert ist, wird durch den Boot-Parameter crashkernel repräsentiert. Dies wird an die Kernel-Zeile in der GRUB-Konfigurationsdatei /boot/grub2/grub.cfg angehängt . Das folgende Beispiel aktiviert Kdump und reserviert 128 MB Speicher:

linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=128M

Zusätzlich zum Reservieren von Speicher können Sie die Startadresse (Offset) dieses reservierten Speichers angeben. Wenn Sie beispielsweise die folgende Option zur Kernel-Zeile hinzufügen, werden 128 MB Speicher reserviert, beginnend bei der physischen Adresse 0x01000000 (16 MB):

crashkernel=128M@16M

– Um den Offset auf 48M einzustellen:

crashkernel=128M@48M

– Wenn Sie mehr als 128 GB RAM haben, verwenden Sie die folgende Einstellung:

crashkernel=512M@64M

– Wenn mehr Kontrolle über die Größe und Platzierung des reservierten Speichers benötigt wird, verwenden Sie das folgende Format:

crashkernel=range1:size1[,range2:size2,...][@offset]

– Der Wert range[n] gibt einen Wertebereich an, der mit der Größe des im System vorhandenen physischen RAM abgeglichen wird. Der entsprechende size[n]-Wert gibt die Menge des zu reservierenden Kexec-Speichers an.

– Das folgende Beispiel weist Kexec an, 64 MB RAM zu reservieren, wenn das System zwischen 512 MB und 2 GB Arbeitsspeicher enthält. Wenn das System über mehr als 2 GB physischen Speicher verfügt, reservieren Sie 128 MB:

crashkernel=512M-2G:64M,2G-:128M

– Auf x86_64-Systemen mit mindestens 2 GB Speicher können Sie Speicher für kdump automatisch zuweisen. Verwenden Sie den folgenden Parameter, um automatisch Speicher für kdump zuzuweisen:

crashkernel=auto

Aktiviere kdump

Nachdem Sie den Parameter crashkernel zur Datei /boot/grub2/grub.cfg hinzugefügt haben, starten Sie Ihr System neu, damit Speicher für den Capture-Kernel reserviert wird. Das „kostenlose –m ”-Befehl zeigt korrekt an, dass weniger Arbeitsspeicher für das System zur Verfügung steht.

Verwenden Sie den Befehl systemctl, um den Kdump-Dienst so zu aktivieren, dass er beim Booten startet. Verwenden Sie den Befehl systemctl, um den Kdump-Dienst zu starten.

# systemctl enable kdump
# systemctl start kdump

Dadurch wird Ihr Kernel-kdump-Image über Kexec geladen, sodass Ihr System bereit ist, beim Absturz einen virtuellen Kern zu erfassen.

Crash-Dump erzwingen

Sie können die kdump-Konfiguration testen, indem Sie Ihr System mit dem folgenden Befehl zum Absturz bringen:

# echo c > /proc/sysrq-trigger

Dadurch wird eine Panikausgabe angezeigt, gefolgt von einem Neustart des Systems im Kdump-Kernel. Wenn der Startvorgang den Punkt erreicht, an dem der Kdump-Dienst gestartet wird, wird der virtuelle Kern auf die Festplatte an den Standardspeicherort /var/crash/[YYYY-MM-DD-HH:MM]/vmcore kopiert. Das System bootet dann wieder in den normalen Kernel.

Hinweis :Kdump wird auf Xen domU-Gästen nicht unterstützt. Virtualisierte Systeme können den Befehl xm dump-core für Panikattacken verwenden. CentOS / RHEL 7 :So konfigurieren Sie kdump
CentOS / RHEL 6 :So konfigurieren Sie kdump />Kdump-Konfigurationsdatei /etc/kdump.conf verstehen


Cent OS
  1. So installieren Sie Python 3.5 unter CentOS/RHEL und Fedora

  2. CentOS / RHEL 7 :Konfigurieren eines NFS-Servers und NFS-Clients

  3. CentOS / RHEL 7 :So installieren und konfigurieren Sie Telnet

  4. CentOS / RHEL 7 :Grundlegendes zu Kexec und Kdump

  5. So fügen Sie logischen Speicher in CentOS/RHEL 7 im laufenden Betrieb hinzu und entfernen ihn

Installieren und konfigurieren Sie Puppet unter CentOS 7 / RHEL 7

So installieren und verwenden Sie Firewalld in CentOS / RHEL

So installieren Sie Samba auf RHEL und CentOS Stream

Installieren Sie Prometheus und Node Exporter auf CentOS / RHEL 8

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

So installieren Sie Wine 5.0 auf CentOS, RHEL und Fedora