Introducción:
En este tutorial, se creará una nueva máquina virtual basada en la distribución Debian Jessie desde cero con componentes mínimos.
Suposición:el hipervisor Xen ya debería estar instalado y ejecutándose en el sistema principal (DOM0).
Creación de la máquina virtual Xen
Esta máquina virtual se creará con las herramientas xen que arrancan la creación de la VM.
Bootstrapping: mkdir -p /virtual/xen/
cd /virtual/xen/
xen-create-image --dir=. --dist=jessie --hostname=mail.myserver.com --size=10Gb --swap=2048Mb --ip=87.176.10.167 --gateway=87.176.10.254 --netmask=255.255.255.0 --memory=4096Mb --arch=amd64 --role=udev
Instalar el kernel y pyGrub
– Coloque el disk.img y el swap.img producidos en la ruta adecuada.
p. ej. en /virtual/xen/MAIL/
Montar la imagen de disco en buclemkdir /mnt/MAIL
mount /virtual/xen/MAIL/disk.img /mnt/MAIL -o loop,rw
Monte /sys, /proc, /dev y haga chroot en élmount /proc /mnt/MAIL/proc -o bind
mount /sys /mnt/MAIL/sys -o bind
mount /dev /mnt/MAIL/dev -o bind
chroot /mnt/MAIL
Instalar grub-legacy en VMapt-get update
apt-get install grub-legacy linux-image-3.2.0-4-amd64 mc
mkdir /boot/grub
mcedit /boot/grub/menu.lst
CONTENT:
#----------------
default 0
timeout 2
#
title Debian GNU/Linux
root (hd0,0)
kernel /vmlinuz root=/dev/xvda1 ro
initrd /initrd.img
#
title Debian GNU/Linux (recovery mode)
root (hd0,0)
kernel /vmlinuz root=/dev/xvda1 ro single
initrd /initrd.img
#-------------
Deje chroot y desmonte todo.exit
umount /mnt/MAIL/dev
umount /mnt/MAIL/sys
umount /mnt/MAIL/proc
umount /mnt/MAIL/
Ajuste la configuración de VM xen (/etc/xen/mail.server.com.cfg ) de la siguiente manera:
Reemplace las líneas kernel e initrd anteriores en el archivo de configuración de Xen DOMu de la siguiente manera:
Ejemplo:REPLACE:
kernel = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-amd64'
CON:
Para el hipervisor de compresión de Debian:bootloader = '/usr/lib/xen-default/bin/pygrub'
Para el hipervisor Debian Wheezy:bootloader = '/usr/lib/xen-4.1/bin/pygrub'
Para el hipervisor Debian jessie:bootloader = '/usr/lib/xen-4.4/bin/pygrub'
Ajuste las rutas de los discos correctamente:
Ejemplo:disk = [
'file:/virtual/xen/MAIL/disk.img,xvda2,w',
'file:/virtual/xen/MAIL/disk.swp,xvda1,w',
]
Pruebe la configuración de pyGRUB con el disco de la VM
Nota:Debería aparecer un menú de GRUB durante unos segundos y luego desaparecer con un mensaje de error. Ignora el mensaje de error. Lo más importante es que aparece el menú Grub.
Para el hipervisor de compresión de Debian:/usr/lib/xen-default/bin/pygrub /virtual/xen/MAIL/disk.img
Para el hipervisor Debian Wheezy:/usr/lib/xen-4.1/bin/pygrub /virtual/xen/MAIL/disk.img
Para el hipervisor Debian jessie:/usr/lib/xen-4.4/bin/pygrub /virtual/xen/MAIL/disk.img
Inicie la VM
Debería aparecer el menú Grub y comenzar a arrancar.xm create /etc/xen/mail.server.com.cfg -c
Nota importante: Normalmente, después de tal Bootstrap de una nueva VM Xen, la VM usa el kernel Hypervisor al arrancar. Esto significa que cada VM no puede actualizar su kernel de forma independiente. Este método anterior hace que la VM sea completamente independiente del kernel Hypervisor y obtiene su propio kernel. La única desventaja que veo es que con algunas actualizaciones del kernel, el archivo /boot/grub/menu.lst se reemplaza automáticamente durante la actualización del kernel, luego NECESITA recuperar el /boot/grub/menu.lst anterior que normalmente se guarda en / boot/grub/menu.lst~ antes de reiniciar la máquina virtual. En caso de que lo haya olvidado, simplemente monte la imagen de la VM en bucle como se explicó anteriormente y reemplace el archivo según sea necesario. Luego debería poder iniciar la VM.