h2. Gestión de máquinas virtuales {{>toc}} En los ejemplos se toma id = 1. El id lo da la lista. h3. Listar máquinas actuales
sudo virsh -c qemu:///system list
h3. Arrancar máquina
sudo virsh start lucidVirtual
h3. Apagar máquina Para apagar una máquina virtual de forma ordenada:
sudo virsh -c qemu:///system shutdown 1
El dominio 2 está siendo apagado
h3. Inicio automático
sudo virsh -c qemu:///system autostart 1
Y para desactivar inicio automático:
sudo virsh -c qemu:///system autostart --disable domain-id
h3. Apagado abrupto (desconectar el cable eléctrico)
sudo virsh -c qemu:///system destroy PruebaVM
h3. Reiniciar una máquina virtual
sudo virsh -c qemu:///system reboot PruebaVM
h3. Guardar el estado actual de una máquina virtual
sudo virsh -c qemu:///system save PruebaVM PruebaVM-20100102_1830.state
h3. Restaurar una máquina virtual desde un estado previo
sudo virsh -c qemu:///system restore PruebaVM-20100102_1830.state
h3. Suspender una máquina virtual
sudo virsh -c qemu:///system suspend PruebaVM
h3. Despertar una máquina virtual suspendida
sudo virsh -c qemu:///system resume PruebaVM
h3. Montar un dispositivo real en la máquina virtual
sudo virsh -c qemu:///system attach-disk PruebaVM /u/isos/CentOS-5.4-i386-LiveCD.iso /media/cdrom
h3. Desmontar real un dispositivo de la máquina virtual
sudo virsh -c qemu:///system detach-disk PruebaVM hdc
h3. Conectarse a una máquina virtual en ejecución De manera local
sudo virt-viewer -c qemu:///system PruebaVM
De manera remota
sudo virt-viewer -c qemu+ssh://direccion_ip_servidor/system PruebaVM
h3. Remover una máquina virtual.
sudo virsh -c qemu:///system undefine PruebaVM
Este procedimiento remueve a la máquina virtual (PruebaVM en este caso) del Hypervisor, lo cual significa que físicamente se remueven del servidor el archivo XML con la especificación de la máquina virtual (ubicada por defecto en /etc/libvirt/qemu/) y los archivos IMG con los medios de las máquinas virtuales (ubicados para estos artículos bajo /u/vms/). Para hacer esto en Hypervisor, se requiere que se cuente con el archivo XML que contiene la especificación de la máquina virtual ubicado en /etc/libvirt/qemu/ y con los correspondientes archivos o particiones asociados como discos. Este comando también es muy útil para indicarle al Hypervisor que se han realizado cambios en el archivo XML de especificación de una máquina virtual para que él lo lea nuevamente y los tenga en cuenta. h3. Obtener la especificación actual de una máquina virtual activa
virsh -c qemu:///system dumpxml PruebaVM > /tmp/PruebaVM.xml
h3. Clonado de máquinas virtuales h4. Clonado gráfico Desde otro ubuntu y utilizando el "Gestor de máquinas virtuales" no logramos hacerlo. h4. Clonado respondiendo preguntas # Crear una carpeta donde colocar los nuevos archivos:
sudo mkdir /home/virtualservers/nueva
# Cambiar los permisos
sudo chown root:libvirtd /home/virtualservers/nueva
# Pausar la máquina virtual original # Ejecutar el siguiente comando y responder las preguntas
# virt-clone  --prompt
What is the name of the original virtual machine? mimaquinavirtual
What is the name for the cloned virtual machine? nueva
What would you like to use as the cloned disk (file path) for '/home/mimaquinavirtual.img'? /home/virtualservers/nueva/nueva.img
Cloning /home/mimaquinavirtual.img           4% [===                                 ]  20 MB/s | 128 MB     07:59 ETA
h4. Por un solo comando:
# virt-clone \
     --original mimaquinavirtual \
     --name clonmimaquinavirtual \
     --file /home/clonmimaquinavirtual.img
h3. Instalar una máquina a partir de su especificación.
sudo virsh -c qemu:///system define /etc/libvirt/qemu/PruebaVM.xml
h3. Aumentar la RAM de una máquina # Apagar la máquina # Cambiar la especificación, por ejemplo en: /etc/libvirt/qemu/PruebaVM.xml ** ir a la parte de RAM y cambiar el valor al necesario # Re declarar la máquina:
sudo virsh -c qemu:///system define /etc/libvirt/qemu/PruebaVM.xml
# Iniciar nuevamente la máquina