Prenant mon courage à deux mains, je me suis donc convaincu ce samedi de tenter de migrer mon serveur Xen 3.2.1vers Xen 4.0

J'ai donc suivi les indications fournies dans les urls suivantes

Pour mes propres tests, l'installation s'est avérée convaincante pour

  • noyau: 2.6.32-bpo.5-xen-686 que l'on peut récupérer dans les backports de Lenny (voir [1])
  • Xen: 4.0.0
melina:~# xm dmesg|head -n20
 __  __            _  _    ___   ___  
 \ \/ /___ _ __   | || |  / _ \ / _ \ 
  \  // _ \ '_ \  | || |_| | | | | | |
  /  \  __/ | | | |__   _| |_| | |_| |
 /_/\_\___|_| |_|    |_|(_)___(_)___/ 
                                      
(XEN) Xen version 4.0.0 (root@) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) Sun Jun 20 14:07:07 CEST 2010
(XEN) Latest ChangeSet: unavailable
(XEN) Command line: 
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009fc00 (usable)
(XEN)  000000000009fc00 - 00000000000a0000 (reserved)
(XEN)  00000000000e0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cffa0000 (usable)

Mise à jour des VM

Je dispose de 7 machines virtuelles: melina-xen01...melina-xen07 dont une sous Windows XP (melina-xen04). Les autres machines sont sous Debian Lenny

Pour finaliser la migration des VM sous Debian Lenny

  • On met à jour les valeurs pour kernel et ramdisk dans les fichiers de configuration
    sed -i "s:2.6.26-2-xen-686:2.6.32-bpo.5-xen-686:g" /etc/xen/machines/melina-xen0*
    
  • Il faut ensuite copier le répertoire des modules du noyau dans les VM. Ici j'ai pris soin de les avoir éteintes
    for id in 1 2 3 5 6 7;
    do 
             echo ${id};
             mount /dev/xen-vm/melina-xen0${id}-disk /mnt;
             cp -r /lib/modules/2.6.32-bpo.5-xen-686/ /mnt/lib/modules;
            sleep 2;
            umount /mnt;
           sleep 2;
    done
Pour la machine sous Windows (melina-xen04), j'ai juste modifiée la ligne d'accès au hvmloader. Ce qui donne donc
melina:~# grep hvmloader /etc/xen/machines/melina-xen04.cfg
kernel = "/usr/lib/xen/boot/hvmloader"
#kernel = "/usr/lib/xen-default/boot/hvmloader"