Xen Installation · 4 min read · Oct 22, 2025

Instalando Xen en un servidor Ubuntu 8.04 (Hardy Heron) desde los repositorios de Ubuntu - Página 2

3 Creando Máquinas Virtuales (domU)

Ahora vamos a crear nuestro primer dominio invitado, xen1.example.com, ejecutando Hardy Heron (hardy) con la dirección IP 192.168.0.101:

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Muchos de los parámetros 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. ¡Asegúrate de especificar –ide, de lo contrario tu máquina virtual podría no arrancar!

(Para aprender más sobre las opciones disponibles, echa un vistazo a la página del manual de xen-create-image:

man xen-create-image

)

El comando xen-create-image ahora creará la máquina virtual xen1.example.com para nosotros. Esto puede tardar unos minutos. La salida debería ser similar a esta:

root@server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
> --dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
> --initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
> --mirror=http://archive.ubuntu.com/ubuntu/ --passwd  
  
Información General  
--------------------  
Hostname       :  xen1.example.com  
Distribución   :  hardy  
Particiones     :  swap            256Mb (swap)  
                  /               2Gb   (ext3)  
Tipo de imagen :  sparse  
Tamaño de memoria :  64Mb  
Ruta del kernel :  /boot/vmlinuz-2.6.24-16-xen  
Ruta de Initrd :  /boot/initrd.img-2.6.24-16-xen  
  
Información de Red  
----------------------  
Dirección IP 1   : 192.168.0.101 [MAC: 00:16:3E:62:DA:BB]  
Máscara de red      : 255.255.255.0  
Difusión      : 192.168.0.255  
Puerta de enlace      : 192.168.0.1  
  
  
Creando imagen de partición: /home/xen/domains/xen1.example.com/swap.img  
Hecho  
  
Creando swap en /home/xen/domains/xen1.example.com/swap.img  
Hecho  
  
Creando imagen de partición: /home/xen/domains/xen1.example.com/disk.img  
Hecho  
  
Creando sistema de archivos ext3 en /home/xen/domains/xen1.example.com/disk.img  
Hecho  
Método de instalación: debootstrap  
Hecho  
  
Ejecutando hooks  
Hecho  
  
No se especificaron scripts de rol.  Saliendo  
  
Creando archivo de configuración de Xen  
Hecho  
Configurando la contraseña de root  
Introduce nueva contraseña UNIX:  
Vuelve a escribir nueva contraseña UNIX:  
passwd: contraseña actualizada con éxito  
Todo listo  
  
  
Archivo de registro producido en:  
         /var/log/xen-tools/xen1.example.com.log  
root@server1:~#

Ahora debería haber un archivo de configuración xen1.example.com - /etc/xen/xen1.example.com.cfg. Échale un vistazo para familiarizarte con los archivos de configuración de máquinas virtuales:

cat /etc/xen/xen1.example.com.cfg

| # Archivo de configuración para la instancia Xen xen1.example.com, creado # por xen-tools 3.8 el Mar May 6 16:01:38 2008. # # Kernel + tamaño de memoria # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' # # Dispositivo(s) de disco. # root = '/dev/hda2 ro' disk = [ 'file:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'file:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] # # Nombre de host # name = 'xen1.example.com' # # Red # vif = [ 'ip=192.168.0.101,mac=00:16:3E:62:DA:BB' ] # # Comportamiento # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra = '2 console=xvc0' |

El parámetro file: ahora está obsoleto en Xen 3.2, por lo tanto, debemos editar /etc/xen/xen1.example.com.cfg ahora y reemplazar file: con tap:aio: (de lo contrario, obtendrás un error similar a este:

Error: Device 769 (vbd) could not be connected. losetup /dev/loop0 /home/xen/domains/xen1.example.com/swap.img failed

cuando intentes iniciar una máquina virtual - consulta http://ubuntuforums.org/showthread.php?t=770902 también):

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

| [...] disk = [ 'tap:aio:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] [...] |

(Nota: si tienes un CPU de doble núcleo y deseas que la máquina virtual use ambos núcleos de CPU, por favor añade la línea vcpus = ‘2’ al archivo de configuración, así:

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

| # Archivo de configuración para la instancia Xen xen1.example.com, creado # por xen-tools 3.8 el Lun May 5 16:49:32 2008. # # Kernel + tamaño de memoria # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' vcpus = '2' [...] |

Después, en la máquina virtual, puedes ejecutar el comando

cat /proc/cpuinfo

para verificar que ambos núcleos de CPU están siendo utilizados por la máquina virtual. La salida podría verse así si tu máquina virtual está usando ambos núcleos:

xen1:~# cat /proc/cpuinfo  
processor       : 0  
vendor_id       : AuthenticAMD  
cpu family      : 15  
model           : 75  
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu MHz         : 2210.054  
cache size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
processor       : 1  
vendor_id       : AuthenticAMD  
cpu family      : 15  
model           : 75  
model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu MHz         : 2210.054  
cache size      : 512 KB  
fdiv_bug        : no  
hlt_bug         : no  
f00f_bug        : no  
coma_bug        : no  
fpu             : yes  
fpu_exception   : yes  
cpuid level     : 1  
wp              : yes  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
xen1:~#

)

Para iniciar la máquina virtual, ejecuta

xm create /etc/xen/xen1.example.com.cfg

Ejecuta

xm console xen1.example.com

para iniciar sesión en esa máquina virtual (escribe CTRL+] si estás en la consola, o CTRL+5 si estás usando PuTTY para volver a dom0), o utiliza un cliente SSH para conectarte a ella (192.168.0.101).

En la máquina virtual (cuando la uses por primera vez), ejecuta

mv /lib/tls /lib/tls.disabled

Ahora vuelve al sistema host (dom0). Para obtener una lista de las máquinas virtuales en ejecución, escribe

xm list

La salida debería verse así:

root@server1:~# xm list  
Nombre                                        ID   Mem VCPUs      Estado   Tiempo(s)  
Dominio-0                                     0   569     1     r-----    103.6  
xen1.example.com                             1    64     1     -b----     60.8  
root@server1:~#

Para apagar xen1.example.com, haz esto:

xm shutdown xen1.example.com

Si deseas que vm01 se inicie automáticamente en el próximo arranque del sistema, haz esto:

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Aquí están los comandos más importantes de Xen:

xm create -c /path/to/config - Iniciar una máquina virtual.
xm shutdown - Detener una máquina virtual.
xm destroy - Detener una máquina virtual inmediatamente sin apagarla. Es como si apagas el botón de encendido.
xm list - Listar todos los sistemas en ejecución.
xm console - Iniciar sesión en una máquina virtual.
xm help - Lista de todos los comandos.

Vamos a crear una segunda máquina virtual, xen2.example.com con la dirección IP 192.168.0.102:

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Luego abre el archivo de configuración de la máquina virtual, /etc/xen/xen2.example.com.cfg, y reemplaza file: con tap:aio: nuevamente:

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

| [...] disk = [ 'tap:aio:/home/xen/domains/xen2.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen2.example.com/disk.img,hda2,w', ] [...] |

Después, puedes iniciar xen2.example.com así:

xm create /etc/xen/xen2.example.com.cfg

(No olvides ejecutar

xm console xen2.example.com

y

mv /lib/tls /lib/tls.disabled

cuando estés en la máquina virtual por primera vez!)

… y apagarla así:

xm shutdown xen2.example.com

Una lista de todas las máquinas virtuales que fueron creadas con el comando xen-create-image está disponible bajo

xen-list-images
root@server1:~# xen-list-images  
Nombre: xen1.example.com  
Memoria: 64  
IP: 192.168.0.101
Nombre: xen2.example.com  
Memoria: 64  
IP: 192.168.0.102  
root@server1:~#

Para aprender más sobre lo que puedes hacer con xen-tools, echa un vistazo a este tutorial: https://www.howtoforge.com/xen_tools_xen_shell_argo

4 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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