Xen Management · 4 min read · Oct 23, 2025

Administrando Xen Con Xen-Tools, Xen-Shell Y Argo

Administrando Xen Con Xen-Tools, Xen-Shell Y Argo

Versión 1.0
Autor: Falko Timme

Esta guía describe cómo instalar y usar xen-tools, xen-shell y Argo en un sistema Debian. Los tres paquetes proporcionan herramientas útiles para la administración de máquinas virtuales Xen. Xen-tools es una colección de scripts Perl que te permiten crear, actualizar y eliminar fácilmente dominios invitados de Xen. El xen-shell proporciona una interfaz de línea de comandos a los propietarios de dominios Xen para que puedan gestionar sus dominios Xen sin la ayuda del administrador del servidor. Y con Argo, puedes controlar los dominios Xen a través de una interfaz web o a través de un menú en la línea de comandos. Los tres paquetes fueron desarrollados para sistemas Debian, pero también podrían funcionar en otras distribuciones.

Quiero decir primero que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero esta es la forma que elijo. No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

Asumo que ya has instalado Xen 3 en tu sistema Debian (¡no funciona con Xen 2!), por ejemplo desde las fuentes como se muestra en el capítulo 4 de este tutorial: https://www.howtoforge.com/debian_sarge_xen_3.0.3. No pude hacer que xen-tools funcionara con la instalación binaria de Xen (mostrada en el capítulo 5), pero podría funcionar para ti. Pero xen-tools funcionan de maravilla para mí en una instalación de Xen desde las fuentes.

El nombre de host de mi dominio dom0 de Xen es server1.example.com en este tutorial, su dirección IP es 192.168.0.100, y la puerta de enlace es 192.168.0.1. Quiero almacenar mis dominios invitados en el directorio /vserver/images. Estos valores podrían ser diferentes para ti.

Por favor, asegúrate de tener una línea como esta en /etc/hosts:

vi /etc/hosts

| [...] 192.168.0.100 server1.example.com server1 [...] |

2 Xen-Tools

Aunque hay paquetes de Debian para xen-tools y xen-shell disponibles en http://www.steve.org.uk/apt/, decidí instalar xen-tools y xen-shell desde las fuentes porque el paquete Debian de xen-tools escribió archivos de configuración de Xen inválidos para mí, lo cual no sucedió cuando usé las fuentes.

Primero instalamos algunos requisitos previos para xen-tools:

apt-get install libtext-template-perl perl-doc

Luego instalamos xen-tools de esta manera:

cd /tmp  
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz  
tar xvfz xen-tools-2.7.tar.gz  
cd xen-tools-2.7  
make install

A continuación, editamos /etc/xen-tools/xen-tools.conf. Este archivo contiene los valores predeterminados que son utilizados por el script xen-create-image a menos que especifiques otros valores en la línea de comandos. Cambié los siguientes valores y dejé el resto sin tocar:

vi /etc/xen-tools/xen-tools.conf

| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |

La línea passwd = 1 hace que puedas especificar una contraseña de root cuando creas un nuevo dominio invitado. En la línea del kernel debes especificar el kernel domU que deseas usar para tus dominios invitados. Si tus dominios invitados no necesitan un ramdisk para arrancar, comenta la línea initrd (tuve que hacer esto en mi instalación), de lo contrario, especifica el ramdisk correcto. En la línea del mirror especifica un espejo de Debian cercano a ti.

Asegúrate de especificar una puerta de enlace y una máscara de red. Si no lo haces, y no especificas una puerta de enlace y una máscara de red en la línea de comandos al usar xen-create-image, ¡tus dominios invitados no tendrán red incluso si especificaste una dirección IP!

Ahora vamos a crear nuestro primer dominio invitado, vm03.example.com, con la dirección IP 192.168.0.103:

xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \  
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap

Los switches –netmask y –gateway son innecesarios aquí porque especificamos los mismos detalles en /etc/xen-tools/xen-tools.conf, pero muestra que puedes especificar la configuración deseada ya sea en la línea de comandos o en /etc/xen-tools/xen-tools.conf.

Este comando ahora creará el dominio invitado vm03.example.com con Debian Sarge en él utilizando la herramienta de debootstrap de Debian. Esto tomará algunos minutos, así que ten paciencia. Mientras tanto, puedes abrir otra ventana de shell y ejecutar

tail -f /var/log/xen-tools/vm03.example.com.log

para ver qué está sucediendo tras bambalinas.

Después de que se haya creado el nuevo dominio invitado, verifica /etc/xen/vm03.example.com.cfg. Ahora debería verse así (he eliminado los comentarios aquí):

vi /etc/xen/vm03.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

Podemos iniciar nuestra nueva máquina virtual así:

xm create -c /etc/xen/vm03.example.com.cfg

Con el comando xen-create-image, puedes especificar casi todas las configuraciones en la línea de comandos. Echa un vistazo a

man xen-create-image

para saber más. Aquí hay otro ejemplo:

xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \  
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \  
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwd

Esto creará el dominio virtual vm04.example.com. /etc/xen/vm04.example.com.cfg debería verse así después (nuevamente, he eliminado los comentarios):

vi /etc/xen/vm04.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

Puedes iniciar la nueva máquina virtual así:

xm create -c /etc/xen/vm04.example.com.cfg

También hay otros tres scripts que vienen con xen-tools:

xen-update-image te permite actualizar los paquetes en dominios invitados, por ejemplo, así:

xen-update-image --dir=/vserver/images vm03.example.com

xen-list-images muestra todos los dominios invitados que fueron creados con xen-create-image:

xen-list-images

La salida se ve así:

server1:~# xen-list-images  
Name: vm03.example.com  
Memory: 128   
IP: 192.168.0.103
Name: vm04.example.com  
Memory: 32  
IP: 192.168.0.104

Con xen-delete-image puedes eliminar dominios invitados que fueron creados con xen-create-image:

xen-delete-image --dir=/vserver/images vm03.example.com
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.