Installation de Xen Hyperviseur sous Debian Squeeze chez OVH - Partie 1/2
Ayant eu le besoin d’installer une infrastructure de virtualisation permettant de déployer un nombre important de VPS sur demande très rapidement, j’ai fait des recherches sur les principaux systeme de virtualisation proposé par Ovh.
Je vais d’abord comparer les différents systèmes de virtualisation mis à disposition, voir pourquoi j’ai retenu Xen.
Je vais expliquer brièvement le fonctionnement de Xen, puis nous passerons à l’installation de l’hyperviseur.
Nous finirions pas la configuration du réseau avec l’installation des machines virtuelles.
Comparaison des systèmes de virtualisation
Ovh propose par défaut Virtuozzo, Proxmox, Citrix XenServer, Hyper-V, VMWare Server, VMWare ESXi.
Ayant déjà eu une expérience avec Plesk, et n’ayant pas apprécié le fonctionnement, j’ai éliminé Virtuozzo.
J’ai aussi éliminé Hyper-V, car j’utilise uniquement des systèmes GNU/Linux.
Utilisant proxmox/OpenVZ depuis plusieurs mois, j’en étais très satisfait, mais le kernel étant partageé, je préfère pour cette nouvelle installation du “full virtualized” plutôt qu’une simple isolation.
Je me suis longuement renseigné sur les différentes versions de VMWare et je n’ai pas trouvé d’informations suffisamment complètes sur la CLI ou la possibilité d’interfacer le système avec un autre langage.
Je me suis donc tourné vers Xen, qui possède de nombreuses références sur le net.
J’ai été déstabilisé car ça ne correspondait pas au tuto trouvés sur internet, en effet cette distribution est un package contenant plusieurs outils dont Xen Hypervisor.
Apres quelques heures, j’ai décidé de passer à une debian squeeze où j’installerai Xen Hypervisor moi même.
Fonctionnement de Xen
Xen permet d’exécuter plusieurs systèmes d’exploitation (et leurs applications) de manière isolée sur une même machine physique sur plate-forme x86, x86-64, IA-64 et PowerPC (bientôt sur SPARC). Les systèmes d’exploitation invités partagent ainsi les ressources de la machine hôte.
Xen est un « paravirtualiseur » ou un « hyperviseur » de machines virtuelles. Les systèmes d’exploitation invités ont « conscience » du Xen sous-jacent, ils ont besoin d’être « portés » (adaptés) pour fonctionner sur Xen. Linux, NetBSD, FreeBSD (portage en cours), Plan 9 et GNU Hurd peuvent d’ores-et-déjà fonctionner sur Xen.
L’hyperviseur ou machine hôte s’appelle le Dom0 et les différentes machines virtuelles s’appellent les DomU.
Installation de Xen
On commence par installer les divers paquets et le noyau de Xen.
Afin de pouvoir fonctionner Xen utilise son propre kernel, il va donc falloir remplacer le kernel par défaut fournit par Ovh et modifier le bootloader.
Installation de GRUB
Les serveurs Ovh sont fournis avec lilo d’origine, tous les tutoriaux que j’ai trouvé recommande l’installation de grub pour choisir le kernel.
A adapter en fonction de votre partition de boot.
On met a jour les fichiers de configuration de grub.
Le fichier est génèré à partir des fichiers suivant :
Si l’on observe les choix proposés au boot, on s’apercoit que le kernel Ovh est toujours en première position :
Nous voulons démarrer le kernel xen, on modifie donc la configuration en conséquence.
On ajoute aussi la ligne suivante, afin de ne pas afficher les VM d’apparaitre dans le boot menu :
Et on regénère la config.
Si vous redémarrez maintenant, vous n’aurez pus accès à votre machine, car Ovh intègre les drivers nécessaires au fonctionnement des cartes réseaux en tant que modules statiques du kernel.
Pour connaître les modules nécessaires, tapez la commande suivante :
Et copiez le contenu sur le site : http://kmuto.jp/debian/hcl/.
Il nous indique qu’il faut charger le module e1000e.
Nous allons modifier les fichiers de configuration dans un premier temps, puis nous compilerons le module ensuite.
|
|
La modification de la première ligne permet d’avoir plus d’interfaces réseaux virtuelles et donc de machines virtuelles.
Installation du module e1000e
On récupère les sources :
Afin de compiler le module sur le bon noyau, il faut boot sur ce noyau, or si on reboot maintenant, on aura plus d’accès réseau.
Il faudra aussi installer les paquets suivants avant de poursuivre :
Il faut donc passer par le vKVM.
On va créer un script qu’il restera juste à exécuter :
|
|
|
|
Modifiez le netboot depuis votre manager, pour passer en vKVM, puis rebooter votre machine.
Une fois connecté, lancer la compilation :
Si la compilation ne marche pas, il faut éditer le script de la façon suivante :
Modifiez le netboot sur le hard disk et redémarrer le vKVM, vous devriez démarrer démarrer sur votre machine et pouvoir vous connecter en ssh.
Controlez le fonctionnement avec :
C’est fini pour aujourd’hui, dans la prochaine partie, nous verrons comment configurer le réseau et ajouter des machines virtuelles.