VMware copiar SSH
opiar Maquinas virtuales entre dos esxi.
De esta forma podremos hacer copia todos los dias de las mvs de uno al otro y así si uno de los esxis físicos falla podemos levantar todas las maquinas virtuales en el otro temporalmente hasta que se solucione el problema del server físico.
Bueno, antes de nada hay que decir que hay que tener habilitado el acceso ssh en los dos esxis en cuestion. Si no lo teneis hecho, podeis hacerlo mirando este artículo.
Una vez echo esto, vamos a utilizar el comando SCP de linux.
Nos conectamos via Putty a uno de los dos esxis, pongamos el esxi1 y escribimos el siguiente comando:
scp -r /vmfs/volumes/datastore1/w2k3/ root@serveresxi2:/vmfs/volumes/datastore2/
Vale, esto lo que hace es copiar la carpeta que contiene la maquina virtual de “w2k3″ (windows 2003) con sus respectivos ficheros al servidor esxi2 dentro del datastore2.
Si lo que queremos hacer es al revés, es decir, del esxi2 al esxi1 también lo podemos hacer desde el esxi1 de esta forma:
scp -r root@serveresxi2:/vmfs/volumes/datastore2/w2k3/ /vmfs/volumes/datastore1/
Ya lo veis, ¿no?
Antes de cerrar este artículo me gustaría decir que con SCP también podemos copiar ficheros entre dos maquinas remotas desde otra, es decir que si tenemos otro equipo con linux podemos copiar del esxi1 al esxi2 de la siguiente manera:
scp -r root@serveresxi1:/vmfs/volumes/datastore1/w2k3/ root@serveresxi2/vmfs/volumes/datastore2/
Suponemos que tenemos SSH activo en el ESXi, sino revisad esta KB de VMware para activarlo, básicamente es como cualquier Linux. Posteriormente accedemos por SSH al ESXi, dentro del cual podemos sacar un listado de todas las máquinas que se encuentran en él, lo hacemos con el comando vim-cmd y el parámetro vmsvc/getallvms. Nos indica el ID de la máquina virtual (importante para luego), el nombre de la VM, OS, etc:
~ # vim-cmd vmsvc/getallvms Vmid Name File Guest OS Version Annotation 111 VCenter [Admin-VM] VCenter/VCenter.vmx windows7Server64Guest .... 112 Debian01 [Debian01] VMs/Debian.vmx debian5_Guest .... ... ...
Una vez que conocemos el Vmid de la máquina virtual a gestionar podemos ver su estado (encendida/apagada):
~ # vim-cmd vmsvc/power.getstate 111 Retrieved runtime info Powered off
Si queremos arrancarla le mandamos un power on:
~ # vim-cmd vmsvc/power.on 111 Powering on VM:
Para apagarla le mandaríamos un power off:
~ # vim-cmd vmsvc/power.off 111 Powering off VM:
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... [...]