De manera similar a como funciona Syslog Collector el cual recolecta todos los archivos Logs de los hosts ESXi, Dump Collector recopila el estados de la memoria VMkernel (Core Dumps) que generan los hosts cuando el sistema encuentra una falla crítica y se produce la conocida PSOD (Purple Screen of Death) o pantalla de la muerte.
Antes de comenzar con la configuración, debemos saber que durante la instalación del hipervisor ESXi se crean dos particiones (Diagnostic Patition) encargadas de almacenar estos archivos, una Primaria de (110 MB) y una Secundaria de (2.5 GB). Sin embargo, es recomendable configurar un servidor remoto (Log Server) para transferir estos archivos a través de la red con el fin de tener una mayor retención de los mismos y poder realizar un mejor proceso de seguimiento y troubleshooting en la detección de la causa raíz de la falla. Para mayor información acerca del diseño de particiones de ESXi haga click Aquí.
Por suerte sino contamos con un Log Server en nuestra infraestructura a dónde dirigir estos Dumps, podemos utilizar la partición incluida en el vCenter Server Appliance dedicada para este propósito. Para mayor información de los servicios incluidos en vCenter Server consulte Componentes y Servicios de vCenter Server.
(Opcional) CONFIGURAR SERVICIO DUMP COLLECTOR EN VCENTER SERVER APPLIANCE
Si vamos a utilizar la partición del vCenter para almacenar los Core Dumps, debemos tener en cuenta que el servicio Dump Collector no viene activo por defecto por lo que será necesario iniciarlo y dejarlo en modo automático para que se inicie con el Sistema Operativo. Para esto sigamos los siguientes pasos:
1. Inicie sesión en el vCenter Server Appliance (VCSA) desde el vSphere Web Client con un usuario que cuente con permisos de administrador y luego vaya a Home > Administration > System Configuration > Services.
2. En el panel de servicios del lado izquierdo haga click en el servicio VMware vSphere ESXi Dump Collector.
3. En el panel central haga click en Actions > Edit Startup Type…,seleccione Automatic y click en OK.
4. (Opcional) Haga click en la pestaña Manage para verificar el tamaño asignado al repositorio. Si desea cambiarlo haga click en el botón Edit… El valor por defecto es 2 y el máximo 10.
5. Haga click en icono Start the Service para iniciar el servicio
CONFIGURAR ESXi DUMP COLLECTOR
Si ya configuramos el servicio de Dump Collector en el VCSA o si por el contrario tenemos un Log Server disponible en la infraestructura, podremos iniciar con la configuración en cada uno de los ESXi como sigue, utilizando como es costumbre la línea de comandos ESXCLI o PowerCLI para automatizar la configuración en todos los hosts del vCenter.
ESXCLI
La utilidad de línea de comando esxcli puede ser utilizada en la consola del host ESXi, en el vCLI (vSphere CLI) o en el vMA (vSphere Management Assistant).
1. Inicie una sesión SSH al host ESXi que desea configurar ESXi Dump Collector
2. Configure el ESXi con la dirección IP del servidor remoto que será utilizado como Dump Collector ejecutando la siguiente línea de comandos:
esxcli system coredump network set --interface-name vmkX --server-ip xx.xx.xx.xx --server-port 6500
Nota 1: Como mejor practica se recomienda utilizar un puerto VMkernel diferente al de gestión (vmk0). Sin embargo, para ambientes de laboratorio utilizaremos el mismo.
Nota 2: La dirección IP del servidor remoto puede ser IPv4 o IPv6 ya que ambas son soportadas. Para el ejemplo la dirección IP será la dirección del VCSA.
3. Habilite ESXi Dump Collector ejecutando la siguiente línea:
esxcli system coredump network set --enable true
4. (Opcional) Verifique que ESXi Dump Collector esté configurado correctamente ejecutando la siguiente línea de comandos:
esxcli system coredump network check
PowerCLI
Con el fin de automatizar la tarea en todos los hosts del vCenter, podemos apoyarnos en la herramienta PowerCLI ejecutando script que se muestra a continuación:
1. Instale PowerCLI sino lo tiene instalado, con ayuda del siguiente video haciendo click aquí.
2. Inicie sesión hacia el vCenter desde el panel de script de PowerShell ISE ejecutando los siguientes cmdlets y espere a que le solicite usuario y contraseña:
Connect-VIServer FQDN_IP_vCenterServer
3. Ejecute el siguiente script para configurar ESXi Dump Collector en todos los hosts del vCenter
#Configurar ESXi Dump Collector $MyLogServer= “IP_FQDN_Remote_Server” Foreach ($hostx in (Get-VMHost)){ Write-Host "Configuring Dump Collenctor in $hostx" -ForegroundColor Yellow $esxcli = Get-EsxCli -vmhost $hostx $esxcli.system.coredump.network.set($null, “vmk0”, $null, $MyLogServer, 6500) $esxcli.system.coredump.network.set($true) $esxcli.system.coredump.network.get() }
4. Verifique la configuración ejecutando el siguiente script
#Check ESXi Dump Collector Foreach ($hostx in (Get-VMHost)){ Write-Host "Checking dump collector in host $hostx" -ForegroundColor Yellow $esxcli = Get-EsxCli -vmhost $hostx $esxcli.system.coredump.network.get() }
VERIFICACIÓN DE LA TRANSFERENCIA DE CORE DUMPS
Una manera de verificar que los archivos Dump están siendo enviados de manera correcta al servidor remoto configurado, es generar un crash o PSOD en el servidor de manera controlada como sigue:
1. Abra la consola remota del servidor (iLO, CIMC, iDRAC, etc.) en el que desea simular la falla, para monitorear el comportamiento del servidor.
2. Inicie una sesión SSH en el host ESXi y ejecute la siguiente línea de comandos:
vsish -e set /reliability/crashMe/Panic 1
3. Espere que se genere el archivo dump y reinicie el servidor.
4. Verifique en el servidor remoto configurado, la existencia del archivo zdump generado.
5. (Opcional) Si utilizó VCSA como repositorio de los archivos Dump inicie sesión SSH al vCenter Server, active la interfaz shell digitando Shell en la pantalla y verifique el log netdumper.log ejecutando la siguiente línea de comandos para verificar que el archivo haya sido transferido y validar su ruta de destino:
cat /var/log/vmware/netdumper/netdumper.log
Nota 3: El nombre del archivo generado contiene el nombre zdump y para el ejemplo con Dump Collector configurado en el VCSA, los archivos son alojados en la siguiente ruta /var/core/netdumps/ffff/AA/BB/CC/DD o lo que es lo mismo /storage/core/netdumps/ffff/AA/BB/CC/DD donde AA.BB.CC.DD indican los octetos de la dirección IP del host ESXi.