Máquina virtual usando KVM en Debian «Squeeze» para 64 bits

Logotipo de KVM

Desde hace tiempo utilizo software de virtualización de máquinas para acceder a esos programas que son necesarios y en GNU/Linux no existe una alternativa de suficiente calidad. Básicamente lo uso para dos cosas: 1) Adobe Illustrator porque las alternativas libres (Inkscape y compañía) no funcionan tan bien y para la publicación en revistas es necesario que las figuras sean de la máxima calidad, y 2) Microsoft Office para cuando me mandad algún archivo .DOCX y similares. Para el resto de aplicaciones me basta y me sobra con GNU/Linux.

Hasta ahora he utilizado el VirtualBox de Oracle para la virtualización. Sin embargo, recientemente he probado KVM (Kernel-based Virtual Machine) que lo ponían como bueno y me ha gustado. Para completar la lista tengo que decir que también existe el software de VMware que es gratis pero no libre, y por tanto no me convence. Tanto VirtualBox como KVM son de código abierto. Del que voy a hablar aquí es de KVM, que es el que uso actualmente. En concreto explicaré los pasos seguidos para la instalación de kvm en Debian «Squeeze» en arquitectura de 64 bits y la creación de un sistema virtual con Windows 7 y Abode Creative Suite 4.

Según lo entiendo yo (que no necesariamente es cierto) KVM carga unos módulos del kernel de Linux que sirven para compartir los recursos de hardware entre la máquina virtual (la que crearemos ahora) y el sistema huésped (el sistema operativo donde se ejecuta esto). Cuando ejecutas KVM lo que hace es cargar una BIOS básica y emular una máquina (ordenador) que realmente no existe. Es realmente como The Matrix: el mundo real es tu ordenador y ahí cargas un programa como Matrix que permite instalar otro sistema operativo como si Matrix fuera el mundo real. El sistema operativo virtual no es consciente de que realmente es un subprograma en otro sistema operativo, para él sólo existe Matrix 🙂

La instalación de KVM sigue el procedimiento típico de cualquier distribución con administrador de paquetes. En mi caso simplemente ejecuté el siguiente comando como superusuario:

# apt-get install kvm

Esto funciona en Debian testing (squeeze) y probablemente en *Ubuntu 10.04. Si utilizas Fedora tendrás que usar yum y si usas openSuse zypper. Esto te instala todos los paquetes necesarios para usar KVM, incluyendo los módulos del kernel. Nótese que la explicación de esta entrada es para la versión 0.12.5 de kvm. Otras versiones pueden tener diferente sintaxis o características.

Una vez termina la instalación, lo primero es crear el disco duro de la máquina virtual. Para ello podemos utilizar las herramientas que proporciona KVM, en concreto, el comando:

$ kvm-img create -f qcow2 MyVirtualHDD.qcow 30G

Éste crea en el directorio actual una imagen en formato qcow2 con tamaño de 30 gygabytes: lo que será el disco duro virtual. Podemos cambiar el tamaño modificando el último parámetro del comando anterior. Para más información lee el manual ejecutando `info kvm-img`.

Con eso ya tenemos todo lo necesario para que arranque nuestra máquina virtual. Con el siguiente comando se arranca usando un gygabyte de memoria RAM y el disco duro recién creado:

$ kvm -m 1G -hda MyVirtualHDD.qcow

Si lo ejecutamos lo que obtenemos es un bonito error del tipo: No Bootable Devices Found.

Fallo de arranque en KVM

Esto es porque nuestro ordenador no tiene sistema operativo (en concreto lo que no tiene es medio de arranque). Por lo tanto, el siguiente paso es introducir un dvd virtual para la instalación del sistema operativo.

Existen dos formas de hacerlo: 1) o bien tenemos el dvd físico del sistema operativo o 2) tenemos una imagen .iso del mismo. En ambos casos es lo mismo y lo único que cambia es un parámetro. En mi caso tengo el dvd de instalación de Windows 7 64 bits. Identificando el dispositivo del lector de dvd, éste se encuentra en /dev/dvd. En otros casos puede variar. Ahora, el comando de ejecución incluye un parámetro para que cargué el dvd en el arranque:

$ kvm -m 1G -hda MyVirtualHDD.qcow -cdrom /dev/dvd -boot d

El parámetro ‘-cdrom’ indica dónde está el lector de dvd y ‘-boot’ indica que debe arrancar desde dicho lector. Si tenemos una imagen .iso podemos usarla como imagen del dvd cambiando ‘/dev/dvd’ por ‘/ruta/dvd.iso’.

Si ejecutamos el anterior comando con el dvd de Windows 7 en la unidad, se iniciará el instalador en la máquina virtual. La instalación es exactamente igual que como sería en tu ordenador real. Al final de la misma tendremos Windows 7 instalado en el disco duro virtual, por lo que el arranque por dvd ya no es necesario. Iniciar tu sistema virtual recién instalado es tan sencillo como ejecutar:

$ kvm -m 1G -hda MyVirtualHDD.qcow -cdrom /dev/dvd -boot c

Windows 7 recién instalado en KVM

Ahora es el turno de instalar el Adobe Create Suite 4, que viene en 3 dvds. La pregunta es, ¿cómo lo instalo a partir de tres dvds si sólo puedo especificar un dvd cada vez que arranca el sistema virtual? Afortunadamente KVM tiene depende en algunos aspectos de qemu, y qemu tiene un “monitor” del sistema (una sala de control en la analogía con Matrix) donde podemos cambiar algunas propiedades de la máquina virtual de forma dinámica. En concreto tiene una opción para expulsar un dispositivo de bloques (dvd) y cambiarlo por otro (enlace).

Para entrar en el modo monitor hay que pulsar la combinación de teclas control+alt+2. Eso nos llevará a una consola de comandos. Para obtener información de los dispositivos de bloque que hay en la máquina virtual tenemos que ejecutar:

(qemu-monitor) info blocks

Esto producirá una salida parecida a la siguiente:

kvm-monitor: salida de info blocksAhí podemos ver que el identificador del dvd es ‘ide1-cd0’. Sobre él podremos ahora hacer dos operaciones básicas: expulsar su contenido y cambiar la ruta a su imagen. La primera hace en Matrix el equivalente a extraer el dvd de la unidad lectora. La segunda es el equivalente a cambiar el dvd por otro. Así, los pasos a seguir para cambiar el dvd en la máquina virtual utilizando el lector de dvd (/dev/dvd) de la máquina huésped son los siguientes:

    1. Extrae en Windows el medio: botón derecho en la unidad de dvd y pulsa expulsar.
    2. Ejecutar un `info blocks` en el kvm monitor para comprobar si la unidad ha sido extraída.
    3. (opcional) Si la unidad no ha sido extraída ejecutar:
(qemu) eject ide1-cd0
    1. Extraer el dvd del lector físico y cambiarlo por el otro que queramos.
    2. Recargar el medio virtual ejecutando:
(qemu) change ide1-cd0 /dev/dvd

Siguiendo esos pasos es inmediato instalar el Adobe CS4 y cualquier otro software que necesite ser instalado a partir de varios dvds.

Instalación del Adobe CS4 (disco 2 de 3)

Y ya está, el sistema virtual completamente instalado y listo para usarse. Sólo para recordar, el comando para ejecutarlo es:

kvm -m 1G -hda MyVirtualHDD.qcow -cdrom /dev/dvd -boot c

Por último he de reconocer que todo esta información viene de Internet en general y en concreto de estas fuentes:

About

View all posts by

Leave a Reply

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