Liens connexes

Dépêche modérée par

Dépêche éditée par

: Tour d'horizon de la virtualisation libre

Posté par Obsider (). Modéré le 17 septembre 2009.
25
La virtualisation est indéniablement aux lèvres de beaucoup de monde ces derniers temps. Entre les solutions propriétaires bien connues et les multiples promesses, annonces et projets libres, une certaine confusion règne.

Le libre étant ce qui nous intéresse ici, où en sont les projets ? Quelles solutions se démarquent des autres ? Autant de questions qui requièrent une veille incessante.

Je vous propose donc de faire un petit tour d'horizon de ce monde en ébullition et de parler quelque peu des projets susceptibles de devenir les stars de demain.

Les solutions retenues ici sont Xen, KVM, Spice, Openvswitch/OpenFlow, Libvirt, Ovirt et Libguestfs.

> Lire la suite (34 commentaires, moyenne: 2,9).   [dépêche : 11102 caractères]

Avec tout ce qu'il se profile à l'horizon concernant la virtualisation sous Linux, un point semble opportun.

Sommaire



Tout d'abord Xen

La version 3.4.1 étant sortie il y a peu, force est de constater que cet hyperviseur est en pleine phase de transition concernant le Dom0. À l'heure actuelle, pas moins de cinq candidats s'offrent à nous pour ce domaine privilégié. Sur ces cinq, seul l'ancestral 2.6.18 est pleinement fonctionnel à ce jour. Tous les efforts se portent néanmoins sur l'architecture pvops pour la prochaine version 3.5 (cf. page suscitée). Malheureusement, il semble que l'inclusion dans la branche principale du noyau Linux soit déjà abandonnée pour le 2.6.32 et que les espoirs se fondent maintenant sur la version 2.6.33, dixit le wiki de Fedora.
Sachant que l'initiative XCI (Xen Client Initiative, une distribution bare-metal pour le bureau) utilise un Dom0 à base de noyau 2.6.27 modifié, accompagné d'outils de contrôle nouveaux (RIP xend et anciens fichiers de configuration) et que Cloud Xen est encore bien mystérieux, il apparaît que cette solution a encore besoin d'un peu de temps pour retrouver une cohésion de premier ordre.

KVM

De son côté, le rejeton de Qumranet, nouvellement sous l'égide Red Hat, évolue lui aussi de façon impressionnante. Il est maintenant pourvu de KSM (Kernel SamePage Merging) permettant de fusionner au niveau de l'hôte les pages mémoire identiques des invités, améliorant de cette façon le nombre potentiel de machine virtuelles pouvant tourner sur une machine physique. À ceci viennent s'ajouter le support des HugePages (encore perfectible), le branchement/débranchement à chaud d'interfaces réseau, des améliorations de performances substantielles pour le format de disque qcow2 avec le cache d'écriture désactivé et l'arrivée d'une ABI invité stable entre les versions (plus de réactivation Windows en perspective). Tout ceci est consultable sur le wiki Fedora. Ensuite, après le nested SVM (instructions de virtualisation AMD), vient à son tour le nested VMX (instructions de virtualisation Intel). Non-encore totalement implémentée, cette fonctionnalité très intéressante en environnement de test, consistant à pouvoir virtualiser les extensions de virtualisation elles-même dans les invités et permettant de ce fait de simuler une ferme d'hôtes, ne sera plus réservée aux possesseurs de processeurs AMD. Enfin, et cette fois concernant les invités Windows, Red Hat a libéré ses pilotes para-virtualisés de réseau et de stockage, promettant une amélioration visible des performances pour les machines virtuelles tournant sous le système d'exploitation de la firme de Redmond.

Spice

Suivant les deux excellents journaux d'IsNotGood, le protocole de bureau distant SPICE se pose indéniablement comme composant majeur de l'infrastructure virtualisée. Grandement attendu de la communauté, les informations le concernant restaient malheureusement rares et éparses, surtout depuis que toute trace de son existence ait disparu du wiki de Fedora. Après quelques recherches, je suis finalement tombé sur une présentation de Arnon Gilboa provenant du Red Hat summit 2009 nommée 'SPICE: An Open Remote Computing Solution' et quelle présentation ! Celle-ci explique en détail l'architecture de cette solution, son état actuel ainsi que son développement futur. Succinctement, SPICE, comme vu plus haut, est un protocole crée spécialement pour les bureaux virtualisés distants. Il concurrence de ce fait directement les ténors actuels comme RDP, ICA et NX. Il dispose d'ailleurs d'avantages conséquents. En effet, il tire tout d'abord parti du processeur graphique client pour le rendu visuel, libérant le processeur principal de cette tâche. Il distribue de même dynamiquement les calculs entre le serveur et le client suivant la puissance et les possibilités de ce dernier. Il supporte le chiffrement des flux, le multi-écran distant, la vidéo HD et les flux audio bi-directionnels (il est possible d'écouter de la musique tout en s'enregistrant par exemple). La 3D est en préparation ainsi que le partage d'imprimante, le partage de périphérique générique et bien d'autres choses. Tout ceci est accessible aussi bien pour les systèmes Linux que Windows. Un site lui étant dédié va d'ailleurs bientôt être mis en place. La présentation ne contenant pas de déclaration claire quand à sa libération, j'ai pris la liberté de le demander à son auteur. Voici la partie pertinente de sa réponse:
...
Spice is soon to be completely open-sourced (we are Red Hat).
...
Le doute n'est donc plus de mise, SPICE va bientôt rejoindre les rangs du libre !

Openvswitch/OpenFlow

Changeons à présent de paysage pour nous concentrer sur la virtualisation du réseau. Citrix a, comme annoncé, mis à disposition de la communauté le résultat de ses travaux à propos de son switch virtuel, nommé openvswitch. Celui-ci prend en charge NetFlow, le SPAN, le RSPAN (permettant une visibilité quant aux communications inter-VMs) ainsi que les VLAN avec trunking (possibilité d'assigner simplement plusieurs VLAN à une même interface), les polices de contrôle par machine virtuelle, le bonding avec répartition de charge et un mode de compatibilité avec brctl. Beaucoup d'autre fonctionnalités sont en phase d'implémentation. Étant à l'heure actuelle en finalisation, il ne possède pas encore de version officielle (seul le dépôt git est disponible). Cela ne devrait plus tarder. Bien que très complet, il ne prétend pas concurrencer à lui seul le Nexus 1000v de Cisco, mais plutôt le vswitch de VMware. Ce n'est qu'en collaboration avec OpenFlow, standard visant en simplifiant à adresser la communication inter-switch qu'il devient réellement distribué et permettra une virtualisation complète de l'infrastructure réseau (migration des règles entre vswitchs parallèlement à la migration d'une machine virtuelle, administration centralisée...).

Libvirt

Libvirt, bibliothèque et démon de contrôle de machines virtuelles, prend désormais en charge les hôtes de type ESX et OpenNebula (en sus des habitués KVM, LXC, OpenVZ, Xen, VirtualBox et UML). Elle permet de ce fait d'administrer ces différentes solutions de manière totalement homogène. Utilisée par un nombre important de projets, elle peut se targuer d'un aspect sécuritaire avancé au travers de l'initiative Svirt ainsi que de son utilisation en profondeur de la bibliothèque libcap-ng (bibliothèque permettant de facilement tirer parti des capacités POSIX) et de son support de PolicyKit. Elle permet en outre de gérer le stockage (NFS, iSCSI, USB, fibre, LVM…) et la configuration des interfaces via netcf. Elle peut enfin être gérée à distance à l'aide de son propre protocole, de QMF (protocole d'administration applicatif basé sur AMQP) ou de CIM. Celle-ci vient juste de sortir en version 0.7.1 et va subir une grande restructuration de ses sources afin de pouvoir continuer sur des bases plus saines.

Ovirt

Version libre de RHEV-M (outil d'administration d'infrastructure virtuelle), Ovirt est pour ainsi dire le vSphere du libre. Elle comprend une image système minimale dédiée à la gestion des hôtes (du type ESXi) ainsi que d'un éco-système logiciel complet pour la gestion de son infrastructure virtuelle. Ce dernier se compose de FreeIPA, solution d'authentification centralisée comparable à AD, de cobbler pour le provisionning, de collectd pour la surveillance et les statistiques et d'une interface web d'administration complète rassemblant gestion habituelle et cloud. Cette dernière est réalisée en rails et innove en étant très dynamique car basée fortement sur la recherche (critères infinis avec un pseudo langage SQL). Le mode maintenance, permettant en un clic de migrer automatiquement toutes les machines virtuelle d'un hôte afin de procéder à une quelconque opération apparait de même très pratique. Je vous invite à ce titre à regarder une démonstration de son pendant commercial. Cette solution supporte enfin le clustering, la répartition de charge et possède des API externes afin de pouvoir contrôler tout ceci.

Libguestfs

Petite dédicace rapide à cette bibliothèque (http://libguestfs.org/) extrêmement pratique permettant d'accéder, depuis l'hôte, aux images disques des machines virtuelles (actuellement qcow, qcow2 et vmdk) de la même façon qu'en local (l'image sera tout simplement montée dans l'arborescence) et ce au travers de divers langages de programmation ainsi qu'avec son shell dédié, guestfish. Tous les types de partitions supportés par le noyau Linux le sont aussi par Libguestfs. Il est dorénavant possible d'accéder à tout fichier précis, cloner des machines virtuelles, etc très simplement.

À l'issue de ce petit tour d'horizon il est clair que le libre est en totale ébullition concernant la virtualisation, qu'elle soit système ou réseau. Cela avance très vite. Les solutions présentées ici sont toutes 'entreprise ready' ou en passe de le devenir rapidement. Les prochains mois vont être à mon avis plus qu'intéressants !

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Sun VirtualBox

Posté par Olivier Serres () le 17/09/2009 à 19:20. (lien). Évalué à 10.

Il y aussi VirtualBox, par Sun. http://www.virtualbox.org/

Quelques précisions

Posté par franck villaume () le 17/09/2009 à 19:34. (lien). Évalué à 3.

Opennebula est une solution pour faire du cloudcomputing, coeur du projet Reservoir (sponsor IBM...). L'intérêt de piloter opennebula via libvirt pour faire de la virtualisation est limité. L'inverse est beaucoup plus intéressant. Opennebula sait d'ailleurs piloter des VMs KVM, Xen (ou vmware), au même titre qu'un Enomalism (cf http://www.enomaly.com ), et gérer des espaces virtuels tels que EC2.

Quand à la libvirt :
projet très intéressant, très pratique parce que simplifiant énormément les lignes de commandes.... et encore.... celui qui pratique virsh sait que la libvirt est invivable.
Et le niveau d'implémentation des drivers n'est pas le même pour chaque solution. Sans oublier que la libvirt offre une sensation trompeuse de pouvoir de migration de VMs entre les drivers. L'idée de la libvirt est juste d'offrir une API commune à toutes les solutions. Il est nécessaire d'avoir un outil de plus haut niveau pour qu'elle soit utile. Puis après on se rend compte que le niveau du driver est très inférieure aux capacités de la solution de virtualisation.... Résultat : on finit par abandonner la libvirt pour faire les appels directs à la solution choisie.
Seul intérêt possible : le monde hétérogène à condition d'accepter d'avoir un niveau de fonctionnalités très limitées.

--
C01N C01N

Re:

Posté par IsNotGood () le 17/09/2009 à 21:52. (lien). Évalué à 4.

Spice [...] Grandement attendu de la communauté, les informations le concernant restaient malheureusement rares et éparses

Spice est dans RHEL 5.4 et en libre. Mais il n'est pas (encore) dans Fedora, il n'est pas "ouvert" (cvs, mailing, etc).
Je pense que Red Hat veut vraiment en faire un projet ouvert mais que le contexte ne s'y prête pas. Il y a une compétition féroce sur la virtualisation et Red Hat *doit* foncer pour ne pas disparaitre. C'est peut-être à cause de ça que RHEV est, à ma surprise en tout cas, basé sur RHEL 5.4 alors qu'on pouvait penser que Red Hat le proposerait avec RHEL 6 (qui a donc été très nettement repoussé mais devrait sortir l'année prochaine).

Le doute n'est donc plus de mise, SPICE va bientôt rejoindre les rangs du libre !

Brian Stevens (très haut placé chez Red Hat) a été claire aussi et depuis longtemps. Spice sera libéré, et en fait il l'est déjà puisqu'il est dans RHEL 5.4. Mais il n'est pas encore "ouvert".

Ovirt
Version libre de RHEV-M


RHEV-M est libre ! Mais pas gratuit. Il ne faut pas confondre les deux.

Exemple concret, RHEL est libre "mais" payant. Car RHEL est libre il y a Centos (et gratuit ici).


Un constat, Red Hat met vraiment le paquet et mène la "danse" dans la virtualisation. Il a aussi la collaboration d'IBM et d'Intel.
Dans la "guerre" entre Xen et KVM, la messe semble dite. Par exemple il me semble que Red Hat a annoncé ne pas supporter Xen pour RHEL 6.

Les vidéos du dernier Red Hat Summit (voir l'onglet "SUMMIT SESSIONS") :
http://www.redhat.com/promo/summit/2009/highlights/

Il ne faut pas oublier RHEL MRG (qui est libre aussi) et permet de distribuer des calculs (par exemple sur EC2).

Red Hat a aussi lancé le projet deltacloud :
http://deltacloud.org/
"Many cloud, one API, no problem."

Ça ne manque pas d'idée ni de boulot chez Red Hat.

Jails

Posté par Thierry Thomas (Jabber id, page perso, ) le 18/09/2009 à 00:28. (lien). Évalué à 2.

Puisqu'en passant de « Journal » à « Dépêche » « Linux » a été remplacé par « libre », il ne faut pas oublier de parler des BSD jails.

Ce n'est pas de la virtualisation au sens des autres solutions, mais, dans de nombreux cas, ça peut tout à fait faire l'affaire, avec une empreinte mémoire beaucoup plus faible, et une excellente montée en charge.

Et sur FreeBSD c'est un domaine qui est toujours en plein développement, avec de nombreuses fonctionnalités ajoutées ou prévues : [http://wiki.freebsd.org/Jails] .

--
Th. Thomas.

Connaissez-vous Xen ?

Posté par tekzone () le 18/09/2009 à 09:57. (lien). Évalué à 3.

Vous semblez fort méconnaitre le projet Xen. Vous ne parlez absolument pas de l'essentiel et vous concentrez sur un détail sans importance. Résumer le projet Xen à une problématique de noyau est réducteur au possible.

Vous affirmez également qu'il n'est possible de mettre par dessus Xen que 5 types de dom0 différents. Ceci est parfaitement faux, les dom0 supportent une liste assez impressionante de distrib/OS. Une liste non exhaustive est la suivante : Debian, Ubuntu, CentOS, Gentoo, Solaris, Suse, OpenSolaris, Netware, Minix, FreeBSD, OpenBSD. Ca fait déjà rien que 11 solutions et je n'ai pas été chercher très loin.

Le projet Xen est de loin le projet le plus abouti et le plus rapide. Vous oubliez également la spécificité de Xen, que toute le monde lui envie, à savoir la paravirtualisation. Xen permet donc des pertes de performances nettement moindres que tous les autres projets que vous mentionnez.

De plus, le projet Xen est supporté pas de nombreux acteurs de l'industrie informatique telles que Citrix, HP, Cisco, Sun et j'en passe. Sur KVM, Red Hat est cependant bien seul...

Egalement, pour ceux qui pensent que les zones BSD sont de la virtualisation, ce n'est pas le cas. Il s'agit juste de méthodes de segmentation au niveau du système d'exploitation à la manière des chroot Linux ou des zones Solaris.

Je vous invite à vous renseigner un peu plus sur le projet Xen ainsi que ses spécificités.

et un de plus

Posté par karmatronic () le 18/09/2009 à 23:10. (lien). Évalué à 1.

pour etre complet,signalons aussi UML( [http://user-mode-linux.sourceforge.net/]) qui est utilisé sur pas mal de projets(openswan fait ses tests quotidiens la dessus) et gns3 dans le monde reseau,ainsi que cisco packet tracer même si ces deux derniers sont plus orientés simulateurs...

Revenir en haut de page