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-docLuego 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 installA 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 --debootstrapLos 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.logpara 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.cfgCon el comando xen-create-image, puedes especificar casi todas las configuraciones en la línea de comandos. Echa un vistazo a
man xen-create-imagepara 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/ --passwdEsto 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.cfgTambié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.comxen-list-images muestra todos los dominios invitados que fueron creados con xen-create-image:
xen-list-imagesLa salida se ve así:
server1:~# xen-list-images
Name: vm03.example.com
Memory: 128
IP: 192.168.0.103Name: vm04.example.com
Memory: 32
IP: 192.168.0.104Con xen-delete-image puedes eliminar dominios invitados que fueron creados con xen-create-image:
xen-delete-image --dir=/vserver/images vm03.example.comRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.