Virtualización con KVM

KVM es una solución para implementar virtualización completa con Linux sobre hardware x86.
Así que aprovechando los recursos con los que cuenta el área de sistemas haremos uso de un servidor ocioso.

El equipo donde realizaremos las pruebas necesarias es un PowerEdge T110 con la 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

http://www.linux-kvm.org/page/FAQ#How_can_I_tell_if_I_have_Intel_VT_or_AMD-V.3F

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.

instalamos 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.

http://www.linux-kvm.org/page/FAQ#.22KVM:_disabled_by_BIOS.22_error

kvm disabled by bios

En el equipo con el que estoy realizando esto 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.

Instalamos qemu para crear nuestros discos virtuales (y muchas cosas mas).

# aptitude install qemu

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 de mi 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 1256 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 -m 1256 -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 1256 -k es -net nic,vlan=0,model=rtl8139 -net tap,vlan=0 -vnc :0

Sistema RHEL instalado y navegando en Internet.

Un SUSE en plena instalación.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: