Mostrando entradas con la etiqueta paravirtualización. Mostrar todas las entradas
Mostrando entradas con la etiqueta paravirtualización. Mostrar todas las entradas

miércoles, 16 de mayo de 2012

XenServer - Ubuntu 12.04

Hola! vamos a ver como instalar Ubuntu12.04 en XenServer. Como siempre utilizo el metodo HVM y luego la conversión a PV.

Instalamos desde la ISO como un "Other Install Media", poniendo así el espacio de disco, RAM y CPU que queramos, arrancamos desde CD e instalamos Ubuntu. A tener en cuenta: 
  • Utilizar EXT3 o si quereis utilizar EXT4, hay que tener la partición /boot en un disco EXT3 o EXT2
  • Utilizar un particionado personalizado y poner que la Swap sea el disco xdva1 y la raiz (o el disco susceptible a ser ampliado como xvda2) o mejor ahun, no pongas Swap (si hace falta, la montas luego como un VDI aparte ;)
Una vez instalado ajustamos la máquina para que sea paravirtual. 

  1. apt-get install linux-virtual
  2. cd /boot/ y  hacemos lo siguiente:
root@ubuntu12:/boot# ln -s vmlinuz-3.2.0-24-virtual vmlinuz.xen
root@ubuntu12:/boot# ln –s initrd.img-3.2.0-24-virtual initrd.img.xen

Nos conectamos al Dom0 y modificamos los siguientes parametros de la máquina virtual:
xenserver# xe vm-param-set uuid= HVM-boot-policy=""

xenserver# xe vm-param-set uuid= HVM-boot-params=""

xenserver# xe vm-param-set uuid= HVM-shadow-multiplier=""

xenserver# xe vm-param-set uuid= PV-bootloader-args="--kernel=/boot/vmlinuz.xen --ramdisk=/boot/initrd.img.xen"

xenserver# xe vm-param-set uuid= PV-args="root=/dev/xvda1 ro quiet console=hvc0 xencons=hvc0"

xenserver# xe vm-param-set uuid= PV-bootloader="pygrub"

xenserver# xe vbd-param-set uuid= bootable=true

Arrancamos la máquina virtual y si todo funciona OK ya estará corriendo para virtualizada, instalamos las XenTools y modificamos el fichero /etc/fstab

/dev/xvda1 / ext3 errors=remount-ro,barrier=0 0 1

Sin esta config en el fstab, la raiz se monta en RO eventualmente, de este modo funciona bien.

Tambien es necesario ajustar la tty por defecto para que sea hvc0:

sed -e “s/tty1/hvc0/ig” /etc/init/tty1.conf | sudo bash -c ‘cat > /etc/init/hvc0.conf
Con esto, ya teneis el nuevo template ;)
Saludos

martes, 26 de julio de 2011

XenServer - RedHat / CentOS Paravirtualizados

Una de las ventajas de usar XenServer es la posibilidad de arrancar las máquinas virtuales en modo paravirtualizado (PV). Algunas distros dificultan un poco la instalación en PV directamente desde el Setup. Ese es el caso de Red Hat o CentOS que por defecto se instalan en modo Virtualización completa (HVM).

Una vez instalado el sistema, modificamos los siguientes parámetros del grub:

title CentOS Xen (2.6.18-53.1.14.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-53.1.14.el5
          module /vmlinuz-2.6.18-53.1.14.el5xen ro root=/dev/VolGroup00/LogVol00
          module /myinitrd.img

Modificamos las líneas en negrita por:

title CentOS (2.6.18-53.1.14.el5xen)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-53.1.14.el5xen ro root=/dev/VolGroup00/LogVol00
        initrd /myinitrd.img

Reiniciamos con el nuevo kernel y creamos un nuevo initrd, sino nos aparecerá el error:
mount: could not find filesystem '/dev/root'
Setting up other filesystems.
Setting up new root fs setuproot:
 ...
Booting has failed

Genramos el nuevo initrd. El nuevo initrd hay que generarlo ignorando el soporte SCSI mediante la siguiente línea:

mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --preload=xenblk initrd-$(uname -r)-no-scsi.img $(uname -r)

Apagamos la maquina virtual y modificamos los siguientes parámetros mediante el CLI para que XenServer reconozca que tiene que arrancar esta máquina como PV.

xe vm-param-set uuid= HVM-boot-policy=""

xe vm-param-set uuid= PV-bootloader=pygrub

xe vm-param-set uuid= PV-args="console=ttyS0 xencons=ttyS"

La volvemos arrancar y tendría que iniciarse correctamente. Si aparece siguiente el error:

Error: (2, 'Invalid kernel', "elf_xen_note_check: ERROR: Not a Xen-ELF image: No ELF notes or '__xen_guest' section found.\n")

significa que hay algún problema con la config del grub, comprueba que el kernel que has configurado en el grub sea el correcto.