GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo habilitar Kdump en RHEL 7 y CentOS 7

Kdump es una característica del kernel que se utiliza para capturar volcados cuando el sistema o el kernel fallan. Para habilitar kdump, tenemos que reservar una parte de la RAM física que se usará para ejecutar kdump kernel en caso de pánico o bloqueo del kernel.

Cuando se produce un bloqueo del kernel o un pánico del kernel, la ejecución del kernel ejecuta 'kexec(kdump kernel) ' y carga el kernel kdump desde la memoria de reserva y luego el contenido de la RAM y el intercambio se copian al archivo vmcore en el disco local o en el disco remoto y finalmente reinicia la caja.

Al analizar los volcados de memoria podemos encontrar la razón o el caso raíz de la falla del sistema. Si tiene compatibilidad con el sistema operativo, puede compartir los volcados de memoria con el proveedor para su análisis.

En este artículo, demostraremos cómo habilitar kdump en RHEL 7 y CentOS 7

Paso:1 Instale 'kexec-tools' usando el comando yum

Use el siguiente comando yum para instalar el paquete 'kexec-tools' en caso de que no esté instalado.

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

Paso:2 Actualice el archivo GRUB2 para reservar memoria para el kernel de Kdump

Edite el archivo GRUB2 (/etc/default/grub ), agregue el parámetro 'crashkernel= ' en la línea que comienza 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"

Ejecute el siguiente comando para regenerar la configuración de grub2.

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

En caso de firmware UEFI, use el siguiente comando

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

El comando anterior informará a bootlaoder para reservar 128 MB de RAM después de reiniciar.

Reinicie el cuadro ahora usando el siguiente comando:

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

Paso:3 Actualice la ubicación del volcado y la acción predeterminada en el archivo (/etc/kdump.conf)

Para almacenar un volcado de memoria o un archivo vmcore en un sistema de archivos local, edite el archivo '/etc/kdump.conf ' y especifique la ubicación según su configuración. En mi caso, estoy usando un sistema de archivos local separado ( /var/crash ). Se recomienda que el tamaño del sistema de archivos sea equivalente al tamaño de la RAM de su sistema o que el sistema de archivos tenga espacio libre equivalente al tamaño de la RAM. Kdump permite comprimir los datos de volcado usando la opción 'recolector central' (core_collector makedumpfile -c ) donde -c se usa para la compresión.

En caso de que kdump no pueda almacenar el archivo de volcado en la ubicación especificada, se realizará la acción predeterminada que se menciona en la directiva predeterminada. En mi caso, la acción predeterminada es reiniciar.

Actualice las siguientes tres directivas en el archivo kdump.conf.

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

path /var/crash
core_collector makedumpfile -c
default reboot

Diferentes opciones para almacenar el volcado:

Paso:4 Inicie y habilite el servicio kdump

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

Paso:5 Ahora pruebe Kdump bloqueando manualmente el sistema

Antes de bloquear su sistema, verifique si el servicio kdump se está ejecutando o no utilizando el siguiente comando.

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

Para probar nuestra configuración de kdump, bloquearemos manualmente nuestro sistema con los siguientes comandos.

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

Esto creará un archivo de volcado de memoria (vmcore ) en '/var/crash ‘ sistema de archivos.

[[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] ~]#

Paso:6 Use el comando 'crash' para analizar y depurar volcados de errores

Crash es la utilidad o comando para depurar y analizar el volcado de memoria o el archivo vmcore.

Para usar el bloqueo, asegúrese de que estén instalados dos paquetes:'crash &kernel-debuginfo

[[email protected] ~]# yum install crash

Para instalar el paquete 'kernel-debuginfo', primero habilite el repositorio de depuración. Edite el archivo de repositorio /etc/yum.repos.d/CentOS-Debuginfo.repo

cambiar 'habilitado=0' a 'habilitado=1'

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

Una vez que se haya instalado kernel-debuginfo, intente ejecutar el siguiente comando de bloqueo, nos dará un aviso de bloqueo donde podemos ejecutar comandos para encontrar información del proceso, lista de archivos abiertos cuando el sistema se bloqueó.

[[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>

Escriba 'ps ' Comando para enumerar el proceso que se estaba ejecutando cuando el sistema se bloqueó.

crash> ps

Para ver los archivos que estaban abiertos cuando el sistema se bloqueó, escriba el comando "archivos" en el indicador de bloqueo.

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>

Escribe comando 'sys' para enumerar la información del sistema cuando se bloqueó.

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>

Para obtener ayuda de cualquier comando en el aviso de bloqueo, escriba 'ayuda ' , el ejemplo se muestra a continuación.

Así concluye el artículo. No dudes en compartirlo si te ha gustado.

Leer tambiénCómo instalar ownCloud en CentOS 7


Cent OS
  1. Cómo crear y habilitar la partición de intercambio en Centos/RHEL 8

  2. CentOS/RHEL 7:Cómo deshabilitar todas las consolas tty y habilitar solo 1

  3. Cómo habilitar IPv6 en CentOS / RHEL 7

  4. Cómo habilitar IPv6 en CentOS / RHEL 6

  5. Cómo habilitar FTP en CentOS/RHEL 5 y 6

Cómo habilitar el repositorio EPEL en CentOS y RHEL

Cómo habilitar la cuota de disco de usuario y grupo en CentOS 7 / RHEL 7

Cómo habilitar el repositorio EPEL en el servidor CentOS 8 y RHEL 8

Cómo instalar y usar Cockpit en CentOS 8 / RHEL 8

Cómo instalar y usar Fail2ban en RHEL 8 / CentOS 8

Cómo instalar y configurar Checkmk en CentOS 8 / RHEL 8