He estado jugando un poco con Xen últimamente y me he montado un servidor con varias máquinas virtuales corriendo siempre sobre xen, usando software libre siempre.

Bueno la instalación es principalmente para poder tener varias máquinas corriendo y cada una de ellas proporcionando un servicio concreto, como un servidor Ldap y un Oracle 10g y todos los servicios en una sola máquina física. Si algo se rompe (autentificación sobre todo), pues cogemos la clonamos y listo en 1 minuto.

Para llevar a cabo la instalación seguiremos unos pasos muy sencillos y rápidos.

Paso 1
Necesitamos instalar el hypervisor, el núcleo apropiado y las herramientas necesarias para poder crear las máquinas virtuales y manejarlas, y todo ello se puede instalar mediante un solo paquete.

servidor~# yum install kernel-xen xen

Una vez instalado reiniciamos y arrancamos con el kernel apropiado.

Paso 2
Ya estamos listos para comenzar a generar nuestras máquinas virtuales, podemos comenzar mostrando el listado de máquinas virtuales que tenemos arrancadas.

servidor~# xm list

Paso 3

Crearemos ahora una máquina virtual, es muy sencillo y tarda muy poco tiempo:

servidor~# virt-install

What is the name of your virtual machine? <– vm01
How much ram should be allocated (in megabytes)? <– 256
What would you like to use as the disk (path)? <– /vm/vm1.img
How large would you like the disk (/vm/vm01.img) to be (in gigabytes)? <– 4
Would you like to enable graphics support? (yes or no) <– no
What is the install location? <– http://wftp.tu-chemnitz.de/pub/linux/centos/5.2/os/i386

Paso 4

Ya tenemos generada nuestra máquina virtual en el directorio indicado (en esta caso /vm), y se ha generado en el directorio /etc/xen el fichero de configuración vm1 que contiene los parámetros necesarios para arrancar la máquina

Paso 5

Arrancaremos la máquina muy fácilmente:

servidor~# xm create vm1

Podemos ver el estado de la máquina:

servidor~# xm list
Name                                  ID   Mem(MiB)   VCPUs      State     Time(s)
Domain-0                             0      267              2             r—–      798.5
vm1                                     9      255              1             -b—-     28.2
Para tomar el control de la máquina como si estuviésemos denlante de ella:

servidor~# xm console vm1

Para parar una máquina:

servidor~# xm shutdown vm1

También podemos parar de golpe una máquina sin tener que esperar a que se apague:

servidor~# xm destroy vm1

Paso 6

Por último, si queremos que una máquina se arranque sola en el arranque de la máquina física, tan solo tenemos que hacer lo siguiente:

servidor~# ln -s /etc/xen/vm1 /etc/xen/auto/