Se connecter avec
S'enregistrer | Connectez-vous

Virtualisation et paravirtualisation : comment, pourquoi ?

Comparatif virtualisation : les solutions gratuites
Par

L’idée principale du concept de virtualisation est d’exécuter un système d’exploitation dans une machine virtuelle, chaque machine physique – chaque serveur – étant capable de faire tourner un certain nombre de machines virtuelles.

Optimisation et réduction des coûts

En pratique, virtualiser les serveurs d’une entreprise permet d’utiliser de façon optimale les ressources matérielles, tout en mutualisant la consommation électrique et la maintenance. Cela permet également d’optimiser l’installation, le déploiement et la migration des machines, et de faciliter la mise en production des serveurs. La virtualisation permet enfin de faciliter le dimensionnement des serveurs, la puissance CPU, l’espace de stockage ou la quantité de mémoire vive pouvant être alloué dynamiquement entre les serveurs virtuels. En résumé, la virtualisation permet de faciliter le travail d’administration d’un parc de serveurs, tout en optimisant la gestion des ressources matérielles, et donc le coût.

Comme tout système d’exploitation, un OS serveur est en charge de gérer les ressources matérielles de l’ordinateur (CPU, mémoire vive, périphériques, etc.). Il s’attend donc à avoir seul la gestion de toutes les ressources matérielles de l’ordinateur, et à pouvoir dialoguer directement avec le CPU. Dans un environnement virtualisé, il va donc falloir faire croire à chaque OS fonctionnant en parallèle qu’il est le seul à être installé sur la machine. C’est le rôle de l’hyperviseur, un système d’exploitation très simple intégrant le programme de virtualisation ou VMM (Virtual Machine Monitor). Celui-ci va se charger de simuler autant de machines virtuelles que de systèmes d’exploitation.

Virtualisation, paravirtualisation ou émulation ?

Plusieurs types de virtualisation existent, chacun ayant ses propres avantages et inconvénients. Ainsi, il existe des solutions de virtualisation complète, l’hyperviseur se chargeant de créer un environnement virtuel complet en simulant du « faux » matériel. Le système d’exploitation invité n’aura alors accès qu’à ces ressources simulées, et non aux ressources matérielles réelles. Ce type de virtualisation est toutefois limité aux systèmes d’exploitation prévus pour la même architecture matérielle (x86, x64, ARM, ...) que le processeur physique de la machine hôte.

Pour dépasser cette limite, il faut faire appel à l’émulation : l’hyperviseur créé alors un environnement virtuel complet, en allant jusqu’à simuler un microprocesseur qui peut alors avoir une architecture matérielle différente de celle du CPU hôte. Le principal inconvénient de ce type de solution est alors le niveau de performances, souvent médiocre.

La paravirtualisation est un autre type de solution de virtualisation. Ici, le système d’exploitation invité est conscient de s’exécuter dans un environnement virtualisé, ce qui nécessite bien entendu certaines modifications logicielles. En contrepartie, il devient capable d’interagir avec l’hyperviseur et de lui demander, le cas échéant, de transmettre directement les appels systèmes au matériel du serveur hôte. Les performances « virtuelles » sont alors théoriquement proches de celles qu’il serait possible d’atteindre avec le matériel réel.

Les quatre solutions gratuites que nous avons choisi de tester, à savoir Microsoft Hyper-V Server 2012, VMWare vSphere Hypervisor 5.1.0, Citrix XenServer 6.1 et Proxmox VE 2.2, font justement partie des hyperviseurs capables de prendre en charge la paravirtualisation, sous certaines conditions.

Donnez votre avis