La virtualisation permet de faire fonctionner, sur une même machine physique, différents systèmes d'exploitation (SE) isolés les uns des autres. Les bénéfices attendus sont connus : consolidation de serveurs, utilisation de la puissance machine disponible, portage d'applications issues de SE obsolètes, plan de reprise d'activité, ou encore utilisation à des fins de développement. L'apparition des instructions Intel VT-x et AMD-V, dédiés à la virtualisation processeur, apporte des améliorations. Car ils permettent aux systèmes virtualisés de bénéficier de privilèges d'exécution dévolus aux systèmes natifs.Par ce fait, les systèmes virtualisés gagnent en puissance de calcul et en étendue fonctionnelle : exécution de systèmes invités en 64 bits, capture d'images instantanées, montée en charge linéaire, etc. Afin de vérifier les bénéfices apportés par ces instructions, nous avons testé trois logiciels de virtualisation avec le serveur HP ProLiant DL580 G4, équipé de quatre processeurs 64 bits Dual-Core Intel Xeon 7140M, dotés justement des instructions Intel VT-x.Nous avons sélectionné le logiciel Virtual Server R2 SP1 bêta 2 de Microsoft, qui nécessite un système d'exploitation hôte Windows pour fonctionner. Puis deux solutions dites “ bare-metal ”, qui s'installent directement avec le matériel : Virtual Infrastructure 3 de VMware, qui se fonde sur ESX Server, et XenEnterprise 3.1 de XenSource.
Intel VT-x ne profite pas à tous
La solution de VMware tire parti des instructions Intel VT-x, afin d'exécuter des systèmes invités 64 bits. Ici, les environnements invités ne nécessitent aucune adaptation pour fonctionner. De son côté, XenEnterprise occupe le créneau de la paravirtualisation. Par ce fait, les SE invités doivent normalement être modifiés pour fonctionner avec XenSource. Cela fonctionne avec les distributions Linux de Red Hat et Suse de Novell, mais évidemment pas avec les SE Windows, dont le code source n'est pas disponible.Point positif, la version testée contourne cet obstacle, car la gestion des instructions Intel VT-x lui permet de faire fonctionner tous ces systèmes sans modification préalable. Pour sa part, Virtual Server R2 SP1 de Microsoft ne présente pas d'avantage notable lorsque les instructions sont activées au sein du Bios. En matière d'administration, la solution de VMware est la plus avancée. Ses clients d'administration Virtual Infrastructure et Virtual Center prennent en charge la création, le clonage et le déplacement à chaud des machines virtuelles.L'offre dispose aussi d'indicateurs de consommation de ressources. Chez XenSource, les fonctions de supervision, embryonnaires, reposent sur quatre indicateurs temps réel dont la persistance n'est que de 15 minutes. La supervision est aussi élémentaire pour Virtual Server de Microsoft. En matière de gestion des ressources, VMware prend en charge un mode SMP virtuel, qui permet d'affecter différents processeurs à une machine virtuelle. VMware intègre aussi un mécanisme d'allocation dynamique de la mémoire vive (memory ballooning).Pour XenEnterprise et Virtual Server, l'allocation de ressources est statique : chaque machine virtuelle dispose d'une quantité de mémoire vive préétablie qu'elle ne peut dépasser. Cela oblige l'administrateur à diviser la mémoire vive globale, avant l'exécution de la machine virtuelle, indépendamment des besoins réels de chaque système invité. Point intéressant, tel VMware, Microsoft Virtual Server inclut une gestion des priorités entre les machines virtuelles, ce qui permet d'accorder plus de ressources processeur à un système invité jugé critique.En matière de performances, notre laboratoire a mesuré l'augmentation de la puissance de calcul (transactions SSL) d'une machine physique lorsque le nombre de machines virtuelles augmente. Jusqu'à huit, la puissance totale de calcul augmente de manière quasi linéaire, ce qui est un résultat positif. Au-delà, nous observons un tassement avec les trois logiciels. Le fait de créer des machines virtuelles supplémentaires contribue même à diminuer la puissance totale de calcul, car leur fonctionnement est consommateur de ressources.
Des performances accrues avec les systèmes 64 bits
ESX Server présente des performances deux fois supérieures à celles de ses concurrents, ce qu'explique la prise en charge de systèmes invités 64 bits. Ses concurrents ne prennent en charge que les systèmes invités 32 bits. En revanche, les instructions VT-x n'apportent pas de gain pour l'usage des entrées/sorties (DMA, interruptions systèmes) par les systèmes invités. Les tests transactionnels réalisés avec une application Perl/CGI montrent donc un faible niveau de transactions lors d'opérations de lecture et d'écriture vers des disques locaux configurés en Raid 5.XenEnterprise obtient au mieux 40 % des performances mesurées sans virtualisation, et 28 % dans le cas de Virtual Server. Les résultats empirent lorsque ces volumes sont déportés vers une baie SAN. De l'aveu même des éditeurs, la virtualisation des entrées/sorties doit s'améliorer. Ce qui sera le cas avec les instructions VT-d. Partant de ce constat, ils déconseillent de virtualiser des serveurs fortement transactionnels, telle une base de données relationnelle. Concernant les prix, les différences sont notables.Virtual Server de Microsoft est téléchargeable gratuitement, mais le SE sous-jacent qu'il requiert est payant. Les entreprises qui disposent d'une licence Windows Server 2003 Enterprise (de 3 000 à 4 000 euros HT) pour un serveur quadriprocesseur peuvent exécuter jusqu'à quatre machines virtuelles Windows. Par ailleurs, le logiciel de Microsoft est transitoire, car le futur serveur de Microsoft Longhorn comportera un hyperviseur capable de tirer parti des jeux d'instructions Intel VT-x et AMD-V. Beaucoup plus évolué, Virtual Infrastructure 3 de VMware est aussi le plus onéreux.
Votre opinion