XEN : 4.0 sur Debian
XEN : 4.0 sur Debian jppCet article est destiné à présenter "mon" passage à XEN 4.0 depuis la compilation des sources.
J'ai déjà compilé XEN 3.4.3 et quelques noyaux, la plupart des utilitaires et autres "includes" nécessaires sont donc déjà présents dans ma machine.
Il faut, au moins disposer de :
- libssl-dev
- zlib-dev
- bin86
- bcc
- elks-libc
- python2.6-dev
- python-xml pour xml_proc
Après la récupération des sources depuis le site xensource et installation dans un répertoire propre il faut lancer la compilation, comme je dispose de noyaux Linux récents je ne compile pas le noyau standard de XEN.
Il suffit donc de lancer les commandes
make xen 2>&1 | tee XEN.LOG
make tools 2>&1 | tee TOOLS.LOG
pour compiler le tout et garder trace de l'événement.
La commande "make tools" déclenche automatiquement le chargement des sources de la version correspondante "xenifiée" de QEMU.
La vérification avant compilation des "tools" montre :
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_openssl_devel: OK
Checking check_python: OK
Checking check_python_devel: OK
Checking check_uuid_devel: OK
Checking check_x11_devel: OK
Checking check_xgettext: OK
Checking check_xml2: unused, OK
Checking check_zlib_devel: OK
Checking check_zlib_lib: OK
Cela donne une bonne indication des paquets de développement nécessaires.
make xen se passe bien, la première tentative d'installation achoppe sur l'absence d'un répertoire "check" dans l'arborescence "dist" :
./install.sh
Installing Xen from './dist/install' to '/'...
- installing for udev-based system
- modifying permissions
All done.
Checking to see whether prerequisite tools are installed...
cd: 53: can't cd to ./dist/install/../check
./install.sh: 54: ./chk: not found
All done.
Je récupère le répertoire "check" dans la verson 3.4.3 et la recopie "bêtement" ... et cela a l'air de fonctionner :
./install.sh
Installing Xen from './dist/install' to '/'...
- installing for udev-based system
- modifying permissions
All done.
Checking to see whether prerequisite tools are installed...
Xen CHECK-INSTALL lundi 26 avril 2010, 20:02:06 (UTC+0200)
Checking check_brctl: OK
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_iproute: OK
Checking check_python: OK
Checking check_python_xml: OK
Checking check_udev: /sbin/udevadm OK
Checking check_xml2: unused, OK
Checking check_zlib_lib: OK
All done.
Les nouveautés dans le répertoire "/boot" :
-rw-r--r-- 1 root root 669914 26 avril 22:50 xen-4.0.0.gz
lrwxrwxrwx 1 root root 12 26 avril 23:37 xen-4.0.gz -> xen-4.0.0.gz
lrwxrwxrwx 1 root root 12 26 avril 23:37 xen-4.gz -> xen-4.0.0.gz
On va bien vite voir si cela "boote" ! Eh non, un problème, il faut charger le package "python-profiler" pour que "xend" et compagnie se lancent normalement. Une fois ce paquet installé le boot est OK, et on peut lancer une machine virtuelle sans modifier son paramétrage.
Par contre mon "ancienne" installation (version 3.4.3) n'est plus utilisable pour diverses incompatibilités au niveau des scripts "python", le passage est donc un passage sans retour (à moins d'avoir réalisé une image de son disque système avant !).
J'ai ensuite refait les tests de migration "live" vers une machine tournant en XEN 3.4.3, la migration échoue. Un autre test :
"xm save machine fichier_sur_disque_partagé"
suivi (sur l'autre machine) d'un "xm restore fichier_sur_disque_partagé"
échoue. La compatibilité n'est donc pas évidente entre les versions 3.4 et 4, comme ce sont des versions "majeures" on ne s'en étonnera que peu.