Curso Avanzado de Virtualización Clase 7
Temario Qué es KVM?...3 Instalando los paquetes necesarios...3
Qué es KVM? Kernel-based Virtual Machine o KVM, (en español, Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux sobre hardware x86. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20. KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc. El equipo donde realizaremos las pruebas necesarias con KVM debe ser una distribución Debian Lenny instalada a partir de su versión net-install, por lo cual contaremos con un sistema básico pero mas que suficiente para nuestro cometido. A medida que necesitemos paquetes los instalaremos según se requiera, cabe resaltar que el modulo KVM ya se encuentra incluido en nuestro kernel instalado con nuestra distribución. Antes que nada debemos verificar que el procesador del equipo soporte la virtualización. $ egrep '^flags.*(vmx svm)' /proc/cpuinfo Si el comando anterior nos arroja algún resultado nuestro procesador es idóneo para la virtualización en caso contrario no podremos hacer uso de KVM. Instalando los paquetes necesarios # aptitude install kvm kvm-source En la medida que se configuran los paquetes de manera automática en debian, si recibimos las siguientes lineas es por que no habilitamos en el BIOS de nuestro equipo la opción de virtualización. Setting up kvm (72+dfsg-5~lenny5)... FATAL: Error inserting kvm_intel (/lib/modules/2.6.26-2- 686/kernel/arch/x86/kvm/kvm-intel.ko) : Operation not supported Module kvm_intel failed to load failed! invoke-rc.d: initscript kvm, action "start" failed. kvm disabled by bios Por lo general (puede variar según cada modelo de mother) entramos a la configuración del BIOS, en el menú de Processor Settings encontraremos la opción llamada Virtualization Technology la cual deberemos habilitar para poder trabajar con la virtualización por hardware. Ahora vamos a instalar qemu para crear nuestros discos virtuales (y muchas cosas mas). # aptitude install qemu - 3 -
Si pretendemos que nuestras maquinas virtuales sean a nivel de red como un dispositivo físico mas debemos instalar el siguiente paquete y configurar ciertos parámetros en nuestro sistema anfitrión para poner su red en modo bridge. # aptitude install bridge-utils Debemos realizar unos cambios en nuestro archivo de configuración de red para modificar las interfaces, el contenido del archivo interfaces (/etc/network/interfaces) es el siguiente: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.1.161 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.254 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off Reiniciamos los servicios de red. # /etc/init.d/networking restart Hecho esto al asignarle una dirección IP a nuestra maquina virtual esta sera como cualquier otro dispositivo en la red. Realizaremos una instalación para ver que tal luce la nueva beta de Red Hat en su versión 6, la cual podemos descargar desde el siguiente enlace ftp://ftp.redhat.com/pub/redhat/rhel/beta/6/i386/iso/rhel6.0-20100414.0-ap-i386-dvd1.iso Creamos un disco duro de unos 30 GB. $ qemu-img create disk.rhel -f qcow2 30G Formatting 'disk.rhel', fmt=qcow2, size=31457280 kb Iniciamos la maquina virtual indicando que inicie desde cdrom a partir de una imagen ISO para instalar el sistema, asignamos 512 MB de memoria RAM, le indicamos modelo y parámetros de tarjeta de red, teclado en español e iniciar un servicio VNC para visualizar la maquina virtual. # kvm -hda disk.rhel -cdrom../rhel6.0-20100414.0-ap-i386-dvd1.iso -boot d - 4 -
-m 512 -k es -net nic,vlan=0,model=rtl8139 -net tap,vlan=0 -vnc :0 Terminada la instalación ahora iniciamos desde la imagen del disco duro. # kvm -hda disk.rhel -m 512 -k es -net nic,vlan=0,model=rtl8139 -net tap,vlan=0 -vnc :0 Lamentablemente las pruebas de virtualizacion solo pueden ser realizadas en cierto hardware, pues se requieren procesadores con funciones de virtualizacion, muchos MB de memoria RAM y muchos GB de espacio libre en disco. - 5 -