kdump es un mecanismo avanzado de volcado de errores. Cuando está habilitado, el sistema se inicia desde el contexto de otro kernel. Este segundo kernel reserva una pequeña cantidad de memoria y su único propósito es capturar la imagen de volcado del núcleo en caso de que el sistema falle. Dado que poder analizar el volcado del núcleo ayuda significativamente a determinar la causa exacta de la falla del sistema, se recomienda enfáticamente tener esta función habilitada.
Para usar el servicio kdump, debe tener instalado el paquete kexec-tools. Si aún no está instalado, instale las kexec-tools .
# yum install kexec-tools
Para configurar la cantidad de memoria que está reservada para el kernel kdump, modifique /etc/default/grub y modifique GRUB_CMDLINE_LINUX , establezca el parámetro crashkernel=[size] en la lista de opciones del kernel.
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"
Ejecute el siguiente comando para regenerar la configuración de grub:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Reinicie el sistema para que el parámetro del kernel tenga efecto.
# shutdown -r now
Para configurar kdump, necesitamos editar el archivo de configuración /etc/kdump.conf . La opción predeterminada es almacenar el archivo vmcore en /var/crash/ directorio del sistema de archivos local. Para cambiar el directorio local en el que se guardará el volcado del núcleo y reemplazar el valor con la ruta del directorio deseado.
Por ejemplo:
path /usr/local/cores
Opcionalmente, también puede guardar el volcado del núcleo directamente en una partición sin formato.
Por ejemplo:
raw /dev/sdb4
Para almacenar el volcado en una máquina remota usando el protocolo NFS, elimine el signo almohadilla (“#”) del comienzo de la línea #nfs my.server.com:/export/tmp y reemplace el valor con un nombre de host válido y ruta del directorio.
Por ejemplo:
nfs my.server.com:/export/tmp
Para reducir el tamaño del archivo de volcado de vmcore, kdump le permite especificar una aplicación externa para comprimir los datos y, opcionalmente, omitir toda la información irrelevante. Actualmente, el único recopilador principal totalmente compatible es makedumpfile.
Para habilitar el recopilador principal, modifique el archivo de configuración /etc/kdump.conf, elimine el signo de almohadilla ("#") del principio del #core_collector makedumpfile -c –message-level 1 -d 31 line, y edite las opciones de la línea de comando como se describe a continuación.
Por ejemplo:
core_collector makedumpfile -c
También podemos especificar la acción predeterminada que se realizará cuando el volcado del núcleo no se genere en la ubicación deseada. Si no se especifica ninguna acción predeterminada, se asume que "reiniciar" es el valor predeterminado.
Por ejemplo:
default halt
Compruebe y asegúrese de que la línea de comandos del kernel incluya la configuración de kdump y que la memoria esté reservada para el kernel bloqueado:
# 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
El servicio Set kdump se puede iniciar cuando se reinicia el sistema.
# systemctl enable kdump.service
Para iniciar el servicio en la sesión actual, use el siguiente comando:
# systemctl start kdump.service
Para probar la configuración, podemos reiniciar el sistema con kdump habilitado y asegurarnos de que el servicio se está ejecutando.
Por ejemplo:
# 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.
Luego escriba los siguientes comandos en un indicador de shell:
# echo 1 > /proc/sys/kernel/sysrq # echo c > /proc/sysrq-trigger
Esto hará que el kernel de Linux se bloquee y el archivo dirección-AAAA-MM-DD-HH:MM:SS/vmcore se copiará en la ubicación que haya seleccionado en la configuración (es decir, en /var/crash/ por predeterminado)
CentOS/RHEL 6:Cómo configurar kdumpCentOS/RHEL 5:Cómo configurar kdump
Cómo configurar Kdump en SuSE Linux Enterprise System 10 y 11