Article ID: 10044, created on Feb 15, 2012, last review on Aug 12, 2014

  • Applies to:
  • Virtuozzo
  • Virtuozzo containers for Linux
  • Virtuozzo hypervisor

Situación

A veces puede resultar útil configurar volcados de memoria del kernel para resolver 'panics' en servidores de hardware con Parallels Cloud Server, Parallels Server Bare Metal o Parallels Virtuozzo Containers para Linux.

Resolución

  1. Instale kexec-tools en el nodo hardware:

    [root@pvcfl46x64 ~]# yum install kexec-tools
    

    NOTA: en distribuciones basadas en RHEL 6.x, kexec-tools se instala de forma automática y también se aplican todos los demás parámetros de configuración. Los pasos aquí descritos pueden aplicarse para comprobar la configuración.

  2. Anexe la configuración GRUB con la opción de kernel crashkernel=128M@16M para i386 o x86_64 y con crashkernel=256M@256M para Itanium para versiones de PVC anteriores a la versión 4.7. En el caso de versiones posteriores a la 4.7, considere utilizar crashkernel=129M@0M para arquitecturas i386 y x86_64.

    [root@pvcfl46x64 ~]# grep crash /etc/grub.conf
    kernel /boot/vmlinuz-2.6.18-028stab070.14 ro root=LABEL=/1 debug console=ttyS0,115200 console=tty crashkernel=128M@16M
    

    NOTA: En el caso de kernels 2.6.32-042stabXXX y versiones posteriores, compruebe que en el paso 2 utiliza la opción "crashkernel=129M@0M".

  3. Reinicie el nodo hardware.
  4. Habilite Kdump en el nodo hardware:

    [root@pvcfl46x64 ~]# chkconfig kdump on
    [root@pvcfl46x64 ~]# chkconfig --list kdump
    kdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    
  5. Inicie Kdump en el nodo hardware:

    [root@pvcfl46x64 ~]# service kdump start
    No kdump initial ramdisk found. [WARNING]
    Rebuilding /boot/initrd-2.6.18-028stab070.14kdump.img
    Starting kdump: [  OK  ]
    

    NOTA: si está configurando volcados de memoria en una máquina Parallels Server Bare Metal, será necesario deshabilitar Parallels Hypervisor antes de crear la imagen initrd:

    # service parallels-server stop
    # touch /etc/kdump.conf
    # service kdump restart
    
  6. Si desea guardar los volcados en el servidor externo, será necesario realizar algunos pasos adicionales. Edite "/etc/kdump.conf" para poder utilizar el servidor apropiado:

    [root@pvcfl46x64 ~]# cat /etc/kdump.conf
    net root@10.55.63.11
    path /var/crash/pvcfl46x64/
    

    Nota: compruebe que se ha especificado la partición y que la ruta dispone de suficiente capacidad de almacenamiento para almacenar los volcados del kernel. La cantidad de espacio disponible debería ser suficiente para almacenar múltiples volcados de igual tamaño que la RAM.

  7. Propague la configuración:

    [root@pvcfl46x64 ~]# service kdump propagate
    Generating new ssh keys... done.
    root@10.55.63.11's password:
    /root/.ssh/kdump_id_rsa.pub has been added to ~root/.ssh/authorized_keys2 on 10.55.63.11
    [root@pvcfl46x64 ~]#
    
  8. Reinicie Kdump:

    [root@pvcfl46x64 ~]# service kdump restart
    Stopping kdump: [ OK ]
    Detected change(s) the following file(s):
    /etc/kdump.conf
    Rebuilding /boot/initrd-2.6.18-028stab070.14kdump.img
    Starting kdump: [ OK ]
    [root@pvcfl46x64 ~]#
    

Ahora, cuando el kernel experimente algún bloqueo, podrá encontrar el volcado en "/var/crash/pvcfl46x64/".

En el caso de un servidor que no esté en producción, puede probar la configuración tal y como se detalla a continuación. En el caso de un servidor de producción, compruebe que los servicios críticos están detenidos para así evitar una posible pérdida de datos:

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

Si todo es correcto, en la consola del servidor debería ver una salida similar a la siguiente:

Console screen with a kernel crash

El volcado debería aparecer de la siguiente forma:

[root@pvcfl46x64 ~]# ls -la /var/crash/2011-03-03-05\:55/
total 649940
drwxr-xr-x 2 root root 4096 Mar 3 05:56 .
drwxr-xr-x 3 root root 4096 Mar 3 05:55 ..
-r-------- 1 root root 2018588492 Mar 3 05:56 vmcore

Información adicional

Guía del usuario de Parallels Containers (EN):

Dedoimedo.com también proporciona información exhaustiva acerca de la resolución de incidencias relacionadas con la memoria del kernel (EN):

Si utiliza la solución Ksplice Uptrack para realizar actualizaciones de seguridad sin reiniciar, los volcados de memoria generados no son adecuados para el análisis por parte del equipo de soporte de Parallels. Estos volcados deberían reenviarse al equipo de Ksplice.

Información adicional

10055 Cómo configurar la generación de un volcado de memoria en Windows

a26b38f94253cdfbf1028d72cf3a498b e8e50b42231236b82df27684e7ec0beb d02f9caf3e11b191a38179103495106f 2897d76d56d2010f4e3a28f864d69223 0dd5b9380c7d4884d77587f3eb0fa8ef

Email subscription for changes to this article
Save as PDF