Administrar máquinas virtuales con KVM desde línea de comando en Ubuntu 9.10

Clonar una máquina virtual.

–connect Hypervisor al cual se realiza la conexión
-o Identificador de la máquina virtual orígen
-n Identificador de la nueva máquina virtual a crearse
-f Ruta del disco duro de la nueva máquina virtual, puede
ser un archivo, un volúmen lógico o una partición.
–debug Mostrar información de depuración.

Permite crear una nueva máquina virtual exactamente igual a otra existente.

$ virt-clone –connect=qemu:///system
-o PruebaVM
-n CopiaVM
-f /u/vms/CopiaVM.img

Listar las máquinas virtuales disponibles.

$ virsh -c qemu:///system list –all

Connecting to uri: qemu:///system
Id Name                 State
———————————-
1 PruebaVM             running
– CopiaVM              shut off

Iniciar una máquina virtual.

$ virsh -c qemu:///system start PruebaVM

Detener una máquina virtual.

Apagado normal.

$ virsh -c qemu:///system shutdown PruebaVM

Apagado abrupto (desconectar el cable eléctrico).

$ virsh -c qemu:///system destroy PruebaVM

Reiniciar una máquina virtual.

$ virsh -c qemu:///system reboot PruebaVM

Guardar el estado actual de una máquina virtual.

$ virsh -c qemu:///system save PruebaVM PruebaVM-20100102_1830.state

Restaurar una máquina virtual desde un estado previo.

$ virsh -c qemu:///system restore PruebaVM-20100102_1830.state

Suspender una máquina virtual.

$ virsh -c qemu:///system suspend PruebaVM

Despertar una máquina virtual suspendida.

$ virsh -c qemu:///system resume PruebaVM

Montar un dispositivo real en la máquina virtual.

$ virsh -c qemu:///system attach-disk PruebaVM /u/isos/CentOS-5.4-i386-LiveCD.iso /media/cdrom

Desmontar real un dispositivo de la máquina virtual.

$ virsh -c qemu:///system detach-disk PruebaVM hdc

Configurar el inicio de una máquina virtual al inicio del servidor.

$ virsh -c qemu:///system autostart PruebaVM

Conectarse a una máquina virtual en ejecución.

De manera local.

$ virt-viewer -c qemu:///system PruebaVM

De manera remota.

$ virt-viewer -c qemu+ssh://direccion_ip_servidor/system PruebaVM

Remover una máquina virtual.

$ 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/).

Instalar una máquina a partir de su especificación.

$ virsh -c qemu:///system define /etc/libvirt/qemu/PruebaVM.xml

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.

Obtener la especificación actual de una máquina virtual activa.

$ virsh -c qemu:///system dumpxml PruebaVM > /tmp/PruebaVM.xml

Enlaces.

3 thoughts on “Administrar máquinas virtuales con KVM desde línea de comando en Ubuntu 9.10”

  1. Hola, que tal.
    Actualmente estoy usando una maquina virtual (qemu kvm), bajo GNU/Linux. La tengo configurada para que se inicie cuando el sistema se inicia el sistema anfitrión. Pero tengo una duda, y es si al apagarse el sistema anfitrión, el o los sistemas invitados que corren en la máquina virtual, realizan un apagado ACPI, es decir, si realizan un apagado limpio de forma automática al apagarse el sistema anfitrión… y si no es así, como puedo hacer para que el apagado de las máquinas virtuales sea automático al apagarse el sistema anfitrión.

    Saludos!

    1. Saludos @Alejandro.

      La teoría sugiere que el huésped al apagarse o reiniciarse le envía a los invitados mensajes ACPI indicándoles que está sucediendo para que ellos hagan algo al respecto, no necesariamente apagarse ya que pueden decidir que hacer en cada caso. Esto parcialmente me consta ya que es necesario contar con APCId en los invitados para que los comandos del virsh (como shutdown) funcionen.

      Sin embargo las pruebas que hice para verificar si en realidad se estaban apagando correctamente las máquinas invitadas cuando reinicio el servidor aparentemente me sugieren que esto no esta sucediendo.

      Te dejo el siguiente enlace que encontré al respecto en el cual se propone un script que solicita el apagado de los invitados.

      http://blog.bigsmoke.us/2009/12/09/making-sure-virtual-machine-guests-shut-down-properly-on-a-debian-host

  2. Hola como estas?
    Recien comienzo con las maquinas virtuales y tengo la siguiente duda:
    tengo un ubuntu 14.04 server y en el una maquina virtual con win7.
    Como hago para que esa maquina virtual arranque cuando se encienda el ubuntu?

    gracias!

Leave a Reply

Your email address will not be published. Required fields are marked *