Debian 7 + Xen + Xapi + XenCenter HOWTO

En 2011 dans l'article XenServer : le Xen facile je présentais la solution XenServer de Citrix qui est un serveur Xen prêt à l'emploi doté d'une console de gestion graphique similaire à vsphere : XenCenter. Puis en 2014 j'ai découvert que Xen installé à la main sur Debian n'était pas si méchant que ça : Découverte de XEN sur Debian Wheezy. Eh bien il parait que l'on peut marier les deux. Installer une debian, Xen, puis la couche Xapi qui permet ensuite de se connecter soit avec Xencenter, soit avec openxenmanager.

Sur papier l'installation est rapide et simple, mais en pratique elle est plutôt laborieuse car il y a beaucoup de bugs qui font que ça ne marche pas du premier coup et qu'il faut chercher des solutions. Voilà donc étape par étape comment installer Xapi sur Debian 7 et s'y connecter avec XenCenter.

Installation de Xen

Jusque là, rien de compliqué. Il faut installer le paquet xen-hypervisor :

# apt-get install xen-hypervisor

Puis on va dire à grub de booter en priorité sur Xen :

# dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
# update-grub

Puis, on reboote afin de démarrer sur Xen, c'est très important sinon la suite ne fonctionnera pas.

# reboot

Installation de xapi

Après avoir démarré en Xen, installez xcp-xapi :

# apt-get install xcp-xapi

Notez que des paquets de développement comme linux-image sont installés comme dépendances. C'est pour pouvoir compiler les modules d'openvswitch. Cette étape est faite avec dkms, elle est donc automatique et suivra les montées de version du kernel sans action de la part du sysadmin. Pour le gestionnaire de réseau XCP, il est plus simple de laisser bridge.

Note : vous allez obtenir quelques messages de fail, ignorez-les pour le moment.

On va spécifier à Xen d'utiliser xapi comme backend. Editez le fichier /etc/defaults/xen :

TOOLSTACK="xapi"

Maintenant on va configurer notre bridge. Editez le fichier /etc/network/interfaces et modifiez-le comme ceci :

auto lo
iface lo inet loopback

# allow-hotplug eth0
# iface eth0 inet dhcp

auto xenbr0
iface xenbr0 inet dhcp
  bridge_ports eth0

Note : oui, eth0 est désactivé. Mais xenbr0 va prendre le relai.

Maintenant, rebootez le serveur.

# reboot

Connexion XenCenter

Si votre système ne boote pas et bloque sur la configuration du réseau Xen, vous devez alors forcer le redémarrage puis booter en mode de dépannage sur grub. Puis refaites la configuration du réseau ci-dessus.

Maintenant que votre système est booté, ouvrez la console XenCenter sur une autre machine et tentez de vous connecter à votre serveur Debian :

Au bout de quelques instants on obtient l'erreur suivante :

Après avoir bataillé et surtout ragé parce que visiblement personne n'avait jamais rencontré ce problème alors que je le reproduits à volonté, j'ai enfin trouvé une solution sur ce thread d'un forum citrix. Il s'agit en fait d'un fichier .pem qui ne fonctionne pas bien et qu'il faut donc détruire :

# rm /etc/xcp/xapi-ssl.pem

Puis relancez le service xcp-xapi pour regénérer ce fichier :

# service xcp-xapi restart

Maintenant, tentez à nouveau de vous connecter avec Xencenter, cela doit fonctionner.

Et voilà !

Il faut savoir cependant que xencenter ne révèle son potentiel que sur une infrastructure composée de plusieurs serveurs. Les VM et les ISO ne peuvent pas être stockées sur l'hyperviseur il faut obligatoirement un datastore externe (iSCSI, CIFS ou NFS).

Vus : 1651
Publié par Maniatux : 95