Xen Orchestra/XCP-ng : une alternative à vSphere ?

Les temps sont durs ! Et oui, les grandes années ou notre belle institution avait un budget IT plus adapté à notre impérieuse nécessité de servir au mieux nos utilisateurs ne sont qu’un lointain souvenir. Le COVID, les enjeux d’économie à tout prix et les logiques d’efficience – rognotudju, comme j’aime ce mot – ont eu raison d’une direction des services numériques éclairée et centrée sur le service, désormais nous ne sommes plus, à nouveau, qu’un centre de coût :( … Ceci dit, ce contexte pousse à se ré-inventer et envisager des solutions différentes, plus légères (financièrement ^^) mais malgré tout pertinentes. L’heure de chercher des éventuelles alternatives/compléments à vSphere ?

Disclaimer

Bon, que tous les copains de VMware se rassurent, il n’est pas question ici de supprimer l’écosystème VMware de notre production, mais plutôt de mettre de l’eau dans son vin en testant et évaluant d’autres solutions complémentaires pour des workload d’importance moins stratégique que notre noyau patient et notre production de soins. La question est d’autant plus intéressante, finalement, qu’aujourd’hui, de nombreuses alternatives existent, dont certaines depuis longtemps : Proxmox, KVM/OpenStack, Ubuntu Cloud, Hyper-V, mais aussi Xen Orchestra et XCP-ng. Comme quoi, en temps de disette budgétaire chronique, c’est le moment de faire chauffer la veille technologique au lieu de la carte bleue.

XCP-ng/Xen Orchestra

Je travaille actuellement sur Ubuntu Server/KVM car je pense que c’est une piste très sérieuse, d’autant qu’elle fait partie des distributions supportées par NSX-T. Impossible pour moi de me résoudre à supprimer le SDN de VMware qui est devenu un des piliers de notre sécurité et de nos designs d’hébergement. Pour autant, lors d’un échange sur Twitter, Grégory (@flammedemon) m’a proposé de jeter un oeil à la solution XCP-ng/Xen Orchestra. Je ne connaissait pas et bien lui en a pris de me la proposer, Merci ! XCP-ng est un fork de XenServer, développé sous l’égide de la Linux Foundation et propose une alternative open source à l’hyperviseur de Citrix bien connu. Pour gérer cet hyperviseur, l’éditeur Français Vates a développé un gestionnaire compatible avec les deux couleurs Xen/XCP-ng , Xen Orchestra. Avec ça, en théorie, vous êtes paré pour faire a peut près tout ce que propose un vCenter Standard et ses clusters ESXi.

Ni une ni deux (ni même trois), je me suis précipité pour télécharger et creuser un peu cet ensemble pour voir ce qu’il avait dans le ventre. C’est parti pour une séance de vLab, comme je les aime.

Installation du premier hyperviseur XCP-ng.

Vu le temps que je passe à maintenir à jour mon vLab vSphere/VSAN, je n’avais pas envie de tout casser, j’ai donc opté, dans un premier temps, pour une solution « nested » par dessus mes ESXi. C’est bien suffisant pour évaluer un produit, avant de passer éventuellement à des choses plus sérieuses. L’installation de mon premier XCP-ng a été un jeu d’enfant. Téléchargement de l’iso, montage de la VM sans oublier d’exposer la fonction CPU Hardware assisted virtualization, installation à la mode d’une distribution Linux, quelques paramètres réseau (promiscuous est ton ami). Au bout de 5 minutes à peine, la machine était up-and-running.

Aussi rapide qu’un ESXi en somme ^^. L’occasion pour moi de tester quelques petites commandes « xe », l’équivalent chez Xen de esxcli. Je dois dire que la documentation est particulièrement bien faite et claire, un très bon point. Par défaut la machine est configurée pour produire un bridge réseau avec votre réseau local/vlan d’installation. Cela permet de déployer très vite des VMs complémentaires. D’ailleurs, il était temps de se lancer sur le second outil, Xen Orchestra !

Installation de Xen Orchestra

Xen Orchestra est installable de plusieurs manières, vous pouvez utiliser directement une page web dynamique qui va s’occuper de tout, sa homepage est disponible ici ; vous pouvez aussi installer l’appliance via un script bash (celle que j’ai choisi), rendez-vous ici ; enfin, vous pouvez télécharger l’image XVA et créer à la main votre VM sur votre hyperviseur XCP-ng, pourquoi pas. Après vous avoir posé quelques petites questions traditionnelles (réseau), la machine est importée, configurée automatiquement et son portail web est disponible au bout de quelques minutes, là encore.

Nous voici donc face à XCP-ng/Xen Orchestra, j’allais pouvoir en découdre ^^. Contrairement à XCP-ng qui est complet et full open source, Xen Orchestra est disponible avec différents niveaux de fonctionnalités et de prix. Vous pouvez consulter la matrice de comparaison pour vous faire une idée, en vous rendant ici. Pour ma part, je me suis inscrit et j’ai opté pour la Free Trial, histoire d’avoir un aperçu de l’ensemble des fonctions. Globalement, la « Free edition » est parfaitement utilisable en production, mais sans support et il lui manque quelques fonctions, notamment une solution de backup intégrée. Mais malgré tout, jetez un oeil sur les prix… on est bien loin de ceux de VMware. La encore il ne s’agit pas de critiquer gratuitement la politique tarifaire de l’éditeur américain, l’ampleur de sa ligne de produits n’étant pas comparable, mais, malgré tout, il est bon de constater qu’un support professionnel pour un gestionnaire de virtualisation n’est pas forcément hors de prix ^^. Oui parce que, au risque d’être lourd, XCP-ng n’est pas licencié au socket, ni à plus forte raison si vous avez plus de 32 coeurs, mais seulement au host … (je l’ai encore en travers de la gorge celle-là, désolé, voir ici)

Découverte de l’interface XOA

Evidemment, j’ai pas mal bidouillé, depuis la création et l’exploitation de VMs, l’utilisation de templates, la création de nouveaux réseaux (l’équivalent des standard vSwitch en terme de fonctionnalités), la création d’un datastore NFS pour le partage de VM entre divers host et bien sûr le live migration (vMotion à la sauce Xen/XCP-ng). Pour l’instant, je vous poste les images de ces pérégrinations, car l’utilisation de l’interface est vraiment intuitive et extrêmement simple si vous connaissez déjà la virtualisation, en particulier vCenter. Il est probable que je fasse des billets complémentaires plus techniques lors de nos prochains PoC en conditions réelles.

Conclusion et perspectives

En deux heures environ, je suis passé de la découverte à l’utilisation presque « au quotidien » de ce nouveau venu dans ma palette de solutions de virtualisation. J’avoue avoir été bluffé par la simplicité de déploiement et d’exploitation. Les options de backup sont simple et rapides à mettre en oeuvre aussi, ce qui en fait une solution intégrée sans doute capable de répondre à des besoins de production simples de plusieurs dizaines à plusieurs centaines de VM. L’environnement est cohérent et visiblement très efficace (il faudra tester tout ça avec des XCP-ng en baremetal et des datastores pêchus !). La partie network me parait malgré tout assez légère, mais suffisante pour de la prod « vlan » classique… si seulement VMware pouvait porter son vib NSX-T vers XCP-ng … mais je rêve sans doute, Citrix n’est pas loin ^^. N’empèche, couplé à un SDN solide, cela pourrait constituer une alternative plus que crédible à nos propres besoins. Personnellement, je vais suivre XCP-ng et Xen Orchestra avec beaucoup d’attention à l’avenir, quitte même à proposer ça pour des environnements spécifiques chez nous (test & dev dans un premier temps par exemple).

Et tiens, sachez que Ikoula, l’hébergeur français que j’ai présenté il y a quelques jours ici utilise la solution de Vates !

Sources :
le site de Vates, éditeur principal de Xen Orchestra et promouvant XCP-ng : ici.
le site principal de XCP-ng : ici.