Migration Xen vers KVM

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Vous avez peut être comme moi céder aux joies de la virtualisation conviviale pour gérer quelques uns de vos projets, pour tester, pour frimer ... Bref, vous avez, sur votre machine Debian utiliser les outils du paquet "xen-tools", en particulier "/usr/bin/xen-create-image" pour créer vos DomU.

2 Problématique

Avec le temps, maintenir vos divers modules pénibles avec le kernel xenifié de votre Dom0 est devenu pénible alors vous avez décidé de passer sous kvm, "c'est si simple" (sauf évidement si vous utilisez un kernel précompilé Debian).

Là, le problème, c'est que votre image "foo.img" n'est pas bootable directement, puisque Debian utilisait un noyau placé sur le Dom0 pour booter les DomU, par défaut.

3 Solutions

Voici deux ou trois petits trucs pour gérer le problème...

3.1 Première solution

Soit vous avez gardé les dits noyaux (c'est à dire que vous n'avez pas tout viré en hurlant des "plus jamais cette [email protected]# de Xen"), auquel cas, il suffit de lancer kvm avec le paramètre qui va bien, mais je ne détaillerai pas plus, c'est trivial. (qemu -hda image.img -kernel /boot/vmlinuz-2.6.22-3-686 par exemple)

3.2 Seconde Solution

Soit vous avez viré les noyaux. Auquel cas, l'utilisation d'un noyau de l'hôte va être pénible, à moins de refaire une ramdisk et puis se sera moins facile de bouger l'image pour la faire tourner ailleurs avec qemu ... Oui, alors là, la solution sympathique et relativement rapide est :

    • récupérer une ISO de l'installeur Debian (au hasard hein)
    • booter dessus avec : "qemu -hda image.img -cdrom ../Téléchargements/debian-40r1-i386-businesscard.iso -boot d"
    • suivre le process d'installation jusqu'à avoir le réseau, puis switcher sur une console
    • monter /dev/hda dans /mnt (après un éventuel fdisk)
    • monter /proc, /sys et /dev dans /mnt ("mount - o loop)
    • chroot'er dans /mnt
    • installer un noyau qui va bien
    • installer lilo (puisque Grub semble avoir du mal avec ce type de système dans l'état, on pourra l'installer plus tard)
    • éditer la conf lilo et éxécuter lilo

Maintenant, vous pouvez booter votre image avec kvm directement. Vous pouvez aussi en profiter pour convertir l'image raw en qcow2, changer la config réseau, ...