Xen Setup · 5 min read · Feb 09, 2026
La Configuración Perfecta de Xen 3.0.3 Para Debian Sarge - Página 7
5.2 Crear Una Máquina Virtual (domU)
(¡Por favor nota: la creación de imágenes depende de si instalaste Xen desde las fuentes o desde los binarios. Si instalaste Xen desde las fuentes, por favor consulta el capítulo 4.4!)
A continuación, creamos una imagen de una máquina virtual. Será un sistema básico de Debian. Esta imagen será la plantilla para todas nuestras máquinas virtuales. Siempre que queramos crear una nueva máquina virtual, simplemente copiamos esta imagen, creamos un nuevo archivo de configuración de Xen y arrancamos la copia, y luego podemos continuar y configurar la copia según nuestras necesidades (por ejemplo, instalar un servidor de correo, servidor web, servidor DNS, etc. en ella). Todas nuestras imágenes estarán en la partición /vserver que debería ser la más grande que tengamos.
mkdir /vserver/vm_base
mkdir /vserver/imagesAhora creamos un archivo de imagen de 1 GB y una imagen de swap de 500 MB. Al final, las máquinas virtuales tendrán 1 GB de espacio y 500 MB de swap. Estos son solo valores de ejemplo, en el mundo real podrías querer tener más espacio para tus máquinas virtuales (por ejemplo, entre 5 y 30 GB), así que simplemente aumenta el valor de count para crear imágenes más grandes.
dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500Luego formateamos /vserver/images/vm_base.img con ext3 y vm_base-swap.img con swap:
mkfs.ext3 /vserver/images/vm_base.imgCuando veas lo siguiente, responde con y:
/vserver/images/mail.img no es un dispositivo especial de bloque.
¿Proceder de todos modos? (y,n) <-- ymkswap /vserver/images/vm_base-swap.img5.2.1 Instalar Un Debian Básico En La Imagen
Para instalar un sistema básico de Debian en nuestra imagen, montamos la imagen, ejecutamos debootstrap y algunos otros comandos:
mount -o loop /vserver/images/vm_base.img /vserver/vm_base
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debianchroot /vserver/vm_base
apt-setupSe te hará la siguiente pregunta:
Método de acceso al archivo para apt: <– http
Luego selecciona un espejo cercano a ti.
Después, edita /etc/apt/sources.list y reemplaza testing con stable. Así es como se ve mi /etc/apt/sources.list:
vi /etc/apt/sources.list| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |
Luego ejecuta
apt-get updateAhora configuramos nuestras locales. Si no hacemos esto ahora, veremos algunas advertencias feas durante la configuración base como estas:
| perl: advertencia: La configuración de la locale falló. perl: advertencia: Por favor verifica que tu configuración de locale: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (no establecido), LANG = "en_US" son soportadas e instaladas en tu sistema. perl: advertencia: Volviendo a la locale estándar ("C"). locale: No se puede establecer LC_CTYPE a la locale predeterminada: No existe tal archivo o directorio locale: No se puede establecer LC_MESSAGES a la locale predeterminada: No existe tal archivo o directorio locale: No se puede establecer LC_ALL a la locale predeterminada: No existe tal archivo o directorio |
No son graves, pero son feas… Así que ejecutamos
apt-get install localeconfSe te harán algunas preguntas:
Seleccionar locales a generar. <– en_US ISO-8859-1
¿Qué locale debería ser la predeterminada en el entorno del sistema? <– en_US
¿Gestionar archivos de configuración de locale con debconf? <– Sí
Configuraciones de entorno que deberían anular la locale predeterminada: <– no seleccionar nada
¿Reemplazar archivos de configuración de locale existentes? <– Sí
Locale predeterminada del sistema: <– por ejemplo, en_US ISO-8859-1
A continuación ejecuta
base-configVerás un menú con opciones de instalación. Esto es lo que hacemos:
- Configurar zona horaria
- Configurar usuarios y contraseñas
- Seleccionar e instalar paquetes (cuando se trata de Elegir software para instalar:, puedes elegir lo que quieras; sin embargo, yo elijo nada porque quiero instalar un sistema básico.)
- Terminar de configurar el sistema base
No te ocupes de los otros elementos del menú, no los necesitas. Luego eliminamos nfs-common y borramos /etc/hostname:
apt-get remove nfs-commonLuego edita /etc/fstab. Debería verse así:
vi /etc/fstab| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |
Luego crea /etc/hosts:
vi /etc/hosts| 127.0.0.1 localhost.localdomain localhost # Las siguientes líneas son deseables para hosts capaces de IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
Luego haz esto:
mkdir /lib/modules/2.6.16.29-xen
depmod 2.6.16.29-xenA continuación editamos los scripts /etc/init.d/hwclock.sh y /etc/init.d/hwclockfirst.sh y añadimos la línea exit 0 justo al principio porque de lo contrario estos dos scripts realmente ralentizarán el arranque de nuestras máquinas virtuales:
vi /etc/init.d/hwclock.sh| #!/bin/sh # hwclock.sh Establecer y ajustar el reloj CMOS, de acuerdo con la UTC # configuración en /etc/default/rcS (ver también rcS(5)). # # Versión: @(#)hwclock.sh 2.00 14-Dic-1998 [email protected] # # Parche: # 2000-01-30 Henrique M. Holschuh <[email protected]> # - Cambios cosméticos menores en un intento de ayudar a nuevos # usuarios a notar que algo ESTÁ cambiando sus relojes # durante el inicio/apagado. # - Comentarios añadidos para alertar a los usuarios sobre problemas de hwclock # y desincentivar la manipulación sin la lectura adecuada de documentos. # ADVERTENCIA: Por favor lee /usr/share/doc/util-linux/README.Debian.hwclock # antes de cambiar este archivo. Riesgas un comportamiento serio del reloj # de lo contrario. exit 0 [...] |
vi /etc/init.d/hwclockfirst.sh| #!/bin/bash # hwclockfirst.sh Establecer el reloj del sistema al reloj de hardware, de acuerdo con la UTC # configuración en /etc/default/rcS (ver también rcS(5)). # # # ADVERTENCIA: Se ejecuta sin permiso de escritura en /etc, y antes # de montar todos los sistemas de archivos! Si necesitas permiso de escritura # para hacer algo, hazlo en hwclock.sh. # # ADVERTENCIA: Si tu reloj de hardware no está en UTC/GMT, este script # debe conocer la zona horaria local. Esta información está # almacenada en /etc/localtime. Esto podría ser un problema si # tu /etc/localtime es un enlace simbólico a algo en # /usr/share/zoneinfo Y /usr no está en la partición raíz! # La solución es definir TZ ya sea # en /etc/default/rcS, o en el lugar adecuado a continuación. # # ¡RECUERDA EDITAR hwclock.sh TAMBIÉN! # Establece esto a cualquier opción que puedas necesitar dar a hwclock, tales # como el tipo de reloj de hardware de la máquina para Alphas. exit 0 HWCLOCKPARS= [...] |
Ahora salimos del entorno chroot:
exitLuego desmontamos la imagen:
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled
fuser -k /vserver/vm_base
umount /vserver/vm_base¡Ahora nuestra plantilla de imagen de máquina virtual está lista!
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.