Gestión de VMs desde el modo comandos de ESXi
Hola, en este nuevo post explicaré el uso de comandos necesarios para realizar cambios de máquinas virtuales a nivel de shell de ESXi.
Recientemente trabajé en un cliente que perdió conectividad total a todo el ambiente de gestión de VMware y lo único que podíamos hacer era ingresar a la consola DCUI (Direct Console User Interface) de los hosts. La solución para el cliente fue encender unas VMs para levantar los accesos. Pues bien, los pasos que debemos realizar para solventar este tipo de problemas son:
Habilitar ESXi shell (Tech Support Mode) y Modo Mantenimiento
Una vez dentro de la consola DCUI del ESXi, debemos activar el servicio de ESXi Shell para tener acceso a los comandos esenciales de mantenimiento, en la opción Troubleshooting Mode y dando enter en Enable ESXi Shell.
Luego realizamos la combinación de teclas ALT+F1 para ingresar al ESXi Shell local, y una vez dentro, ejecutamos los comandos necesarios para solventar el problema. En este caso en particular primero colocamos al hosts en modo mantenimiento usando los comandos:
esxcli system maintenanceMode set --enable true
Para salir de modo mantenimiento ejecutamos:
esxcli system maintenanceMode set --enable false
Para saber si el host está o no en modo mantenimiento, se ejecuta el comando:
esxcli system maintenanceMode get
Comandos VIM-CMD
En este momento los comandos que usaremos corresponden a la familia de comandos de vmware-vim-cmd que básicamente son comandos interactivos de la sesión de línea de comandos y pueden ser usados con o sin el servicio ESXi shell activado.
El comando que usaremos es:
vim-cmd vmsvc
Correspondiente a VMs con las siguientes opciones:
getallvms | Lista todas las VMs que el host esta gestionando, acá se presenta el VMID importante para realizar trabajos sobre la VM. |
power.getstate | Muestra el estado actual de la VM, si esta encendida, apagada, suspendida. |
power.off | Apaga la VM, el apagado es completo |
power.on | Enciende la VM |
power.reboot | Reinicia a la VM |
power.reset | Reinicia a la VM, reinicio es gracefull. La VM debe tener instalado VMware Tools |
power.shutdown | Apaga a la VM, apagado gracefull. La VM debe tener instalado VMware Tools |
power.suspend | Suspende a la VM. La VM debe tener instalado VMware Tools |
Primero, debemos tener el VMID de la VM que deseamos gestionar, ejecutando el getallvms
Ejecutamos la opción que necesitamos realizar a la VM rv-ad01 con VMID 42, en nuestro ejemplo vamos a encender a la VM, sin antes validar en qué estado se encuentra (encendida, apagada, suspendida)
Y realizando el encendido de las VMs que crearon el problema, pudimos solucionar la conectividad y posterior gestión del ambiente VMware.
Finalmente, el grupo de comandos vmware-vim-cmd cuentan con opciones que nos ayudarán a realizar un troubleshooting a nivel de ESXi shell cuando no podamos realizarlo a nivel de interfaz web o vsphere-client.
Recomiendo revisar la documentación de VIM-CMD para mayor información acá.
Tags: mantenimiento, Tecnología, VMware67, esxi, EsxShell, vimcmd, esxcli