Virtualización en escritorios (y IV): KVM/QEMU

Hace tiempo que tenía pendiente terminar esta serie de artículos dedicados a la virtualización en escritorios y como en el artículo anterior mencionaba esta técnica como una herramienta útil en el proceso de migración de un sistema informático a Linux, la ocasión era inmejorable para publicar unas líneas sobre una solución 100% libre y que viene de serie en el propio núcleo de Linux: KVM

KVM son las siglas de Kernel-based Virtual Machine y se trata de un módulo del núcleo de Linux que permite a un programa de usuario utilizar las capacidades de virtualización por hardware que incluyen diversos procesadores. En resumen, KVM convierte el núcleo de Linux en un hipervisor. Actualmente, KVM soporta los procesadores Intel y AMD más recientes (a través de un segundo módulo especializado del núcleo), así como una serie de plataformas menos populares en nuestros escritorios, como PowerPC, S/390 y ARM. Se incluyó por primera vez en el núcleo de Linux en la versión 2.6.20, publicada en Febrero de 2007.

KVM y QEMU emulando varias sistemas

KVM y QEMU emulando varios sistemas

A través de KVM es posible ejecutar múltiples máquinas virtuales corriendo imágenes sin necesidad de adaptación de numerosos sistemas operativos, incluyendo Linux, Windows, BSD, Solaris y Android. De este modo, cada máquina virtual cuenta con su propio hardware virtualizado: disco, red, vídeo, audio, etc.

Sin embargo, KVM no realiza ningún tipo de emulación, por lo que es necesario un interfaz en espacio de usuario que permita la creación y uso de las máquinas virtuales. La mejor opción en este sentido es QEMU, un emulador y virtualizador de máquinas genérico de licencia libre.

Cuando se utiliza junto con KVM, QEMU consigue un rendimiento cercano al nativo a través de la ejecución del código de la máquina virtual en el procesador de la máquina física. Así, es incluso posible ejecutar Mac OS X con una versión especialmente modificada de QEMU. Como curiosidad, añadiré que QEMU es compatible con otras soluciones de virtualización, como Xen

La puesta en marcha de la pareja KVM/QEMU es muy sencilla en Debian. En primer lugar procedemos a la instalación de las herramientas de espacio de usuario, ya que como he comentado antes el soporte de virtualización KVM ya viene de serie con el núcleo de Linux:

# apt-get install qemu-kvm libvirt-bin

En este momento ya tendríamos instalado QEMU listo para su uso con KVM, aunque sólo a través de herramientas de línea de comandos. Si queremos un buen interfaz gráfico de gestión, algo muy recomendable en el manejo de máquinas virtuales en un escritorio, mi recomendación es instalar AQEMU, que nos ofrece un interfaz muy al estilo de Virtualbox:

# apt-get install aqemu

aqemu

Ventana principal de AQEMU

La primera vez que ejecutamos AQEMU nos presentará en pantalla un asistente de configuración, cuyo primer paso es elegir el idioma del interfaz (desgraciadamente no tenemos el Español como opción). En el segundo paso se nos pregunta por el directorio en el que residirán las máquinas virtuales (podemos dejar el valor por defecto a menos que se trate de un sistema de ficheros remoto o removible), si queremos utilizar el modo «Gestor de dispositivos» (recomiendo su activación) y queremos experimentar con un visor VNC empotrado en la ventana principal de AQEMU (aquí recomiendo que no, es demasiado inestable aún).

El siguiente paso nos pregunta por los «emuladores» que tenemos instalados. Pulsamos en «Search» y AQEMU buscará (y encontrará) las herramientas de KVM y QEMU. Si estamos de acuerdo con el resultado, continuamos con el siguiente paso en el que se va a configurar QEMU. Pues bien, lo mejor es dejarlo todo en sus valores por defecto y finalizar el asistente, con lo que se nos presentará la venta principal de AQEMU. Si queremos ejecutar de nuevo el asistente, tenemos la opción en el menú «File», al igual que podemos cambiar la configuración directamente a través de las opciones «General Settings» y «Advanced Settings».

AQEMU y los 3 sistemas más populares

AQEMU y los 3 sistemas más populares

Ahora es cuestión de utilizar el asistente de creación de máquinas virtuales (segundo icono por la izquierda en la barra de herramientas) para generar la primera. Cuando se nos pregunte qué emulador vamos a utilizar, probaremos primero con KVM. Si hay problemas de compatibilidad, entonces probamos de nuevo con QEMU.

Con esto tendremos KVM a pleno rendimiento (nuna mejor dicho) en nuestro escritorio. Como se puede ver, se trata de una solución relativamente sencilla de instalar y utilizar y que además es libre. En su contra tiene que QEMU ofrece pocos drivers de dispositivos multimedia y que no incluye aun soporte para el modelo de arranque UEFI. Aún así, se trata de una opción muy a considerar cuando necesitemos virtualizar sistemas para utilizarlos en nuestros escritorios. Espero que la probéis y compartáis vuestras experiencias.

1 comentario en “Virtualización en escritorios (y IV): KVM/QEMU

  1. Como comentario, las ultimas versiones de QEMU también permiten emular otras arquitecturas como ARM. Por ejemplo, podemos correr raspbian (Debian para Raspberry PI) con QEMU; En este caso, como toda emulación es por software, no irá tan rápido como en x86/AMD64.

Los comentarios están cerrados.