enchufado
   RSS
#
Virtualizando con KVM en Debian (Virtualización) 2010-03-23 13:51:00

Las siglas KVM responden a Kernel-based Virtual Machine, y supone una solución de virtualización integrada en el kernel Linux desde la versión 2.6.20.

¿Qué se necesita para usarlo? Una máquina con arquitectura x86, un microprocesador con extensiones de virtualización por hardware (Intel VT o AMD-V) y un kernel Linux >=2.6.20. El proceso que aquí se describe se realizó con una Debian testing (que actualmente se corresponde con squeeze). ¿Cómo comprobar si se tiene un procesador con estas extensiones? Bien podemos lanzar un egrep '^flags.*(vmx|svm)' /proc/cpuinfo, bien podemos (en kernels precompilados) intentar cargar uno de los módulos correspondientes a nuestro micro (modprobe kvm-intel ó modprobe kvm-amd). Si en el primer caso obtenemos unas lineas de texto, o en el segundo la operación terminó de modo silencioso, podemos decir que disponemos de las ansiadas extensiones.

Lo siguiente que haremos será instalar las aplicaciones -necesarias- en la máquina que hospedará las máquinas virtuales (comunmente conocida como host): el userspace component (kvm) y alguna interfaz de gestión remota (p.ej. virt-manager, aunque hay toda una caterba entre las cuales elegir, varias de ellas basadas en libvirt). De paso, también instalaremos las bridge-utils, pues usaremos este modo de red.

A continuación, creamos el bridge: editamos el archivo /etc/network/interfaces y, suponiendo que sólo teníamos una interfaz configurada, la cosa quedaría así (sussituir los datos de red por los que toquen):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
        address 192.168.0.100
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        bridge_ports eth0

Hecho esto, reiniciamos la red (o simplemente la máquina, dado que el script que se encarga de esto no acostumbra a ser de utilidad en casos como este) para tener el bridge montado. Con esto, ¡ya podemos hacer la instalación de nuestra primera máquina virtual! Podríamos hacerlo desde la consola interactiva virsh, desde un Desktop con virt-manager (algo realmente fácil y cómodo) o desde la consola llanamente. Haremos ésto último (tranquilos, ¡ya habrá tiempo de usar el modo gráfico!), por ejemplo, lanzando lo siguiente: virt-install --connect qemu:///system -n Nombre_VM -r 512 --vcpus=2 -f ~/Nombre_disco.qcow2 -s 12 -c ISO_o_dispositivo_cdrom --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm -k es

Ahora, en la máquina desde la cual queramos gestionar las máquinas virtuales (que suele ser un Desktop para poder hacer la gestión de modo gráfico), instalaremos el antes mencionado virt-manager. Luego lo ejecutaremos, añadiremos una conexión contra el host (Menú Archivo, opción Add connection), le diremos que el Hypervisor es KVM y que la Conexión será un Túnel sobre ssh remoto (para esto, ¡asegúrate que tienes acceso ssh al host!). Con esto, ya deberías tener listada la máquina virtual que acabamos de crear en el anterior párrafo, y sólo queda conectarse a ella. Dejo al lector la tarea de investigación de las posibilidades que ofrece virt-manager :)

Para vuestro interés, e aquí la lista de hosts soportados, la lista de guests soportados y un buen enlace de referencia. Ah, y este pantallazo de virt-manager conectado a un host que gestiona un par de máquinas virtuales.


Comentarios (12)


Volver al indice

login, admin, form, register