English version is available here: How to migrate Xen from version 3.2 to version 4 on GNU/Debian Lenny
Introduction
Xen est un système de virtualisation OpenSource. La version 4 de l'hyperviseur Xen a été publiée le 7 avril 2010.
L'une des principales nouveauté de la version 4 est l'ajout de la haute-disponibilité, par l'intégration du code du projet Remus.
Malheureusement, la version intégrée dans GNU/Linux Debian Lenny est la version 3.2. Pour Squeeze, il s'agit de la version 3.4. Voyons donc comment installer la version 4.
État des lieux
La plate-forme que nous allons upgrader est décrite là:
- Virtualisation avec Xen sous GNU/Debian Linux
- Cluster Xen sous Debian GNU/Linux avec DRBD, Corosync et Pacemaker
Le premier cas est le plus simple, le second ne l'est en fait pas beaucoup moins. L'infrastructure cluster ne changera pas grand'chose à notre problème.
En revanche, il y a un certain nombre de pré-requis pour que la migration se passe au mieux:
- Nous allons upgrader l'hyperviseur Xen. Il faudra également upgrade le noyau dom0 (chez moi, le noyau 2.6.26 fourni par Debian a refusé de démarrer).
- Comme nous mettons à jour le noyau du Dom0, il faut naturellement générer le paquet adapté pour DRBD
- Enfin, afin d'éviter les conflits entre fichiers de différentes versions, il faudra nettoyer le système Debian de tous les paquets relatifs à Xen version 3.2
Toutes les opérations de compilation seront réalisées dans une machine virtuelles Debian. Pour d'évidente raison de sécurité, il est impensable de réaliser cette opération dans le Dom0.
Préparation de l'environnement
Au sein de la machine virtuelle de développement, nous allons installer le nécessaire pour compiler tout ce dont nous avons besoin:
Compilation de Xen
Dans la mesure où nous allons conserver un noyau debian pour faire tourner le Dom0, nous n'avons pas besoin de compiler le noyau fourni par Xen. La commande make stubdom n'est
donc pas utile.
Le résultat de la compilation se trouve dans la répertoire dist. Il s'agit d'un script install.sh qui se chargera de déployer l'arborescence qui se trouve
dans le répertoire dist/install. Afin de faciliter le déploiement, nous allons créer une archive du répertoire dist.
Mais avant, il faut modifier quelques fichiers : en effet, pour coller au mieux aux normes Debian, il faut déplacer les fichiers de etc/sysconfig vers etc/default.
Pour que tout continue à fonctionner, il faut également modifier les scripts init.
C'est cette archive que nous allons déployer sur les Dom0. Mais d'abord, occupons-nous de DRBD.
Compilation de DRBD
Le prochain noyau des dom0 sera le noyau 2.6.32 du dépôt backport. Il faut donc compiler le module DRBD pour ce module. Mais, évidemment, notre machine virtuelle n'utilise pas ce noyau. Q'importe, module-assistant peut compiler un module pour un autre noyau que le noyau courant.
Je ne mets ici qu'un résumé des commandes, le détail est déjà en ligne ici: Installation de DRBD > 8.3.2 sur Debian GNU/Linux Lenny
Configuration du Dom0
Avant de commencer, assurez-vous de ne plus avoir de machines virtuelles sur ce node.
Il faut commencer par installer le nouveau noyau depuis le dépôt backports:
Rebootez sur le nouveau noyau. Si tout va bien, vous pouvez supprimer tous les paquets relatifs à Xen, ainsi que l'ancien noyau. N'oubliez pas de sauvegarder les fichiers de configuration de Xen !
Une fois fait, vous pouvez récupérer l'archive Xen4 que nous avons créé, ainsi que le paquet du module DRDB8. Enfin, installez le tout:
Sans cette dernière commande, le dom0 sera incapable de communiquer avec l'hyperviseur. Il se peut que vous deviez, selon votre configurtion, charger d'autres modules. Vous pouvez les ajouter dans /etc/modules:
Il est temps de restaurer les fichiers de configuration Xen que vous avez sauvegardé. Ensuite, il faut paramétrer le démarrage des services xend et xendomains.
Une fois l'hyperviseur et les outils associés installés, et avant de rebooter, il faut installer certaines librairies. En effet, celles-ci sont nécessaires au fonctionnement de Xen. problème: la suppression des paquets Debian de Xen a entrainé la suppression des dépendances, dont ces fameuses librairies.
Cette fois, vous pouvez rebooter sur l'hyperviseur Xen4. Une fois connecté, vérifiez que Xen fonctionne bien avec la commande xm list.
Voilà, à ce stade, vous devriez avoir un serveur Xen 4 près à l'emploi. Il ne vous reste plus qu'à migrer vos VM sur ce node et à upgrader le second. Have fun !
Source et références
Sites officiels
- Xen
- http://wiki.xensource.com/xenwiki/Xen4.0
- DRBD
- http://www.drbd.org/
- GNU/Debian Linux
- http://www.debian.org/
