Depurando bloqueos del kernel usando kdump

Introducción

kdump es un servicio que crea volcados de cuelgues cuando hay un estropicio del kernel. Utiliza kexec(8) para arrancar en un kernel secundario (conocido como una kernel de captura), después exporta el contenido de la memoria del kernel (conocida como un volcado del cuelgue o vmcore) para el sistema de archivos. El contenido de vmcore puede entonces ser analizado para root causa el cuelgue del kernel.

La configuración de kdump requiere parámetros de argumento crashkernel del kernel y activar el servicio kdump del systemd. La memoria debe ser reservada para el cuelgue del kernel durante el arranque del primer kernel. crashkernel=auto generalmente no reserva suficiente memoria en Fedora CoreOS, por tanto es recomendado especificar crashkernel=300M.

De modo predeterminado, se guardará el vmcore en /var/crash. También posible escribir el volcado en otro lugar en el sistema local o enviarlo sobre la red editando /etc/kdump.conf. Para información adicional, consulte kdump.conf(5) y los comentarios en /etc/kdump.conf y /etc/sysconfig/kdump.

Configurar kdump por medio de Ignition

Ejemplo de configuración kdump
variant: fcos
version: 1.6.0
kernel_arguments:
  should_exist:
  - 'crashkernel=300M'
systemd:
  units:
  - name: kdump.service
    enabled: true

Configurar kdump tras previsión inicial

  1. Establezca el argumento de kernel crashkernel

    sudo rpm-ostree kargs --append='crashkernel=300M'

    Más información sobre como modificar kargs por medio de rpm-ostree.

  2. Habilitar el servicio kdump systemd.

    sudo systemctl enable kdump.service
  3. Reinicie su sistema.

    sudo systemctl reboot
Es altamente recomendable probar la configuración después de ajustar el servicio kdump, con atención extra a la cantidad de memoria reservada para el bloqueo del kernel. Para más información sobre como probar que kdump está armado apropiadamente y como analizar el volcado, vea la Documentación kdump para Fedora y la documentación de Linux kernel sobre kdump.