GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come abilitare Kdump su RHEL 7 e CentOS 7

Kdump è una funzionalità del kernel che viene utilizzata per acquisire i dump di arresto anomalo quando il sistema o il kernel vanno in crash. Per abilitare kdump dobbiamo riservare una parte della RAM fisica che verrà utilizzata per eseguire il kernel kdump in caso di panico del kernel o crash.

Quando si verifica un crash del kernel o un kernel panic, l'esecuzione del kernel esegue 'kexec(kdump kernel) ' e carica il kernel kdump dalla memoria di riserva, quindi il contenuto della RAM e Swap viene copiato nel file vmcore sul disco locale o sul disco remoto e infine riavvia la scatola.

Analizzando i dump di arresto anomalo possiamo trovare il motivo o il caso principale dell'errore di sistema. Se hai il supporto del sistema operativo, puoi condividere i dump di arresto anomalo con il fornitore per l'analisi.

In questo articolo dimostreremo come abilitare kdump su RHEL 7 e CentOS 7

Passaggio:1 Installa 'kexec-tools' usando il comando yum

Usa il comando yum di seguito per installare il pacchetto "kexec-tools" nel caso non sia installato.

[[email protected] ~]# yum install kexec-tools

Passaggio:2 Aggiorna il file GRUB2 in Riserva memoria per il kernel Kdump

Modifica il file GRUB2 (/etc/default/grub ), aggiungi il parametro 'crashkernel= ' nella riga che inizia con 'GRUB_CMDLINE_LINUX '

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=128M vconsole.keymap=us rhgb quiet"

Esegui il comando seguente per rigenerare la configurazione di grub2.

[[email protected] ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

In caso di firmware UEFI, utilizza il comando seguente

[[email protected] ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

Il comando precedente informerà il bootlaoder di riservare 128 MB di RAM dopo il riavvio.

Riavvia la casella ora utilizzando il comando seguente:

[[email protected] ~]# shutdown -r now

Passo:3 Aggiorna la posizione del dump e l'azione predefinita nel file (/etc/kdump.conf)

Per archiviare un dump di arresto anomalo o un file vmcore su un file system locale, modifica il file '/etc/kdump.conf ' e specifica la posizione secondo la tua configurazione. Nel mio caso sto usando un file system locale separato ( /var/crash ). Si raccomanda che la dimensione del file system sia equivalente alla dimensione della RAM del sistema o che il file system abbia spazio libero equivalente alla dimensione della RAM. Kdump permette di comprimere i dati di dump usando l'opzione 'core collector' (core_collector makedumpfile -c ) dove -c viene utilizzato per la compressione.

Nel caso in cui kdump non riesca a memorizzare il file dump nella posizione specificata, verrà eseguita l'azione predefinita menzionata nella direttiva predefinita. Nel mio caso l'azione predefinita è il riavvio.

Aggiorna le tre direttive seguenti nel file kdump.conf.

[[email protected] ~]# vi /etc/kdump.conf

path /var/crash
core_collector makedumpfile -c
default reboot

Diverse opzioni per archiviare il dump :

Passaggio:4 Avvia e abilita il servizio kdump

[[email protected] ~]# systemctl start kdump.service
[[email protected] ~]# systemctl enable kdump.service
[[email protected] ~]#

Passaggio:5 Ora prova Kdump arrestando manualmente il sistema

Prima di mandare in crash il tuo sistema , verifica se il servizio kdump è in esecuzione o meno utilizzando il comando seguente.

[[email protected] crash]# systemctl is-active kdump.service
[[email protected] crash]# service kdump status

Per testare la nostra configurazione di kdump, arresteremo manualmente il nostro sistema con i comandi seguenti.

[[email protected] ~]# echo 1 > /proc/sys/kernel/sysrq ; echo c > /proc/sysrq-trigger

Questo creerà un file di dump di arresto anomalo (vmcore ) in "/var/crash 'file system.

[[email protected] ~]# ls -lR /var/crash
/var/crash:
total 0
drwxr-xr-x. 2 root root 42 Mar 4 03:02 127.0.0.1-2016-03-04-03:02:17

/var/crash/127.0.0.1-2016-03-04-03:02:17:
total 135924
-rw-------. 1 root root 139147524 Mar 4 03:02 vmcore
-rw-r--r--. 1 root root 35640 Mar 4 03:02 vmcore-dmesg.txt
[[email protected] ~]#

Passaggio:6 Usa il comando "crash" per analizzare ed eseguire il debug dei dump di arresto anomalo

Crash è l'utilità o il comando per eseguire il debug e analizzare il dump di arresto anomalo del sistema o il file vmcore.

Per utilizzare l'arresto anomalo, assicurati che siano installati due pacchetti:"crash &kernel-debuginfo '

[[email protected] ~]# yum install crash

Per installare il pacchetto "kernel-debuginfo", abilita prima il repository di debug. Modifica il file repository /etc/yum.repos.d/CentOS-Debuginfo.repo

cambia "enabled=0" in "enabled=1"

[[email protected] ~]# yum install kernel-debuginfo

Una volta installato il kernel-debuginfo , quindi prova a eseguire il comando di arresto anomalo di seguito, ci darà un prompt di arresto anomalo in cui possiamo eseguire comandi per trovare le informazioni sul processo, l'elenco dei file aperti quando il sistema è andato in crash.

[[email protected] ~]# crash /var/crash/127.0.0.1-2016-03-04-14\:20\:06/vmcore /usr/lib/debug/lib/modules/`uname -r`/vmlinux

crash>

Digita "ps ' comando per elencare i processi in esecuzione quando il sistema è andato in crash.

crash> ps

Per visualizzare i file che erano aperti quando il sistema si è arrestato in modo anomalo, digita il comando "file" al prompt di arresto anomalo.

crash> files
PID: 5577 TASK: ffff88007b44f300 CPU: 0 COMMAND: "bash"
ROOT: / CWD: /root
 FD FILE DENTRY INODE TYPE PATH
 0 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR /dev/pts/0
 1 ffff880036b73900 ffff880068c409c0 ffff8800794a8d10 REG /proc/sysrq-trigger
 2 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR /dev/pts/0
 10 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR /dev/pts/0
255 ffff880036b85000 ffff8800796fa540 ffff88007966f4d0 CHR /dev/pts/0
crash>

Digita comando 'sys' per elencare le informazioni di sistema quando si è arrestato in modo anomalo.

crash> sys
 KERNEL: /usr/lib/debug/lib/modules/3.10.0-327.10.1.el7.x86_64/vmlinux
 DUMPFILE: /var/crash/127.0.0.1-2016-03-04-14:20:06/vmcore
 CPUS: 1
 DATE: Fri Mar 4 14:20:01 2016
 UPTIME: 00:02:00
LOAD AVERAGE: 0.75, 0.48, 0.19
 TASKS: 115
 NODENAME: cloud.linuxtechi.com
 RELEASE: 3.10.0-327.10.1.el7.x86_64
 VERSION: #1 SMP Tue Feb 16 17:03:50 UTC 2016
 MACHINE: x86_64 (2388 Mhz)
 MEMORY: 2 GB
 PANIC: "SysRq : Trigger a crash"
crash>

Per ottenere assistenza su qualsiasi comando al prompt di arresto anomalo, digita 'help ' , l'esempio è mostrato di seguito.

Questa è la conclusione dell'articolo, non esitare a condividerlo se ti è piaciuto.

Leggi ancheCome installare ownCloud su CentOS 7


Cent OS
  1. Come creare e abilitare la partizione di scambio su Centos / RHEL 8

  2. CentOS / RHEL 7:come disabilitare tutte le console tty e abilitare solo 1

  3. Come abilitare IPv6 su CentOS/RHEL 6

  4. Come abilitare FTP in CentOS/RHEL 5 e 6

  5. Come abilitare IPv6 in CentOS/RHEL 8

Come abilitare il repository EPEL in CentOS e RHEL

Come abilitare la quota disco per utenti e gruppi su CentOS 7 / RHEL 7

Come abilitare il repository EPEL su CentOS 8 e RHEL 8 Server

Come installare e utilizzare Cockpit su CentOS 8 / RHEL 8

Come installare e utilizzare Fail2ban su RHEL 8 / CentOS 8

Come installare e configurare Checkmk su CentOS 8 / RHEL 8