hiro protagonist

Guía rápida para crear máquinas virtuales en Debian GNU/Linux con kvm

seajob | 10 Octubre, 2008 14:20

Si tienes un micro moderno (un core 2 Duo de Intel, o un Turion X2/Athlon X2/Phenom de AMD), usar máquinas virtuales creadas con kvm es realmente sencillo, y a mí me resulta muy práctico. Yo los uso para muchas cosas: hacer pruebas sin tener que encerdar la máquina con la que trabajo "de verdad", poder usar aplicaciones que sólo existen para otros sistemas operativo sin tener que reiniciar ni nada por el estilo, probar cosas en otros sistemas, ...

Pero vayamos a lo práctico: ¿cómo se hace? Es bastante fácil.

Preparativos

Si tienes un micro Intel de los que comentaba arriba, puede ser que las instrucciones de virtualización estén desactivadas en la BIOS, así que hay que entrar a activarlas. En concreto, en el HP con el que trabajo pasaba esto, y hubo que meter mano en la pestaña Security de la BIOS. ¿Por qué hacen esto? Pues, francamente, ni idea.

Además, necesitas una imagen ISO de lo que quieras instalar o ejecutar en la máquina virtual para tener de donde empezar. Por ejemplo, si quieres probar OpenSolaris, podéis descargar la siguiente

http://www.belenix.org/binfiles/belenix_0.7.1.iso

Por último, debemos instarlar los paquete qemu y kvm, precargar un par de módulos en el arranque y añadir nuestro usuario al grupo kvm para poder ejecutar máquinas virtuales sin ser root. O sea:

$ sudo apt-get install qemu kvm
$ sudo sh -c "echo kvm >>/etc/modules "
$ sudo sh -c "echo kvm-intel >>/etc/modules"
$ sudo addgroup usuario kvm
	

Por supuesto, donde pone kvm-intel debéis poner kvm-amd si tenéis un micro AMD, y donde pone "usuario" debéis poner vuestro usuario.

Creación de un disco virtual

Una de las cosas cómodas de las máquinas virtuales es que, desde el sistema operativo no virtual, los discos duros son sólo ficheros. De esta forma, es muy fácil tener una copia "limpia" de un sistema operativo, y si queremos hacer alguna prueba, creamos una copia temporal del disco, hacemos la prueba sobre esa copia temporal, y luego vemos si queremos seguir con esa copia o volver a la inicial; todo se arregla borrando un fichero o el otro.

Para crear un disco duro de, por ejemplo, 5GB que se llame discoduro.qcow

$ qemu-img create -f qcow2 discoduro.qcow 5G
	

Una cosa muy interesante del formato qcow2 es que el fichero resultante no ocupa apenas nada, irá creciendo según vayamos copiando datos en la máquina virtual.

Primer arranque e instalación de la nueva máquina virtual

Si la ISO que hemos descargado se llama imagen.iso, para iniciar la instalación no tenemos más que ejecutar:

$ kvm -hda discoduro.qcow -cdrom imagen.iso -boot d -m 512 -k es -std-vga
	

Esto nos arrancará una máquina virtual con 512 MB de RAM como si la hubiésemos arrancado con un cd en el lector, y iniciará la instalación, o el liveCD, o lo que sea.

Ojo a la hora de asignar memoria a la máquina, que ni nos queremos quedar cortos ni queremos dejar al sistema operativo padre sin memoria. Por ejemplo, yo, con 2 GB de RAM, puedo ejecutar 2 máquina virtuales con 384 MB de RAM sin problemas. Y 384 MB es suficiente RAM para las cosas que suelo ejecutar en las máquinas virtuales. No obstante, cada vez que arrancas la máquina eliges cuánta memoria le asignas esa vez, así que puedes hacer pruebas sin mayores problemas.

Uso normal de la máquina virtual

Y ya está. Con esto tienes la máquina creada, lista para ser arrancada cuando lo consideres oportuno con:

$ kvm -hda discoduro.qcow -m 512 -k es -std-vga
	

Por supuesto, mucha más información en man qemu, que las opciones son las mismas.

Tengo pendiente investigar todo lo referente al bridging para poder montar una red entera virtual con la que poder hacer muchas más pruebas. Si saco un rato, en los próximos días veréis algo al respecto por aquí.

 

Comentarios

Añadir comentario
 authimage
 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by LifeType - Design by BalearWeb