A continuación os dejo un resumen de los comandos más básicos y utilizados a través de la shell y SSH de un host ESXi VMware. Por defecto, los hosts ESXi no tienen habilitado ni el servicio SSH ni el ESXi Shell. Es necesario activarlo manualmente del siguiente modo:
- Acceder al vCenter Server o al Host usando el cliente vSphere.
- Seleccionar el host del panel izquierdo o del inventario.
- Hacer click en la pestaña de configuración y luego en perfil de seguridad (Security Profile)
- En la sección ed servicios, hacer click en propiedades.
- Seleccionar ESXi Shell y SSH de la lista
- Hacer click en «opciones» y elegir «Start and stop manually» o «Start and stop with host» según si queremos únicamente arrancarlo para un momento o queremos que sea persistente a reinicios.
Comandos y operaciones del host ESXi
Información extendida del host ESXi
El comando «esxcfg-info» muestra información extendida del hardware del host ESXi:
~ # esxcfg-info | more +Host : \==+Hardware Info : |----BIOS UUID................................................0xff 0x20 0x0 0x8 0xff 0xff |----Product Name.............................................SUN BLADE X4-2B |----Vendor Name..............................................Oracle Corporation |----Serial Number............................................XXXXX |----Hardware Uptime..........................................744880994637 |----Ipmi Supported...........................................true \==+PCI Info : \==+All Pci Devices : \==+PCI Device : |----Segment.........................................0x0000 |----Bus.............................................0x00 |----Slot............................................0x00 |----Function........................................0x00 |----Runtime Owner...................................vmkernel |----Has Configured Owner............................false |----Configured Owner................................ |----Vendor Id.......................................0x8086 |----Device Id.......................................0x0e00 |----Sub-Vendor Id...................................0x108e |----Sub-Device Id...................................0x434c |----Vendor Name.....................................Intel Corporation |----Device Name.....................................Ivytown DMI2 |----Device Class....................................1536 |----Device Class Name...............................Host bridge |----PIC Line........................................0 |----Old IRQ.........................................255 |----Vector..........................................0 |----PCI Pin.........................................4 |----Spawned Bus.....................................0 |----Flags...........................................521 \==+BAR Info : [...]
El TOP de VMware
El comando «esxtop» tiene prácticamente las mismas funcionalidades que el comando TOP de Linux:
~ # esxtop
Reiniciar todos los servicios de un host ESXi
~ # /sbin/services.sh restart
Modo mantenimiento del ESXi Host
Los siguientes comandos activan y deshabilitan el modo de mantenimento de un Host ESXi:
~ # vim-cmd hostsvc/maintenance_mode_enter
~ # vim-cmd hostsvc/maintenance_mode_exit
Comandos de networking
Ver interfaces de red
El comando «esxcfg-nics» permite gestionar las interfaces de red del host ESXi y el parámetro «-l» las lista:
~ # esxcfg-nics -l Name PCI Driver Link Speed Duplex MAC Address MTU Description vmnic0 0000:20:00.00 igb Down 0Mbps Half 00:10:e0: 1500 Intel Corporation I350 Gigabit Network Connection vmnic1 0000:20:00.01 igb Down 0Mbps Half 00:10:e0: 1500 Intel Corporation I350 Gigabit Network Connection vmnic2 0000:b0:00.00 ixgbe Up 10000Mbps Full 00:1b:21: 1500 Intel Corporation 82599EB 10-Gigabit KX4 Network Connection vmnic3 0000:b0:00.01 ixgbe Up 10000Mbps Full 00:1b:21: 1500 Intel Corporation 82599EB 10-Gigabit KX4 Network Connection
Virtual Switches
Al igual que las interfaces de red, los virtual switches se pueden gestionar con el comando esxcfg-vswitch, para listarlos también usamos el parámetro «-l»:
~ # esxcfg-vswitch -l Switch Name Num Ports Used Ports Configured Ports MTU Uplinks vSwitch0 4352 18 128 1500 vmnic2,vmnic3 PortGroup Name VLAN ID Used Ports Uplinks VM Network 4095 10 vmnic2,vmnic3 VM Management Network 10 1 vmnic2,vmnic3 iSCSI 20 1 vmnic2,vmnic3 Management Network 10 1 vmnic2,vmnic3
Tanto con las interfaces de red como los virtual switches podemos realizar operaciones avanzadas que normalmente se realizan gráficamente desde el vCenter.
Comandos de máquinas virtuales
Listado de máquinas virtuales
~ # vim-cmd vmsvc/getallvms Vmid Name File Guest OS 1 vCenter [vmware01] vCenter.vmx VMware vCenter Server Appliance 10 redhat1 [vmware01] redhat01.vmx Red Hat Enterprise Linux [...]
Arrancar, parar o reiniciar una máquina virtual
A partir del Vmid que sacamos con el comando anterior podemos controlar el estado de la máquina virtual:
Arrancar máquina virtual
~ # vim-cmd vmsvc/power.on Vmid
~ # vim-cmd vmsvc/power.on 10
Parar máquina virtual
~ # vim-cmd vmsvc/power.off Vmid
~ # vim-cmd vmsvc/power.off 10
Reiniciar máquina virtual
~ # vim-cmd vmsvc/power.reboot Vmid
~ # vim-cmd vmsvc/power.reboot 10
Ver el estado de una máquina virtual
~ # vim-cmd vmsvc/power.getstate Vmid
~ # vim-cmd vmsvc/power.getstate 10
Ver información y configuración de una máquina virtual
~ # vim-cmd vmsvc/get.summary Vmid
~ # vim-cmd vmsvc/get.summary 10 Listsummary: (vim.vm.Summary) { dynamicType = , vm = 'vim.VirtualMachine:10', runtime = (vim.vm.RuntimeInfo) { dynamicType = , device = (vim.vm.DeviceRuntimeInfo) [ (vim.vm.DeviceRuntimeInfo) { [...]
Borrar una máquina virtual
El siguiente comando borra la máquina virtual, incluyendo tanto la configuración como el disco de la VM:
~ # vim-cmd vmsvc/destroy Vmid
~ # vim-cmd vmsvc/destroy 10
Instalar VMware Tools
El siguiente comando instala (o comienza la instalación) de las VMware tools en la máquina virtual. En el caso de un sistema Linux, por ejemplo, se montará el CD Virtual a través del cual podemos manualmente ejecutar la instalación.
~ # vim-cmd vmsvc/tools.install vmid
~ # vim-cmd vmsvc/tools.install 10
Registrar una máquina virtual en el inventario del host
Para añadir al inventario de un host una máquina virtual que se encuentra dentro de un datastore visible por el Host ESXi utilizamos el siguiente comando, siempre atacando al archivo de configuración de la máquina virtual (.vmx):
~ # vim-cmd solo/registervm /vmfs/vol/datastore01/rhel01/rhel01.vmx
Comandos iSCSI
Listar adaptadores iSCSI
~ # esxcli iscsi adapter list Adapter Driver State UID Description ------- --------- ------ ------------------------------- ---------------------- vmhba33 iscsi_vmk online iqn.1998-01.com.vmware:7f2ab991 iSCSI Software Adapter
Dynamic Discovery de Targets iSCSI
~ # esxcli iscsi adapter discovery sendtarget add --address="ip/dns[:port]" --adapter="adapter_name"
Ejemplo:
~ # esxcli iscsi adapter discovery sendtarget add --address=192.168.1.100:3260 --adapter=vmhba33
Rescan y Rediscovery de dispositivos de almacenamiento
~ # esxcli iscsi adapter discovery rediscover
~ # esxcli storage core adapter rescan --adapter=vmhba33
Comandos SAN/Fibre Channel
Listar adaptadores FC, WWNN y WWPN
El siguiente comando muestra un listado de adaptadores FC, WWNN (World Wide node name) y «World Wide Por Name»
~ # esxcli storage san fc list Adapter: vmhba33 Port ID: 012820 Node Name: 20:00:00:xx Port Name: 21:00:00:xx Speed: 10 Gbps Port Type: NPort Port State: ONLINE
Mostrar información de eventos Fibre Channel
~ # esxcli storage san fc events get FC Event Log ------------------------------------------------------------- 2014-05-13 11:28:45.431 [vmhba33] LINK UP 2014-05-13 14:25:42.514 [vmhba33] RSCN received for PID... [...]