Funcionalidades de los hipervisores VirtualBox, KVM, Xen y
Transcripción
Funcionalidades de los hipervisores VirtualBox, KVM, Xen y
Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server FORMIGACLOUD Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Identificador del Documento: DO_SIS_formigacloud_hipervisores_V2.odt Licencia: http://creativecommons.org/licenses/by-sa/3.0/ Fecha: 03/02/2012 Actividad: FORMIGACLOUD Responsable: CESGA Estado del documento: FINAL Enlace al documento: Resumen: Estudio de las funcionalidades proporcionadas por los hipervisores VirtuaBox, Xen, KVM, VMware Player y Server DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 1 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 2 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Tabla de versiones y registro de cambios Versión Fecha Descripción 1 2 Funcionalidades VirtualBox, Xen y KVM Fernando Gómez Folgar Funcionalidades VMware Player/Server Germánico Baltar Cerviño 27/08/2010 01/09/2010 Autor DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 3 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 4 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Índice Evaluación de las funcionalidades de hipervisores Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server..........................................................................................1 1 Introducción...................................................................................7 1.1 Propósito del documento.............................................................................7 1.2 Organización del documento.......................................................................7 1.3 Área de aplicación....................................................................................... 7 1.4 Referencias................................................................................................. 7 1.5 Terminología............................................................................................... 7 1.6 Convenciones empleadas............................................................................8 2 Funcionalidades de los hipervisores................................................9 2.1 VirtualBox.................................................................................................... 9 2.1.1 Funcionalidades y comandos ...............................................................9 2.1.2 Referencias......................................................................................... 11 2.2 Xen............................................................................................................ 11 2.2.1 Funcionalidades y comandos..............................................................11 2.2.2 Versiones............................................................................................ 15 2.2.3 Referencias......................................................................................... 16 2.3 KVM........................................................................................................... 16 2.3.1 Funcionalidades y comandos..............................................................16 2.3.2 Referencias......................................................................................... 18 2.4 Vmware Player y Server............................................................................19 2.4.1 Funcionalidades y comandos..............................................................19 2.4.2 Referencias......................................................................................... 23 DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 5 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 6 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 1 Introducción 1.1 Propósito del documento Este documento contiene el análisis de las funcionalidades proporcionadas por los hipervisores VirtualBox, Xen, KVM, y VMware Player y Server. 1.2 Organización del documento La sección dos del presente documento contiene el estudio de las funcionalidades de los hipervisores VirtualBox, Xen, KVM, VMware Player y Server. 1.3 Área de aplicación Proyecto Formiga CLOUD. 1.4 Referencias Tabla 1: Tabla de referencias R1 Proyecto Formiga http://formigacloud.cesga.es/ R2 CloudStack http://www.cloud.com/ R3 Dryicons http://dryicons.com R4 Mayosoft http://www.mayosoft.com.mx R5 Deleket http://www.deleket.com/ R6 Rockey http://www.rokey.net R7 Susumu http://susumu.seph.ws/ R8 Xen http://www.xen.org/ R9 KVM http://www.linux-kvm.org/ R10 KVM https://help.ubuntu.com/community/KVM/Networking#Troubleshooting R11 LibVirt http://libvirt.org/ R12 Virsh http://linux.die.net/man/1/virsh R13 Ubuntu http://www.ubuntu.com/ R14 CentOS http://www.centos.org/ 1.5 Terminología Tabla 2: Glosario FORMIGA FORMIGA CLOUD Fomentando o reaproveitamento mediante integración e gridificación de aulas Fomentando o reaproveitamento mediante integración DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 7 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server e gridificación de aulas en CLOUD KiB 1 KiB=1024 bytes MiB 1 MiB=1024 KiB 1.6 Convenciones empleadas Este icono hace referencia a notas de introducción Este icono indica aclaraciones Este icono hace referencia a archivos de configuración, de registro... Este icono indica casos de uso Este icono hace referencia a avisos o advertencias Este icono indica incidencias Este icono hace referencia a secciones que incluyen instrucciones paso a paso Este icono hace referencia a secciones que incluyen capturas de pantalla DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 8 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 2 Funcionalidades de los hipervisores Las funcionalidades para los hipervisores VirtualBox, Xen, KVM y VMware Player y Server se analizan en el presente documento. Además, se aportan los comandos necesarios para su gestión. 2.1 VirtualBox VirtualBox es un software de virtualización desarrollado inicialmente por Sun Microsystems La versión de VirtualBox analizada es la 3.1.6 OSE 2.1.1 Funcionalidades y comandos # Funcionalidad 1 Iniciar máquina Comando VBoxManage startvm <uuid|name> virtual <uuid> • UUID es el identificador interno único que VirtualBox emplea para referenciar la máquina virtual <name> • Nombre para referirse a la máquina virtual Ejemplos: VBoxManage startvm "BvirtualBox32bits" VBoxManage startvm 658d6dea-332f-41b2-88e9-1b02ce3357dd 2 Apagar máquina VBoxManage controlvm <uuid|name> acpipowerbutton virtual Ejemplos: VBoxManage controlvm "BvirtualBox32bits" acpipowerbutton 3 Desactivar Es necesario desactivar las opciones de ahorro de energía del huésped. 4 Migración a otro 1.- Dar de alta el disco imagen en el repositorio: VBoxManage internalcommands setvdiuuid $PWD/Disco.vdi VBoxManage registerimage disk $PWD/Disco.vdi suspensión automática equipo 2.-Registrar y configurar la máquina virtual VBoxManage createvm -name Centos -register VBoxManage modifyvm Centos -hda $PWD/Disco.vdi VBoxManage modifyvm Centos -nic1 intnet -intnet1 -macaddress1 080027111111 5 Desactivar cuadros de diálogo vlan1 VBoxHeadless --startvm <uuid|name> Inicia la máquina virtual sin mostrar ningún tipo de GUI en el anfitrión. Ejemplos: VBoxHeadless --startvm "BvirtualBox32bits" DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 9 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 6 Suspensión VBoxManage controlvm <uuid|name> pause Ejemplos: VBoxManage controlvm "BvirtualBox32bits" pause 7 Reanudación VBoxManage controlvm <uuid|name> resume Ejemplos: VBoxManage controlvm "BvirtualBox32bits" resume 8 Suspensión guardando imagen en disco VBoxManage controlvm <uuid|name> savestate Ejemplos: VBoxManage controlvm "BvirtualBox32bits" savestate 9 Reanudación VBoxManage startvm <uuid|name> desde imagen guardada en disco Ejemplos: VBoxManage startvm "BvirtualBox32bits" 10 Gestionar tamaño No disponible en VirtualBox. del disco Solución alternativa: Crear un nuevo disco con el tamaño deseado y migrar los datos del antiguo al nuevo. 11 Gestionar VBoxManage modifyvm <uuid|name> --memory SIZE memoria RAM SIZE • Expresa la cantidad de memoria en MiB Ejemplos: VBoxManage modifyvm "BvirtualBox32bits" --memory 2048 12 Gestionar red VBoxManage modifyvm <uuid|name> [--nic<1-N> none|null|nat|bridged|intnet|hostonly| vde] [--nictype<1-N> Am79C970A|Am79C973| 82540EM|82543GC|82545EM| virtio] [--cableconnected<1-N> on|off] [--nictrace<1-N> on|off] [--nictracefile<1-N> <filename>] [--nicspeed<1-N> <kbps>] [--nicbootprio<1-N> <priority>] [--bridgeadapter<1-N> none|<devicename>] [--hostonlyadapter<1-N> none|<devicename>] [--intnet<1-N> <network name>] [--natnet<1-N> <network>|default] [--vdenet<1-N> <network>|default] [--natsettings<1-N> [<mtu>],[<socksnd>], [<sockrcv>],[<tcpsnd>], [<tcprcv>]] [--natpf<1-N> [<rulename>],tcp|udp,[<hostip>], <hostport>,[<guestip>],<guestport>] [--natpf<1-N> delete <rulename>] [--nattftpprefix<1-N> <prefix>] [--nattftpfile<1-N> <file>] [--nattftpserver<1-N> <ip>] [--natdnspassdomain<1-N> on|off] [--natdnsproxy<1-N> on|off] [--natdnshostresolver<1-N> on|off] [--nataliasmode<1-N> default|[log],[proxyonly], [sameports]] [--macaddress<1-N> auto|<mac>] DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 10 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Ejemplos: VBoxManage modifyvm "BvirtualBox32bits" vlan1 -macaddress1 080027333333 13 Crear máquina virtual -nic1 intnet -intnet1 VBoxManage createvm --name <name> [--ostype <ostype>] [--register] [--basefolder <path> | --settingsfile <path>] [--uuid <uuid>] 14 Eliminar máquina Es necesario eliminar el disco y la configuración de la máquina virtual: virtual 1.-Eliminar disco: VBoxManage closemedium <filename> --delete disk|dvd|floppy <uuid>| Ejemplo: VBoxManage closemedium disk Prueba.vdi --delete 2.-Eliminar configuración VBoxManage unregistervm <uuid|name> --delete Ejemplo: VBoxManage unregistervm "BvirtualBox32bits" --delete 2.1.2 Referencias Tabla 2: Tabla de referencias de VirtualBox R1 Linux man pages R2 VirtualBox http://www.virtualbox.org/manual/UserManual.html 2.2 Xen Xen es un software de virtualización de código abierto desarrollado por la Universidad de Cambridge La versión de Xen analizada es la 3.1.2 2.2.1 Funcionalidades y comandos # Descripción 1 Iniciar máquina Comando xm create <domain|domid> virtual <domain> • Nombre para referirse a la máquina virtual <domid> • Identificador numérico para referirse la máquina virtual Ejemplos: xm create “Bxen32bits” DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 11 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 2 Apagar máquina xm shutdown <domain|domid> virtual Ejemplos: xm shutdown “Bxen32bits” 3 Desactivar Es necesario desactivar las opciones de ahorro de energía del huésped. 4 Migración a otro Tipos de migración: •Cold static El administrador copia manualmente el archivo de configuracón y las imágenes de disco a otro anfitrión y enecuta xm create para iniciar el domU en la nueva ubicación. suspensión automática equipo •Warm Static (Regular) El huésped se suspende a disco y se transfiere toda la információn al anfitrión de destino y se restaura desde el disco el estado de la máquina huésped. No preserva el estado de las conexiones de red. Es similar a efectuar xm save <domain|domid> <chekpointFile> y copiar de forma manual al destino los archivos de configuración del huésped. •Live El huésped se transfiere al anfitrión de destino sin la necesidad de ser suspendido, preservando el estado de los servicios y las comunicaciones. Para emplear xm migrate la configuración de Xen debe incluir lo siguiente (para “warm static” y “live migrate”): • Dos o más anfitriones con xend configurado para atender a las peticiones de migración. • Los anfitriones son miembros de misma capa-2 de red. • Un servidor de almacenamiento que sea accesible por los domU en el origen y el destino. • Un archivo de configuración para cada huésped tanto en el anfitrión origen como destino. • Recursos suficientes en el destino para soportar los nuevos domU. • La misma versión de Xen instalada en ambos anfitriones. xm migrate domain-id host [options] [options] -l, --live • Emplea “live migration” -r, --resource MiB • Establece los MiB permitidos para la migración del dominio. Se asegura que la red no se satura por causa de la migración Ejemplos: xm migrate 1 192.168.1.4 5 Desactivar xen no muestra cuadros de diálogo que impidan el inicio del huésped. 6 Suspensión xm pause <domain|domid> cuadros de diálogo Ejemplos: xm pause “Bxen32bits” 7 Reanudación xm unpause <domain|domid> Ejemplos: DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 12 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server xm unpause "Bxen32bits" 8 Suspensión guardando imagen en disco xm save <domain|domid> <chekpointFile> Ejemplos: xm save "Bxen32bits" Bxen32bits_savestate 9 Reanudación xm restore <chekpointFile> desde imagen guardada en disco Ejemplos: xm restore Bxen32bits_savestate 10 Gestionar tamaño No disponible en Xen de forma directa. Xen soporta añadir o eliminar del disco volúmenes virtuales de la misma forma que si fueran conectados o desconectados en caliente. Comandos: xm block-attach domain-id be-dev fe-dev mode [bedom-id] • Crea un nuevo dispositivo de bloques virtual domain-id • ID del dominio huésped al que se contectará el dispositivo be-dev • Dispositivo en el Dom0 que será exportado. Puede ser una partición física (phy:sda7) o un dispositivo montado en loopback (file://path/to/loop.iso) fe-dev • Especifica cómo será presentado el dispositivo en el huésped. Se puede especificar como un nombre simbólico como /dev/hdc, o por el id del dispositivo, como 0x1400 (/dev/hdc id en hexadecimal) mode • Modo de acceso en el huésped. Modos soportados w (read/write) o r (read-only) bedomain-id • Dominio del anfitrión (Por defecto Dom0). block-detach domain-id devid Elimina un dispositivo de bloques virtual. block-list [-l|--long] domain-id Muestra la lista de disposivos determinado. de bloques para un dominio Soluciones alternativas: • Crear un nuevo disco con el tamaño deseado y migrar los datos del antiguo al nuevo. • Agrandar el sistema de archivos empleando las herramientas del sistema, así como el soporte LVM si es que está disponible. 11 Gestionar memoria RAM #Modificar la memoria con el dominio iniciado xm mem-set <domain|domid> --memory SIZE #SIZE expresa la cantidad de memoria en MiB Ejemplos: xm mem-set “Bxen32bits" 512 12 Gestionar red xm network-attach domain-id [script=scriptname] [ip=ipaddr] [mac=macaddr] [bridge=bridge-name] [backend=bedomain-id] DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 13 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server script=scriptname • Emplea el script especificado para configurar la red ip=ipaddr • Especifica la ip en el interfaz que se creará mac=macaddr • Especifica la dirección MAC que el dominio verá en su red Ethernet. Si no se especifica se generaá aleatoriamente empleando como prefijo del fabricante 00:16:3e bridge=bridge-name • Nombre del puente al que conectar el vif backend=bedomain-id • The backend domain id. By default this is domain 0 xm network-detach domain-id devid Elimina el dispositivo de red del dominio especificado devid • Es el identificador del interfaz virtual en el dominio (ejemplo: 3 en vif22.3) xm network-list [-l|--long] domain-id Muestra los interfaces de red virtuales para un dominio Ejemplos: xm network-attach 4 bridge=xenbr0 xm network-detach 4 1 13 Crear máquina virt-install --prompt virtual Ejemplos: virt-install –prompt What is the name of your virtual machine? myXenGuest How much RAM should be allocated (in megabytes)? 300 What would you like to use as the disk (path)? /home/nas/xenGuest.dsk How large would you like the disk (/home/nas/xenGuest.dsk) to be (in gigabytes)? 3 Would you like to enable graphics support? (yes or no) yes What is the install location? http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/ Starting install... libvir: Xen Daemon error : GET operation failed: Retrieving file Fedora... 434 kB 00:02 Retrieving file vmlinuz.. 100% |=========================| 2.1 MB 00:11 Retrieving file initrd.im 100% |=========================| 5.4 MB 00:27 libvir: Xen Daemon error : GET operation failed: Creating storage file... 100% |=========================| 3.0 GB 00:00 Creating domain... 0 B 00:06 14 Eliminar máquina Es necesario eliminar el disco y la configuración de la máquina virtual: virtual 1.-Eliminar disco: rm disk.img 2.-Eliminar configuración rm xen.cfg DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 14 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 2.2.2 Versiones Tabla 3: Versiones de Xen Comando Versión Descripción 3.1 2007 • Versión estudiada en el presente documento 3.2 2008 • Soporte para domU de 32 bits y 64 bits paravitualizados y HVM ejecutándose simultáneamente en el hipervisor Xen de 64 bits Live Migration de huésped HVM • 3.3 2008 • • • • • • • • 3.4 2009 • • • • 4.0 2010 • • • • • • • • Portabilidad CPU: permite a los administradores mover las máquinas virtuales de un servidor a otro de forma independiente del soporte de virtualización CPU Gestión avanzado de la energía (Enhanced C & P State Power Management) Soporte SCSI para domU PV Emulación 16 bits en Intel VT Versión de QEMU actualizada Soporte VT-d Device Pass-Though Direct OpenGL-accelerated video output scalling Mejoras en el rendimiento por medio de nuevos algoritmos de acceso a memoria Mejoras en la gestión energética por medio del empleo de nuevos algoritmos para controlar el ahorro de energía del procesador Primera versión de Xen Client, un hipervisror para dispositivos cliente Mejoras en el rendimiento mediante el empleo de algoritmos más eficientes y técnicas de pass-through PCI Pass-through ◦ Todos los Slots PCI disponibles incluyendo hot plug ◦ Selección por parte del usuario de los slots PCI ◦ HVM Pass-through Tolerancia a fallos ◦ Soporta sincronización transaccional de los estados de VM entre los servidores físicos. Netchannel2 ◦ Avances significativos en el soporte hardware de red empleando SMART NICS con colas múltiples y funcionalidades SR-IOV Biktap2 ◦ Nueva implementación de disco duro virtual (VHD) que proporciona snapshots de alto rendimiento y el clonado, además de soportar la realización de snapshots sin la necesidad de detener la máquina virtual PVOps Domain 0 ◦ Permite emplear el kernel de Linux más reciente Mejoras en la memoria ◦ Nuevos algoritmos que incrementan el rendimiento y las capacidades. La RAM no utilizada de las máquinas paravirtualizadas se gestiona de forma centralizada para reutilizarla según las necesidades. ◦ Page Sharing: múltiples VMs pueden compartir paginas de memoria reduciendo así el consumo de memoria total Mejoras en SR-IOV PCIe Pass-through PV-USB y VGA Pass-through 64 vcpus por huésped y 1 TB RAM por host DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 15 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 2.2.3 Referencias Tabla 4: Tabla de referencias de Xen R1 N. MATTHEWS, JEANNA. ELI M.,DOW DESHANE, TODD. HU,WENJIN. BONGIO, JEREMY. F. WILBUR, PATRICK. JOHNSON, BRENDAN, Running Xen. A Hands-On Guide to de Art of Virtualization (Boston, Prentice Hall, 2008) R2 Instalación y configuración de Xen http://tuxjm.net/docs/Administracion_de_Servidores_Virtuales_con_Xen_y_GNU_Linux/ht ml-multiples/ch03s04.html R3 Linux man pages R4 Xen http://tx.downloads.xensource.com/downloads/docs/user/ R5 Xen 3.2 Data Sheet http://xen.org/files/Xen_3.2Datasheet.pdf R6 Xen 3.3 Data Sheet http://www.xen.org/files/xen3.3datasheet.pdf R7 Xen 3.4 Data Sheet http://www.xen.org/files/Xen_3_4_Datasheet.pdf R8 Xen 4.0 Data Sheet http://www.xen.org/files/Xen_4_0_Datasheet.pdf 2.3 KVM KVM, Kernel-Based Virtual Machine es un software de virtualización creado por Qumranet que fue posteriormente adquirido por Red Hat La versión de KVM analizada es la 0.9.1 2.3.1 Funcionalidades y comandos # Descripción 1 Iniciar máquina Comando virsh -c qemu:///system start <config_file> virtual <config_file> • nombre de la máquina virtual Ejemplos: virsh -c qemu:///system start kvmVM 2 Apagar máquina virsh -c qemu:///system shutdown <config_file> virtual Ejemplos: virsh -c qemu:///system start kvmVM 3 Desactivar Es necesario desactivar las opciones de ahorro de energía del huésped. 4 Migración a otro Se puede efectuar una migración de forma manual copiando el archivo de configuración, almacenado en /etc/libvirt/qemu, y el archivo disco imagen, suspensión automática equipo DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 16 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server almacenado en /var/lib/libvirt/images, a otro equipo. Es posible efectuar la migración mediante virsh: migrate [--live] <domain> <desturi> [<migrateuri>] [<dname>] --live • Live migration <domain> • Domain name, id or uuid <desturi> • Connection URI of the destination host <migrateuri> • Migration URI, usually can be omitted Ejemplo: virsh migrate --live kvmVM qemu+ssh://host.example.com/system 5 Desactivar Si se emplea virsh no se muestran cuadros de diálogo, sino que se genera un log para cada una de las máquinas virtuales en funcionamiento que se almacena en /var/log/libvirt/qemu/ 6 Suspensión virsh -c qemu:///system suspend <vm_name>|<dom_id> cuadros de diálogo <vm_name> • Nombre de la máquina virtual <dom_id> • Identificador numérico del huésped <vm_state_filename> • Nombre del archivo en el que se almacenará el estado de la máquina virtual Ejemplos: virsh -c qemu:///system suspend kvmVM 7 Reanudación virsh -c qemu:///system resume <vm_name>|<dom_id> <vm_name> • Nombre de la máquina virtual <dom_id> • Identificador numérico del huésped Ejemplos: virsh -c qemu:///system resume kvmVM 8 Suspensión virsh -c qemu:///system save <vm_name> <vm_state_filename> guardando imagen en disco <vm_name> • Nombre de la máquina virtual <vm_state_filename> • Nombre del archivo en el que se almacenará el estado de la máquina virtual Ejemplos: virsh -c qemu:///system save kvmVM kvmVM.state 9 Reanudación virsh -c qemu:///system restore <vm_state_filename> desde imagen guardada en disco <vm_state_filename> • Nombre del archivo en el que se almacenará el estado de la máquina virtual Ejemplos: virsh -c qemu:///system save kvmVM kvmVM.state 10 Gestionar tamaño No disponible en KVM DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 17 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server del disco Solución alternativa: • Crear un nuevo disco con el tamaño deseado y migrar los datos del antiguo al nuevo 11 Gestionar No disponible en KVM memoria RAM Solución alternativa: • Apagar la máquina virtual y modificar el archivo de configuración para especificar la memoria deseada 12 Gestionar red No está soportado el hotplug de interfaces de red. Para gestionar las interfaces de red es necesario modificar el archivo de configuración de la máquina virtual 13 Crear máquina virsh define <config_file> virtual <config_file> • Nombre del archivo de configuración que se empleará para ejecutar la máquina virtual virsh create <config_file> #Ejecuta la máquina virtual 14 Eliminar máquina Es necesario eliminar el disco y la configuración de la máquina virtual: virtual 1.-Eliminar configuración: virsh destroy <vm_name>|<dom_id> <vm_name> • Nombre de la máquina virtual <dom_id> • Identificador numérico del huésped virsh undefine <vm_name> <vm_name> • Nombre de la máquina virtual 2.-Eliminar disco: El disco duro virtual aún está almacenado en el anfitrión y por tanto es necesario eliminarlo manualmente. 2.3.2 Referencias Tabla 5: Tabla de referencias de KVM R1 Linux man pages R2 KVM http://www.linux-kvm.org/page/Main_Page R3 LibVirt http://libvirt.org/ R4 Blog http://acidborg.wordpress.com/2010/02/19/how-to-manage-kvm-virtualmachines-using-virsh/ R5 Ubuntu Documentation https://help.ubuntu.com/community/KVM/Managing R6 Ubuntu https://help.ubuntu.com/8.04/serverguide/C/libvirt.html R7 Wikibooks http://en.wikibooks.org/wiki/QEMU/Monitor DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 18 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server 2.4 Vmware Player y Server VMware Player y Server es un software de virtualización creado por VMware, filial de EMC, para ordenadores compatibles x86 La versión de VMware Player es la 3.1.1 y la Server es la 2.0 2.4.1 Funcionalidades y comandos # Descripción Comando 1 Iniciar máquina VMWare Player virtual vmrun -T player start <path to .vmx file> [ gui | nogui ] <path to .vmx file> • Ruta absoluta al fichero de configuración [ gui | nogui ] • • gui muestra la interfaz gráfica (por defecto). nogui omite totalmente la interfaz gráfica. Puede ser útil para ejecutar scripts sin la intervención del usuario. Ejemplos: vmrun -T player start “C:\Documents and Settings\<username>\My Documents\My Virtual Machines\Win XP\Win XP.vmx” vmrun -T player start /home/<username>/VirtualMachines/Ubuntu/Ubuntu.vmx VMWare Server funciona igual, pero hay que tener en consideración los flags de acceso y autenticación necesarios. Son los siguientes: vmrun -T server <flags> start <path to .vmx> FLAGS: -h <hostName> Nombre o dirección IP del host -P <hostPort> Puerto -u <userName in host OS> Nombre de usuario en el host. -p <password in host OS> Contraseña del usuario Ejemplos: vmrun -T server -h https://myHost.com/sdk hostPassword start "[storage1] vm/myVM.vmx" Apagar máquina virtual -u hostUser -p vmrun -T < player | server flags ><path to .vmx file> stop [ hard | soft ] DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 19 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server <flags> • Vid. supra (1). <path to .vmx file> • Vid. supra (1). [ hard | soft ] • soft apaga el equipo por llamada al sistema. • hard apaga la máquina de repente. NOTA: El valor por defecto es aquél asignado a powerType en el fichero de configuración .vmx , si existe. Ejemplos: vmrun -T player stop “C:\Documents and Settings\<username>\My Documents\My Virtual Machines\Win XP\Win XP.vmx” soft vmrun -T server -h https://myHost.com/sdk -u hostPassword stop "[storage1] vm/myVM.vmx" soft hostUser Desactivar suspensión automática Es necesario desactivar las opciones de ahorro de energía del huésped. Portabilidad de la máquina virtual VMWare Player/Server no disponen de esta funcionalidad por CLI. -p Soluciones alternativas: Automática: Sería relativamente fácil implementar un sistema para clonar las máquinas, siguiendo estos pasos: 1. Copiar local o remotamente la carpeta de la máquina virtual (p. ej. con cp -r ó scp -r respectivamente ). 2. Modificar el fichero de configuración .vmx de la nueva máquina para desactivar cuadros de diálogo en la misma (vid. infra) (p. ej. de manera remota con ssh) 3. Arrancar la nueva máquina (vid. supra (1)). Si es necesario se generarán automáticamente nuevos IDs de hardware virtual. Manualmente: 1. Copiar la carpeta contenedora de la máquina virtual a la nueva ubicación 2. Al arrancar la nueva máquina en local, en el caso de ser un duplicado nos preguntará si la máquina ha sido copiada o bien movida. Seleccionamos “copiada”; esto generará nuevos identificadores de HW para la nueva máquina. NOTA: Hay también una herramienta GUI VMWare vCenter Converter Standalone (R3). Se desaconseja su uso ya que requiere un programa específico en modo gráfico que podría no estar accesible. Desactivar cuadros de diálogo Añadir la siguiente línea al archivo de configuración .vmx msg.autoAnswer = TRUE Esta opción acepta los cuadros de diálogo en nombre del usuario. N.B: Si un cuadro de diálogo dispone de varias opciones, se seleccionará automáticamente la opción por defecto. DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 20 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Ejemplos: # printf “msg.autoanswer = TRUE\n” /home/<username>/VirtualMachines/Ubuntu/Ubuntu.vmx Suspensión >> vmrun -T < player | server flags > suspend <path to .vmx file> [ hard | soft ] <path to .vmx file> • Ruta absoluta al fichero de configuración [ hard | soft ] • • soft antes de suspender la máquina, o bien libera la IP del huésped (Windows) o bien suspende las funciones de red (Linux). hard suspende la máquina directamente. NOTA: El valor por defecto es el de powerType en el fichero de configuración .vmx , si existe. Ejemplos: vmrun -T player Settings\<username>\My XP\Win XP.vmx” soft Reanudación suspend Documents\My “C:\Documents and Virtual Machines\Win vmrun start <path to .vmx file> Ejemplos: vmrun -T player start “C:\Documents and Settings\<username>\My Documents\My Virtual Machines\Win XP\Win XP.vmx” Suspensión guardando imagen en disco El comando vmrun suspend de por sí guarda el estado de la máquina (archivo .vmss). Ejemplos: vmrun -T < player | server flags > suspend “C:\Documents and Settings\<username>\My Documents\My Virtual Machines\Win XP\Win XP.vmx” VMWare Player no soporta snapshots, mientras que VMWare Server sólo permite guardar uno. vmrun -T server snapshot <path to .vmx file> <snapshot name> Ejemplos: vmrun -T server snapshot “C:\Documents and Settings\<username>\My Documents\My Virtual Machines\Win XP\Win XP.vmx” mySnapshot Reanudación desde Si la máquina se ha suspendido, el comando vmrun start cargará el estado imagen guardada de la máquina desde el archivo .vmss (cuando se apague la máquina este en disco archivo desaparecerá). vmrun -T < player | server flags > start <path to .vmx file> Ejemplos: vmrun -T player start "C:\Documents and Setti ngs\cursos\Escritorio\gbaltar.cesga\vmBenchmarks\BCentOS 32 bit\BCentOS 32 bit.vmx" En el caso de VMWare Server, si se ha guardado un snapshot podemos cargarlo así (recuérdese que VMWare Server sólo soporta crear un único DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 21 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server snapshot). vmrun -T server <flags> revertToSnapshotstart <path to .vmx file> <snapshot> <snapshot> • Nombre del snapshot que se ha guardado. Ejemplos: vmrun -T server -h https://myHost.com/sdk -u hostUser -p hostPassword revertToSnapshot "C:\Documents and Settings\cursos\Escritorio\gbaltar.cesga\vmBenchmarks\BCentOS 32 bit\BCentOS 32 bit.vmx" mySnapshot Gestionar tamaño del disco No disponible en VMWare Player/Server como un conjunto de instrucciones. La única funcionalidad por CLI es para compactar un disco duro virtual, esto es, optimizar el espacio que ocupa el archivo. Requiere VMWare Tools y su sintaxis es, vmware-toolbox-cmd disk shrink <mountpoint> Solución alternativa: Crear un nuevo disco con el tamaño deseado y migrar los datos del antiguo al nuevo. Gestionar memoria RAM VMWare no permite cambiar el tamaño de la memoria RAM en caliente. 1. Con la máquina apagada, cambiar el valor de memsize en el archivo .vmx Ejemplos: memsize = "1024” Gestionar red VMWare Player/Server no permite gestionar la red por CLI. Solución alternativa: 1. Con la máquina apagada, editar el fichero .vmx según indica R4. Esto permite cambiar la configuración de red, si bien se desaconseja ya que las líneas referentes a la red pueden hallarse dispersas en el fichero de configuración, lo que supone que su manipulación podría tener resultados no deseados. Crear máquina virtual VMWare Player/Server no permite crear máquinas virtuales nuevas por CLI. Soluciones alternativas: 1. Utilizar una herramienta de terceros (R5) para crear una máquina virtual vacía. Copiar ésta máquina al host. 2. Usando la GUI, preparar una o varias máquinas virtuales que se usarán como prototipos. Clonar manualmente en el host el prototipo que se precise (vid. (3)) con la máquina apagada. Eliminar máquina virtual vmrun -T < player | server flags > deleteVM <path to .vmx file> NOTA: Hemos comprobado que este comando funciona de manera irregular: puede o bien no borrar nada, bien todos los archivos relacionados, bien los archivos principales únicamente (dejando a veces archivos de gran tamaño que ya no se utilizarán). Se recomienda por tanto una ulterior eliminación manual de la carpeta que alberga la máquina como acción coadyuvante. DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 22 / 23 Funcionalidades de los hipervisores VirtualBox, KVM, Xen y VMware Player y Server Ejemplos: vmrun -T player deleteVM /home/<username>/VirtualMachines/Ubuntu/Ubuntu.vmx rm -rf /home/<username>/VirtualMachines/Ubuntu/ 2.4.2 Referencias Tabla 6: Tabla de referencias de VMware R1 VIX API Landing Page http://www.vmware.com/support/developer/vix-api/ R2 Using vmrun to control virtual machines http://www.vmware.com/support/developer/vix-api/vix110_vmrun_command.pdf R3 VMWare vCenter Converter http://www.vmware.com/products/converter/ R4 http://www.sanbarrow.com/vmx/vmx-network.html http://www.sanbarrow.com/vmx/vmx-network-advanced.html R5 http://www.easyvmx.com/ http://dcgrendel.thewaffleiron.net/vmbuilder/ DO_SIS_formigacloud_hipervisores_V2.odt ENTIDAD CERTIFICADA Act:03/02/2012 UNE-EN-ISO 9001 23 / 23