Hola Taringueros! les dejo un tutorial donde describo los pasos que seguí para realizar desde cero la instalación de Xen en Linux.
Los pasos básicos son:
Paso 1: Instalar el sistema operativo
Paso 2: Instalar Xen
Paso 3: Configurar el booteo
Paso 4: Terminar de configurar Xen
Paso 5: Crear una máquina virtual
Paso 1: Instalar el sistema operativo
El sistema operativo que utilicé es debian 6.0.2.1 Squeeze de 64 bits (amd64) con entorno Lxde. El entorno gráfico es útil en el caso en que deseen utilizar alguna herramienta gráfica para gestionar las máquinas virtuales (crear, borrar, iniciar, parar, etc.).

Aquí en T! hay un buen tutorial de @DarkGnuX que muestra paso a paso la instalación de Debian Squeeze. Link:
Una vez instalado el sistema operativo, se deben agregar los repositorios necesarios para poder instalar Xen. Para ello se debe editar el archivo sources.list por ejemplo desde un terminal logueados como root escribir el comando
nano /etc/apt/sources.list
y agregar por ejemplo las líneas
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
(no olvidar comentar o borrar la línea cd rom)
Luego guardar los cambios y ejecutar
apt-get update
Paso 2: Instalar Xen
Para instalar Xen ejecutar desde la terminal:
apt-get install xen-linux-system xen-utils xenstore-utils xen-tools
Luego editar el archivo /etc/xen/xend-config.sxp de la siguiente manera:
comentar la línea:
(network-script network-dummy)
descomentar las líneas:
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem-196)
(dom0-cpus 0)
para crear máquinas virtuales basadas en imagen asegurarse que /etc/modules tenga la línea
loop max_loop=64
Luego ejecutar
apt-get install libvirt-bin virtinst bridge-utils
y reiniciar
Paso 3: Configurar el booteo
Al ejecutar uname -r el nuevo kernel xen debería mostrar por ejemplo
"2.6.32-5-xen-amd64"
escribir en la terminal xm dmesg y si se tiene la siguiente salida
"WARNING! Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend
running?"
Significa que se está corriendo sobre un kernel xen pero no en el hypervisor, esto quiere decir que no se pueden crear máquinas virtuales. Para cambiar esto, se debe modificar el orden de booteo.
En Debian Squeeze se dispone de GRUB2 por lo que /boot/grub/menu.lst se reemplaza por /boot/grub/grub.cfg. Se debe ver cual es la entrada del kernel correcto con el comando
grep menuentry /boot/grub/grub.cfg
por ejemplo, el kernel que se debe usar es
“Debian GNU/Linux, with Linux 2.6.32-5-xen-amd64 and XEN 4.0-amd64”
y está en la posición 4.
Editar /etc/default/grub para cambiar la entrada por defecto
GRUB_DEFAULT=4
actualizar el grub y reiniciar
update-grub
reboot
Luego de reiniciar se debe comprobar nuevamente que está ejecutando el hypervisor con el comando
xm dmesg
entonces si se obtiene algo como
"(XEN) Xen version 4.0.1 (Debian 4.0.1-2) ([email protected]) (gcc version 4.4.5 (Debian 4.4.5-
10) ) Wed Jan 12 14:04:06 UTC 2011
(XEN) Bootloader: GRUB 1.98+20100804-14
(XEN) Command line: placeholder
...
...
(XEN) Freed 176kB init memory."
significa que el hypervisor está corriendo.
Paso 4: Terminar de configurar Xen
Para crear máquinas virtuales se utiliza la herramienta xen-tools.
El archivo /etc/xen-tools/xen-tools.conf contiene valores por defecto que son usados al crear máquinas virtuales.
Crear el directorio xen para almacenar las imágenes de las máquinas virtuales. Por ejemplo puede crearse en el directorio /home
mkdir /home/xen
se debe especificar el directorio recién creado en el archivo de configuración xen-tools.conf
este es mi archivo de configuración:
[...]
dir = /home/xen
[...]
# lvm = vg0 #debe estar comentado si se crean mv basadas en imágen
[...]
dist = `xt-guess-suite-and-mirror --suite` # Default distribution to install.
[...]
gateway = 192.168.0.1
netmask = 255.255.255.0
broadcast = 192.168.0.255
#si no se especifica un gateway y netmask y en la línea de comandos tampoco
#se especifican, el guest no tendrá red aún especificando una dirección ip en la
#línea de comandos
[...]
passwd = 1 #hace que solicite una contraseña para root al crear un dominio
[...]
kernel = /boot/vmlinuz-`uname -r` #xen 4.0 permite que se usen kernels no xen
initrd = /boot/initrd.img-`uname -r`
[...]
mirror = `xt-guess-suite-and-mirror --mirror`
[...]
serial_device = hvc0 #default
[...]
disk_device = xvda #default
serial_device = hvc0 #si no se especifica este parámetro, las mv pueden no
#bootear correctamente
mirror = http://ftp.fr.debian.org/debian/
disk_device = xvda #hace que los discos virtualizados se denominen xvda1, xvda2,
#etc. Esta configuración es correcta para un guest Debian Squeeze; cuando guests
#Ubuntu usan un kernel no xen,puede no bootear, pero esto puede sobreescribirse
#incluyendo --scsi en el comando xen-create-image en este caso, los discos
#virtualizados se llamarán sda1, sda2, etc.
cuando Xen se apaga o se reinicia, trata de salvar el estado de las redes dom. Para evitar problemas en los casos que la pc se reinicia se deben editar algunas líneas en /etc/default/xendomains.
Agregar lo siguiente:
XENDOMAINS_RESTORE=false
XENDOMAINS_save=””
En /etc/xen/xend-config.sxp habilitar el network bridge descomentando la línea existente para
habilitarlo:
(network-script 'network-bridge antispoof=yes')
luego ejecutar
chmod +x /etc/xen/scripts/*
y después reiniciar
Paso 5: Crear una máquina virtual
Para crear una máquina virtual se debe ejecutar desde un terminal
xen-create-image --hostname=nombremv --size=5Gb --swap=256Mb --ide --ip=192.168.0.11 --netmask=255.255.255.0 --gateway=192.168.0.1 --force --dir=/home/xen --memory=128Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.26-2-xen-686 --debootstrap --dist=lenny --mirror=http://ftp.fr.debian.org/debian/ --passwd
en este comando se asigna el hostname, tamaño de disco duro, cantidad de swap, tipo de disco, dirección ip, netmask, gateway, el directorio donde instalarla, ram, arquitectura, kernel para usar, método de instalación, distribución, mirror para descargar y por último, que nos pregunte la pass de root cuando termine de instalar. Estos parámetros se pueden cambiar según los requerimientos.
Si no se especifica algún dato como parámetro, se utilizan los parámetros del archivo /etc/xen-tools/xen-tools.conf
Crear la instancia de la maquina virtual con
xm create /etc/xen/nombremv.cfg
donde nombremv es el nombre de la máquina virtual.
Para que la máquina virtual reinicie en el próximo booteo del sistema ejecutar
mkdir /etc/xen/auto
ln -s /etc/xen/nombremv.cfg /etc/xen/auto
Ya tenemos instalado Xen y se tenemos creada una máquina virtual!!!!
Comandos útiles
Ver las máquinas virtuales que están corriendo
xm list
Crear la instancia de la maquina virtual (carga la máquina virtual)
xm create /etc/xen/nombremv.cfg
Mostrar las máquinas virtuales en tiempo real
xm top
Apagar la mv
xm shutdown /etc/xen/nombremv.cfg
o también se puede usar
xm shutdown nombremv
Apagar la máquina virtual de forma forzada (no borra la maquina. Es como desconectarle la energia)
xm destroy /etc/xen/nombremv.cfg
o también se puede usar
xm destroy nombremv
Cambiar la cantidad de memoria (ajusta la cantidad de memoria que puede utilizar la máquina virtual en caliente)
xm mem-set
Ingresar a una máquina virtual desde la consola
xm console nombremv
Por último, para gestionar nuestras máquinas de forma más cómoda lo podemos hacer gráficamente usando Xenman
instalar Xenman con
apt-get install xenman
se puede abrir Xenman ejecutando con el usuario root el comando
convirt
Bueno amigos esto es todo!!!
espero que les sea de mucha ayuda este post que es mi primer post
Dudas o ayuda mandame un mensaje
Seguime si te gustó mi aporte
A favoritos si querés volver!
Gracias @k3ch0o por las barras separadoras!!

