Skip to main content

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

Lista_VM.png

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