Xen: démarrer un domU avec pyGrub
Par Dju » 18 décembre 2010 (19:05) - Debian
Lorsqu'on crée un domU "par défaut" avec xen, le kernel et l'image initrd utilisés seront lus directement sur le dom0, qui rend le domU dépendant du dom0.
Ici, j'ai un dom0 tournant sous lenny, ainsi que 2 domU tournant également sous lenny, avec le kernel 2.6.26-2-xen-amd64.
Sur le 2è domU, je voulais faire la mise à jour lenny vers squeeze, ce qui necessite entre autre que le domU puisse installer un nouveau kernel et booter dessus...
Pour ce faire on va utiliser pyGrub.
Ici, on part d'un domU deja configuré et tournant sur le dom0, et bootant avec le kernel sur le dom0.
1/ sur le domU
il faut bien entendu installer grub, et un kernel
aptitude install udev grub
aptitude install linux-image-2.6-xen-amd64
mkdir /boot/grub
echo "(hd0) /dev/sda" > /boot/grub/device.map
mknod /dev/sda b 8 0
grub-install hd0
update-grub
et maintenant, on arrete le domU
halt
2/ sur le dom0
on vérifie avec la commande xm list que le domU est bien arreté (dans la colonne status, on devrait voir --S-) et on récupere son id
puis on l'arrête totalement
xm destroy id_du_domU
A présent, on va modifier le fichier de config du domU. par précaution on fait une sauvegarde :D
cd /etc/xen
cp domU.cfg domU.cfg.org
puis dans ce fichier, on remplace les 2 lignes
kernel = '/boot/vmlinuz-2.6.26-2-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.26-2-xen-amd64'
par celle ci
bootloader = '/usr/bin/pygrub'
et on créé un lien symbolique pour pouvoir appeller pygrub
ln -s /usr/lib/xen-3.2-1/bin/pygrub /usr/bin/pygrub
enfin, il faut absolument inverser l'ordre de 2 ligne décrivant les partition utilisées, afin de placer la partition / en premier.
On a donc
disk = [ 'file:/home/xen/domains/srv2/swap.img,sda1,w', 'file:/home/xen/domains/srv2/disk.img,sda2,w', ]
qu'on remplace par
disk = [ 'file:/home/xen/domains/srv2/disk.img,sda2,w', 'file:/home/xen/domains/srv2/swap.img,sda1,w', ]
Et c'est tout pour le modifs
On peut maintenant redémarrer le domU, en matant la console pour voir que tout se passe bien
xm create -c srv2.cfg
Si votre domU est sous debian squeeze, il faudra changer dans le fichier /boot/grub/device.map xvda au lieu de sda
Et de meme, changer le type de périphérique dans /dev :
mknod /dev/xvda b 202 0
Soyez le premier à commenter ce billet
URL de rétrolien : https://blog.crifo.org/trackback/77