VMWare comandos de consola útiles
En el caso de no disponer de acceso a la consola web de VMWare, a veces necesitamos realizar ciertas acciones y sin este acceso no se pueden realizar.
La solución consiste en usar los comandos de consola de VMWare ESXI para realizarlos.
Habilita la sesión SSH con acceso root:
Desde el vSphere Client
En VMware vSphere Client, navega hasta Hosts y clústeres y selecciona el host ESXi, luego haz clic en Servicio >> Configurar >> SSH.
Haz clic en Iniciar para iniciar el servidor SSH.
En la consola de ESXi (DCUI)
Accedemos a la consola de ESXi (DCUI) y en opciones de solución de problemas (Troubleshouting Options) entramos y hacemos click en habilitar SSH.
Login en la consola SSH
Hacemos login como root en la consola ssh y ya podremos ejecutar los comandos necesarios para trabajar.
Listado de las máquinas VMWare
Escribe el siguiente comando para obtener una lista de todos los hosts virtuales registrados, identificados por su VMID, nombre para mostrar y ruta al archivo de configuración .vmx:
vim-cmd vmsvc/getallvms
Obtendremos una salida como la que mostramos
[root@vmw253:~] vim-cmd vmsvc/getallvms
Vmid Name File Guest OS Version Annotation
175 VMFW01 [SSD253_01] VMFW01/VMFW01.vmx freebsd64Guest vmx-11
191 Management [SSD253_01] Management/Management.vmx otherLinux64Guest vmx-11
2 VMTS001 [SSD253_01] VMTS001/VMTS001.vmx winNetEnterpriseGuest vmx-07 Terminal Server1
238 VMWS015 [SSD253_02] VMWS015_NEW/VMWS015_NEW.vmx winNetEnterpriseGuest vmx-07
239 VMWS016 [SSD253_02] VMWS016_NEW/VMWS016_NEW.vmx winNetEnterpriseGuest vmx-07
240 VMWS010 [SSD253_02] VMWS010_NEW/VMWS010_NEW.vmx winNetEnterpriseGuest vmx-07
241 VMWS014 [SSD253_02] VMWS014_NEW/VMWS014_NEW.vmx winNetEnterpriseGuest vmx-07
245 VMWS013 [SSD253_02] VMWS013_NEW/VMWS013_NEW.vmx winNetEnterpriseGuest vmx-07
247 vcenter62022 [SSD253_01] vcenter62022/vcenter62022.vmx sles11_64Guest vmx-08 VMware vCenter Server Appliance
254 VMDESA3 [SSD253_01] VMDESA3/VMDESA3.vmx winNetEnterpriseGuest vmx-07 desarrollo1
255 VMDESA4 [SSD253_01] VMDESA4/VMDESA4.vmx winNetEnterpriseGuest vmx-07 desarrollo2
257 VMWS_ORIGINAL [SSD253_01] VMWS_ORIGINAL/VMWS_ORIGINAL.vmx winNetEnterpriseGuest vmx-07
259 VMTS001_BACKUP [SSD253_02] VMTS001_BACKUP/VMTS001_BACKUP.vmx winNetEnterpriseGuest vmx-07 Terminal Server2
260 VMBD001_BK [SSD253_01] VMBD001_BK/VMBD001_BK.vmx winNetEnterpriseGuest vmx-07
261 TW2019_EN_BLANCO [SSD253_01] TW2019_EN_BLANCO/TW2019_EN_BLANCO.vmx windows9Server64Guest vmx-11
262 TW10_EN_BLANCO [SSD253_01] TW10_EN_BLANCO/TW10_EN_BLANCO.vmx windows9_64Guest vmx-11
263 TW10_CD-CT [SSD253_01] TW10/TW10.vmx windows9_64Guest vmx-11 desarrollo3
264 TW2019 [SSD253_01] TW2019/TW2019.vmx windows9Server64Guest vmx-11
265 VMWS017 [SSD253_02] VMWS017/VMWS017.vmx winNetEnterpriseGuest vmx-07
266 VMWS018 [SSD253_01] VMWS018/VMWS018.vmx winNetEnterpriseGuest vmx-07
267 VMWS019 [SSD253_02] VMWS019/VMWS019.vmx winNetEnterpriseGuest vmx-07
268 VMWS011 [SSD253_02] VMWS011/VMWS011.vmx winNetEnterpriseGuest vmx-07
269 VMWS012 [SSD253_01] VMWS012/VMWS012.vmx winNetEnterpriseGuest vmx-07
270 VMWS020 [SSD253_02] VMWS020/VMWS020.vmx winNetEnterpriseGuest vmx-07
271 VMWS021 [SSD253_01] VMWS021/VMWS021.vmx winNetEnterpriseGuest vmx-07
273 TW10_XA81 [SSD253_02] TW10_XA81/TW10_XA81.vmx windows9_64Guest vmx-11 desarrollo4
46 VMWS244_VCliente [SSD253_01] VMWS245/VMWS245.vmx windows9Server64Guest vmx-11 VClient
48 VMWS001 [SSD253_01] VMWS001/VMWS001.vmx winNetEnterpriseGuest vmx-07
5 VMDB001 [SSD253_01] VMDB001/VMDB001.vmx winNetEnterpriseGuest vmx-07
9 VMDESA2 [SSD253_01] VMDESA02/VMDESA02.vmx winNetEnterpriseGuest vmx-07 Desarrollo 12
91 VMDESA1 [SSD253_01] VMDESA11/VMDESA11.vmx winNetEnterpriseGuest vmx-07 desarrollo 11
[root@vmw253:~]
Lista de máquinas virtuales en ejecución en ESXi
Puedes ver todas las máquinas virtuales en ejecución en el host
esxcli vm process list
EL resultado sería como el siguiente
[root@vmw253:~] esxcli vm process list
VMDB001
World ID: 35733
Process ID: 0
VMX Cartel ID: 35732
UUID: 42 2e 4d 7d 3f ec ac 8c-f8 99 23 d5 fd fb 01 05
Display Name: VMDB001
Config File: /vmfs/volumes/5e3c400a-49fe189e-39f0-1866da5503b8/VMDB001/VMDB001.vmx
VMWS244_VCliente
World ID: 35756
Process ID: 0
VMX Cartel ID: 35755
UUID: 42 2e 69 54 de 34 7e d0-f7 d8 db 7a 44 99 ea 32
Display Name: VMWS244_VCliente
Config File: /vmfs/volumes/5e3c400a-49fe189e-39f0-1866da5503b8/VMWS245/VMWS245.vmx
VMTS001
World ID: 35779
Process ID: 0
VMX Cartel ID: 35778
UUID: 42 2e cd 34 5a c5 49 79-2f ba f1 94 dc b1 e3 f7
Display Name: VMTS001
Config File: /vmfs/volumes/5e3c400a-49fe189e-39f0-1866da5503b8/VMTS001/VMTS001.vmx
.........................
Parar máquinas desde consola
Apagar la máquina virtual desde el comando ESXi ESXCLI
Esto comando apaga la máquina si no hay otra forma de hacerlo, matando el proceso de la máquina virtual. Más abajo encontrarás formas mas "civilizadas" de hacerlo.
El comando esxcli se puede utilizar de forma local o remota para apagar una máquina virtual que se ejecuta en ESXi 5.x o posterior.
Apagar una máquina virtual de la lista ejecutando este comando:
esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber
En el caso anterior sería por ejemplo para apagar de forma ordenada la máquina WMDB001 ( aparece con el World ID: 35733)
esxcli vm process kill --type= soft --world-id= WorldNumber = 35733
Encender máquinas desde consola
Ejecutamos la lista de máquinas
vim-cmd vmsvc/getallvms
O bien
vim-cmd vmsvc/getallvms | grep VMDB001
Veremos el ID de la máquina en la primera columna
Comprobamos el estado
vim-cmd vmsvc/power.getstate [ID DE LA MAQUINA]
En este caso
[root@vmw253:~] vim-cmd vmsvc/power.getstate 5
Retrieved runtime info
Powered on
[root@vmw253:~]
Ahora si queremos encender esa máquina (en el caso de que esté apagada) ejecutaremos
vim-cmd vmsvc/power.on
En nuestro ejemplo
vim-cmd vmsvc/power.on 5
Apagar máquinas desde consola
Para apagarla ejecutaremos
vim-cmd vmsvc/power.off
En nuestro ejemplo
vim-cmd vmsvc/power.off 5