Utilizando PyGrub en XenServer
Hola amigos, soy Ferran Serafini y hoy en nuestra sección sobre XenSever vamos a ver como configurar nuestra máquinas virtuales utilizando pygub.
En ocasiones hemos hablado de pygurb pero vamos a entrar un poco más a fondo. Pygrub es un software “bootloader” que permite iniciar DomUs con el kernel dentro del sistema de archivos de dicha DomU.
Sin pygurb, las máquinas virtuales, tendrían que tener el kernel fuera de la máquina virtual, es decir, en el sistema de ficheros del Dom0. Hay quien en el mundo XenSource, lo prefiere así, pero es recomendable tener el Kernel dentro del DomU, así es más fácil de mantener las actualizaciones y nos permite despreocuparnos del directorio donde guardamos los kernels.
PyGrub se comporta como Grub leyendo el fichero menu.lst estándar e iniciando el sistema operativo establecido como ‘default’. Mediante libfsimage, pyGrub soporta:
- Ext2/3/4
- FAT
- ISO9660
- REISERFS
- UFS
- ZFS
La API de XenServer (XAPI) además nos permite acceder directamente a la confi-guración de pyGrub de cada maquina virtual de un modo muy sencillo.
Primero veamos que bootloader utiliza una maquina virtual:
xe vm-list uuid=9e47eeff-e232-6921-6671-c23786624f1a params=PV-bootloader
PV-bootloader ( RW) : pygrub
Veamos que parámetros la XAPI le pasa a pygrub:
xe vm-list uuid=9e47eeff-e232-6921-6671-c23786624f1a params=PV-bootloader-args
PV-bootloader-args ( RW) :
Si no nos devuelve nada, significa que la XAPI no sobrescribe nada de lo que lee en el fichero menu.lst. Es decir, toda la configuración de pyGrub es la que nos da la propia maquina virtual con su fichero menu.lst
Si por el contrario, queremos especificarle que Kernel tiene que utilizar si modificar el menu.lst, ejecutamos lo siguiente:
xe vm-param-set uuid=9e47eeff-e232-6921-6671-c23786624f1a PV-bootloader-args=’ –kernel=/boot/vmlinuz.xen –ramdisk=/boot/initrd.img.xen’
Donde –kernel= Al nuevo Kernel con que queremos que arranque la máquina virtual y –ramdisk la imagen initrd de dicho Kernel
De este modo, podemos asegurar que pyGurb esta forzando a arrancar el Kernel ubicado en /boot/vmlinuz.xen y su initrd /boot/initrd.img.xen. La recomendación es solo utilizar este tipo de parametrización si es necesario.
En mi opinión es mejor no tener que sobrescribir nada del grub original, ya que estas modificaciones hay que tenerlas en cuenta luego cuando queramos actualizar el SO de las máquinas virtuales.
Esto es todo por hoy, espero como siempre que te haya gustado el post y poder ayudarte en tu día a día con XenServer.
Si te ha gustado este articulo, por favor,compártelo en Twitter o en Facebook con los botones de abajo. Muchas gracias por tu apoyo!