Tag Archives: Virtualización

Instalando KVM con Libvirt y la interfaz de red en puente bajo Ubuntu 11.10

Introducción

Desde la versión 9.10 de Ubuntu no había actualizado el proceso de instalación de KVM y de la interfaz de red en puente que realizo en mi servidor de desarrollo.  En este caso estoy utilizando la versión 11.10 y a continuación describo el procedimiento seguido para instalar KVM utilizando el metapaquete del repositorio estándar, crear la interfaz de red e instalar una máquina virtual inicial.

Instalación de KVM con Libvirt

$ sudo aptitude install ubuntu-virt-server

Es necesario que los usuarios que vayan a interactuar con las máquinas virtuales pertenezcan al grupo de libvirtd.  En el caso de la instalación es necesario que el usuario actual termine su sesión y la inicie nuevamente para que su suscripción al grupo sea tenida en cuenta.

Creación del puente en la interfaz de red

Asignar los permisos de manipulación de red requeridos al usuario que se encontrará activo durante la creación del puente.

$ sudo setcap cap_net_admin=ei /usr/bin/qemu-system-x86_64

Agregar el nombre de usuario elegido frente a la propiedad cap_net_admin.

$ sudo vi /etc/security/capability.conf
    cap_net_admin        USUARIO

Actualizar la configuración de las interfaces de red.

$ sudo vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet manual
    auto br0
    iface br0 inet static
    address 192.168.1.250
    network 192.168.1.0
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.254
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Reiniciar el servicio de red para que los cambios anteriores sean tenidos en cuenta.

$ sudo /etc/init.d/networking restart

Creación de una máquina virtual desde línea de comando

En el servidor instalar la herramienta de virt-install para la creación de máquinas virtuales desde la línea de comando.

$ sudo aptitude install virtinst

Solicitar la creación de la máquina virtual a partir de su configuración básica.

En este caso se va a instalar un Scientific Linux 5.7 llamada SL_57_x64_Generic con 384MB de RAM, un disco duro de 7GB y utilizará la interfaz de red en puente creada anteriormente.

$ virt-install \
    --connect qemu:///system \
    -n SL_57_x64_Generic \
    -r 384 \
    --os-type linux \
    --os-variant generic26 \
    --hvm \
    --cdrom /b1/ISO/SL.57.090911.DVD.x86_64.disc1.iso \
    --network bridge:br0 \
    --disk path=/home/vms/SL_57_x64_Generic.img,size=7 \
    --vnc --noautoconsole \
    --accelerate

Desde el cliente donde se deseen administrar las máquinas virtuales ejecutar el siguiente comando para conectarse a la máquina virtual recién creada para realizar el proceso de instalación.

$ virt-viewer -c qemu+ssh://SERVIDOR/system SL_57_x64_Generic

Enlaces

Instalando libvirt en ArchLinux

Introducción

Libvirt es un API de código abierto y una herramienta de administración para diferentes sistemas de virtualización entre los que se encuentran Xen, OpenVZ, Virtualbox, VMWare, Microsoft Hyper-V y por supuesto KVM/Qemu instalado en el servidor de desarrollo previamente.

Este software es ideal para la gestión de las máquinas virtuales y su administración remota a través de conexiones seguras con SSH.  Además incluye una librería en C para el desarrollo de aplicaciones e incluye además interfaces para diversos lenguajes como Python, Perl, Ruby, Java y PHP.

Instalación del software

Instalar los paquetes del repositorio oficial.

# pacman -S libvirt urlgrabber dnsmasq bridge-utils

Inicio automático del demonio

Configurar el demonio de libvirtd para que se inicie automáticamente junto con el sistema operativo.

# vi /etc/rc.conf

DAEMONS = (… libvirtd …)

Debe tenerse en cuenta que el demonio libvirtd requiere ser invocado después de dbus y avahi-daemon.

Autorizar la administración a usuarios sin privilegios

Si se desea que usuarios sin privilegios (diferentes de root) administren las máquinas virtuales, estos deberán ser explícitamente autorizados de la siguiente manera.

# vi /etc/polkit-1/localauthority/50-local.d/org.libvirt.unix.manage.pkla

[Allow a user to manage virtual machines]
Identity=unix-user:jimezam
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Si en lugar de administración se desea conceder la autorización para monitorear las máquinas se deberá especificar la siguiente acción.

org.libvirt.unix.monitor

Permitir el acceso a través de SSH

Para permitir el acceso a las máquinas virtuales a través de herramientas como virsh o virt-viewer a través del protocolo SSH (qemu+ssh) es necesario contar con paquete netcat de OpenBSD instalado de la siguiente manera.

$ sudo pacman -S openbsd-netcat

Si se cuenta adicionalmente con el paquete netcat convencional instalado es posible que este se haya apoderado del enlace /usr/bin/nc y libvirt intente utilizarlo erróneamente generando el siguiente mensaje de error.

error: server closed connection: nc: invalid option — 'U'
Try `nc –help' for more information.
error: failed to connect to the hypervisor

En ese caso es necesario indicarle a libvirt cual es la versión de netcat que debe utilizar.  Esto se puede realizar desde los parámetros extra del URI en cada invocación de acceso de la siguiente manera.

$ virsh -d 0 –connect qemu+ssh://usuario@servidor/system?netcat=/usr/bin/nc.openbsd

O de manera permanente modificando en el servidor el enlace /usr/bin/nc de la siguiente manera.

$ sudo mv /usr/bin/nc /usr/bin/nc.orig

$ sudo ln -s /usr/bin/nc.openbsd /usr/bin/nc

Enlaces

Instalando KVM en ArchLinux

Introducción

Por fin he destinado el tiempo necesario para reintalar mi servido de desarrollo, esta vez utilizando ArchLinux.  Había utilizado con éxito esta distribución en un par de ocasiones sin embargo no había tenido la oportunidad de explorarla con mayor profundidad.

A continuación se describen los pasos que se siguieron para instalar KVM en ArchLinux.

Verificaciones preliminares

Se requiere de un versión de kernel igual o superior a la 2.6.22.

# uname -a

Linux ivy.jorgeivanmeza.com 3.1.1-1-ARCH #1 SMP PREEMPT Fri Nov 11 22:28:29 CET 2011 x86_64 AMD Phenom(tm) 9650 Quad-Core Processor AuthenticAMD GNU/Linux

De igual manera se requiere que el procesador cuente con soporte físico para virtualización: VMX (Intel) o SVM (AMD).

# grep -E "(vmx|svm)" –color=always /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock

Instalación del software

Instalar los paquetes del repositorio oficial.

# pacman -S qemu-kvm

Agregar las cuentas de los usuarios que utilizarán el software al grupo kvm para que puedan acceder a /dev/kvm.

# gpasswd -a jimezam kvm

Verificar la carga de los módulos de kernel dependiendo del proveedor del procesador.

Para IntelPara AMD

# modprobe kvm

# modprobe kvm-intel

# modprobe kvm

# modprobe kvm-amd

Una vez cargados deberán aparecer en el listado de módulos activos.

# modprobe -l 'kvm*'

kernel/arch/x86/kvm/kvm-amd.ko.gz
kernel/arch/x86/kvm/kvm.ko.gz

En caso de fallar la carga pero haber pasado la verificación inicial, verificar en la configuración de la BIOS si las extensiones de virtualización se encuentran desactivadas.

Configurar la carga automática de los módulos del kernel.

# vi /etc/rc.conf

MODULES=(kvm kvm-amd)

Enlaces

Instalar VirtualBox en Ubuntu 10.04 (y demás)

Actualización.

Ubuntu 10.10.

Este procedimiento permanece igual para la versión 10.10 de Ubuntu.  Sólo debe tener en cuenta que ahora por defecto Ubuntu sólo incluye apt-get y no a aptitude, así que deberá utilizar al primero para la gestión de paquetes o instalar al segundo y seguir el artículo al pie de la letra.

Introducción.

Sun Oracle VirtualBox es el software de virtualización que prefiero para mis escritorios, incluye mas de la funcionalidad que comúnmente necesito y además es rápido, liviano y libre.

Frecuentemente olvido su procedimiento para instalarlo en GNU/Linux Ubuntu así que a continuación describo como realizar su instalación desde un repositorio de paquetes para la versión 10.04 y cualquier otra en general.

Procedimiento de instalación.

Añadir el repositorio al sistema operativo.

$ echo deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) non-free | sudo tee /etc/apt/sources.list.d/virtualbox.list

Agregar la clave del repositorio.

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Actualizar la información local acerca de los repositorios de paquetes.

$ sudo aptitude update

Instalar VirtualBox.

$ sudo aptitude install virtualbox-3.2

Agregar los usuarios que van a acceder a las máquinas virtuales (en este caso el actual) al grupo virtualbox.

$ sudo adduser $(whoami) vboxusers

Enlaces.

Configurando un puente en la interfaz de red para las KVM en Linux Ubuntu 9.10

Introducción.

Cuando se instala KVM se crea una red privada por defecto (192.168.122.0) para las máquinas virtuales las cuales sólo son accesibles desde el mismo huésped.

(revisar) Si lo que se desea, como en mi caso, es que las máquinas virtuales obtengan una dirección del servicio de DHCP y puedan ser accedidas desde la red LAN como un servidor real es necesario crear un puente en la interfaz de red del servidor para permitirle a las máquinas virtuales acceder a la red física a través de este.

El procedimiento para hacer esto es simple y se describe a continuación.

Advertencia acerca de la red inalámbrica.

Utilizando el método convencional para la creación de puentes no es posible utilizar interfaces de red inalámbricas ya que sus tarjetas no permiten realizar ip spoofing necesario para su implementación.  Es necesario entonces contar con un acceso alámbrico a la red LAN para poder realizar el procedimiento descrito en este artículo.

Investigando en Internet encontré varios foros en los que se menciona que es posible dar solución a este problema sin utilizar el procedimiento estándar sino utilizando aproximaciones alternativas que no estarían supeditadas a la red alámbrica, sin embargo después de cuatro días de intentos y pruebas no me funcionaron así que tuve que utilizar la red cableada.  Las aproximaciones alternativas que sugieren mayor posibilidad de éxito son las siguientes.

En mi caso lo que revisió mayor dificultad para realizar las pruebas de estos procedimientos resultó, mas que la implementación de los mismos que de por si es bastante simple, la configuración de las máquinas KVM (he utilizado libvirt para su manipulación) para que utilicen la nueva interfaz de red ya que los ejemplos mejor descritos que encontré hacían referencia a Virtualbox y para KVM su configuración es notoriamente diferente.

Procedimiento.

Configurar el huésped (servidor de máquinas virtuales).

Instalar el paquete de utilidades para la creación de puentes de red.

$ sudo apt-get install bridge-utils

Editar el archivo de configuración de interfaces de red para agregar la configuración del puente.

$ sudo vi /etc/network/interfaces

Este procedimiento se puede realizar de dos maneras: de manera estática especificando la información precisa de conexión a la red o de manera dinámica permitiendo adquirir la configuración automática desde un servidor DHCP.

De manera estática se realiza de la siguiente manera.

auto br0
iface br0 inet static
address 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

De manera dinámica se realiza de la siguiente manera.

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

En ambos casos se está creando el puente br0 para acceder a la red a través de la interfaz eth0 (red alámbrica).

Reiniciar la configuración de red para tomar en cuenta los cambios recién realizados.

$ sudo /etc/init.d/networking restart

Verificar el estado de los cambios.

$ ifconfig

br0 Link encap:Ethernet  HWaddr 00:24:21:b6:12:11
inet addr:192.168.1.99 Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::224:21ff:feb6:1211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:991 errors:0 dropped:0 overruns:0 frame:0
TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:62573 (62.5 KB)  TX bytes:14537 (14.5 KB)

eth0 Link encap:Ethernet  HWaddr 00:24:21:b6:12:11
inet addr:192.168.1.99 Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::224:21ff:feb6:1211/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:991 errors:0 dropped:0 overruns:0 frame:0
TX packets:898 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:77339 (77.3 KB)  TX bytes:67197 (67.1 KB)
Interrupt:27

Nótese como aparece la nueva interfaz de red del puente (br0) que toma igual configuración de red de su destino (eth0).

Configurar el invitado (máquinas virtuales).

Editar la información de especificación de la máquina virtual.

$ virsh edit IDENTIFICADOR_DOMINIO

Modificar la sección de la configuración de red (<interface>) con el siguiente estilo.

<interface type='bridge'>
<source bridge='br0'/>
<model type='virtio'/>
<mac address='00:11:22:33:44:55'/>
</interface>

Actualice la información de la máquina virtual en el Hypervisor e iníciela.

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

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

Para confirmar el éxito de la configuración, en la máquina virtual consulte su dirección IP, la cual deberá coincidir con la especificada durante la configuración (estática) o la proporcionada por el servidor DHCP (dinámica).

Acerca de la dirección MAC de las interfaces virtuales.

Siempre es conveniente especificar una dirección MAC y que esta sea única entre las diferentes máquinas virtuales para evitar cualquier tipo de confusión.  Con respecto a esta dirección se recomienda que el primer valor sea par (como por ejemplo 00).

Para facilitar la generación de direcciones MAC al azar, la documentación de KVM en Ubuntu incluye un script muy útil.

$ sudo apt-get install randomize-lines

$ vi ~/bin/kvmGenMac               # Almacénelo donde desee.

#!/bin/sh
echo -n "54:52:00"
for i in 1 2 3; do
    echo -n ":"
    for j in 1 2; do
        for k in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
            echo $k
        done|rl|sed -n 1p
    done|while read m; do
        echo -n $m
    done
done
echo

$ chmod +x ~/bin/kvmGenMac

Para ejecutarlo simplemente invoque el shell y obtenga la dirección MAC al azar de la salida estándar.

$ ./bin/kvmGenMac

Enlaces.

Problemas para apagar remotamente las máquinas KVM bajo Ubuntu 9.10

La situación.

Cuando intentaba apagar gentilmente (shutdown) las máquinas virtuales desde el virsh recibía siempre el mensaje que se estaban apagando pero no era así, continuaban inmutables como si no recibieran la solicitud.

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

Connecting to uri: qemu:///system
Domain UbuntuVM is being shutdown

El problema.

La falta de configurar e instalar ACPI, tanto en la especificación de la máquina virtual como en el sistema operativo invitado.

La solución.

ACPI en la máquina virtual.

Verifique que la máquina virtual cuente con el soporte de ACPI.

$ sudo vi /etc/libvirt/qemu/UbuntuVM.xml

<domain type='kvm'>
<name>UbuntuVM</name>

<features>
<acpi/>
<apic/>
<pae/>
</features>

</domain>

ACPI en el sistema operativo invitado.

Verifique el sistema operativo invitado cuente con el soporte para ACPI instalado.  Para hacer esto en Linux Ubutnu 9.10 ejecute el siguiente comando desde su consola.

$ sudo apt-get install acpid

Enlaces.

Problemas de lentitud con KVM bajo Ubuntu 9.10

Introducción.

Después de instalar una versión muy ligera de Ubuntu Server (JeOS) en KVM encuentro que este está infernalmente lento.  Completar la instalación duró varias horas.

Después de investigar un poco descubrí que no había utilizado la opción de aceleración de KVM y por ello estaba estaba utilizando el QEMU sin optimizaciones y de ahí la lentitud tan notoria.

–accelerate
When installing a QEMU guest, make use of the KVM or KQEMU kernel acceleration capabilities if available.
Use of this option is recommended unless a guest OS is known to be incompatible with the accelerators. The
KVM accelerator is preferred over KQEMU if both are available.

Este problema se puede corregir fácilmente con una de las siguientes soluciones.

Solución #1: en el momento de la creación de la kvm

Durante la creación de la máquina virtual, en la ejecución del comando virt-install, no olvide agregar el parámetro –accelerate.

Solución #2: con una kvm ya creada

Si la máquina virtual ya ha sido creada sin el atributo –accelerate realice los siguientes pasos.

Detenga la máquina virtual.  Reemplace UbuntuVM en las lineas subsiguientes con el identificador real de su máquina virtual (dominio).

$ virsh -c qemu://ip_servidor/system shutdown UbuntuVM

Edite el archivo XML con la configuración de la máquina virtual KVM que se encuentra bajo /etc/libvirt/qemu.

$ vi /etc/libvirt/qemu/UbuntuVM.xml

Reemplace la siguiente línea.

<domain type='qemu'>

De la siguiente manera.

<domain type='kvm'>

Remplace también la línea asociada con la especificación del emulador utilizado.

<emulator>/usr/bin/qemu-system-x86_64</emulator>

De la siguiente manera.

<emulator>/usr/bin/kvm</emulator>

Refresque la especificación de la máquina virtual en el hypervisor.

$ sudo virsh -c qemu://ip_servidor/system define /etc/libvirt/qemu/UbuntuVM.xml

Inicie nuevamente la máquina virtual y disfrute de la aceleración.

$ virsh -c qemu://ip_servidor/system start UbuntuVM

Crear una máquina virtual KVM con JeOS "manualmente" en Linux Ubuntu 9.10

Introducción.

JeOS (se pronuncia"juice") es una versión altamente ajustada de Linux Ubuntu Server para ser utilizada como máquinas virtuales.  De ella se han removido los paquetes y se han hecho modificaciones para evitar todo lo que no sea útil en una máquina virtual y optimizar su desempeño.  En términos generales promete lo siguiente.

  • Mejor desempeño con respecto a la versión estándar sobre el mismo hardware.
  • Menor uso de recursos (footprint).
  • Una necesidad menor de actualizaciones y mantenimiento en comparación con la versión estándar.

Su instalación se realiza mediante el script vmbuilder (ahora python-vm-builder) sin embargo por razones que aún no termino de comprender y solucionar no me ha querido funcionar arrojándome siempre un error de Python.  Sin embargo encontré un método alternativo para instalarlo y es el que describo a continuación.

Instalación.

En el servidor de máquinas virtuales crear la instancia que albergará a la instalación de JeOS.  En mi caso utilicé la siguiente configuración.

$ sudo virt-install \
–connect qemu:///system \
-n JeOSVM \
-r 2048 \
–os-type linux \
–os-variant ubuntukarmic \
–hvm \
–cdrom /u/isos/ubuntu-9.10-server-amd64.iso \
–network bridge:virbr0 \
–disk path=/u/vms/jeosvm.img,size=15 \
–vnc –noautoconsole \
–vcpus 2 \
–check-cpu \
–accelerate

Desde la estación de trabajo conectarse con el hypervisor de KVM en el servidor para iniciar el proceso de instalación.

$ virt-viewer -c qemu+ssh://servidor/system JeOSVM

Cuando la instalación de Ubuntu Server inicia, seleccione el idioma en que se desea se desarrolle.  Posteriormente cuando la instalación le solicita el tipo de instalación que desea realizar, presione F4 antes de hacer su selección.

Seleccionar el modo de instalación

Seleccione la opción "Install a minimal virtual machine" como su modo de instalación y continúe normalmente el proceso de instalación del sistema operativo.

Enlaces.

Administrar gráficamente máquinas virtuales con KVM remotamente en Ubuntu 9.10

Introducción.

Hace dos días cuando empecé la revisión de documentación acerca de KVM leí que uno de los puntos débiles era la falta de herramientas gráficas (UI) para la administración remota de las máquinas virtuales.  A pesar de que esto es cierto, Virtual Manager la herramienta adhoc disponible, no es la opción de administración remota mas completa que se pueda encontrar en el mercado, también me dejó un grato sabor porque esperaba que fuera aún mas sencilla y eso que tuve la posibilidad de probar la versión 0.7.0 (disponible en los repositorios de Ubuntu) mientras que ya hay nuevas versiones liberadas (la 0.8.2 de mediados del mes pasado).

Virtual Manager parece ser una herramienta de pocas opciones pero muy útiles y precisas, y que se encuentra bajo un considerablemente activo desarrollo.  Varias de sus funciones se implementan a través de asistentes que evitan la manipulación directa de los archivos XML con la especificación de las máquinas virtuales.

  • Conexión con múltiples servidores de máquinas virtuales: KVM y XEN.
  • Consultar las máquinas virtuales disponibles en un servidor junto con su estado y los recursos que utilizan.
  • Ejecutar y detener máquinas virtuales.
  • Consultar la información y estado del servidor de máquinas virtuales.
  • Administrar la información de las redes virtuales y los almacenamientos.
  • Información de las máquinas virtuales.
  • Crear nuevas máquinas virtuales.
  • Remover máquinas virtuales disponibles.
  • Conectarse con la consola gráfica de las máquinas virtuales en ejecución a través de VNC.

Instalación.

$ sudo apt-get install virt-manager

Ejecución.

De manera local.

$ virt-manager -c qemu:///system

De manera remota mediante SSH.

$ virt-manager -c qemu+ssh://ip_del_servidor/system


Enlaces.

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

Clonar una máquina virtual.

–connectHypervisor al cual se realiza la conexión
-oIdentificador de la máquina virtual orígen
-nIdentificador de la nueva máquina virtual a crearse
-fRuta del disco duro de la nueva máquina virtual, puede
ser un archivo, un volúmen lógico o una partición.
–debugMostrar 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.