Une grande majorité d'entre vous sait que votre ordinateur fonctionne grâce à l'association de deux parties indépendantes : la partie matérielle (en anglais,
hardware) et la partie logicielle (
software). Alors que le hardware comprend par exemple votre processeur, votre mémoire vive et vos disques durs, la partie logicielle est, quant à elle, constituée de programmes comme un navigateur Web ou un traitement de texte. Ces deux parties communiquent via un composant : le système d'exploitation, qui permet aux applications de communiquer avec le matériel de façon totalement transparente et sécurisée. Ainsi, aucune application ne peut endommager le matériel : tout accès se fait via le système d'exploitation, qui vérifiera les actions des programmes.
Le rôle de la virtualisation est de permettre à plusieurs systèmes d'exploitation isolés de fonctionner en même temps sur un même ordinateur. Les utilisations que l'on peut y voir sont nombreuses et variées. Cette technologie de virtualisation est par exemple utilisée dans l'hébergement pour permettre aux hébergés de contrôler totalement leur serveur sans toutefois permettre l'accès aux données des autres hébergés. On l'utilise aussi pour accroître la sécurité d'un serveur et pour isoler les processus pouvant être compromis. Enfin, les particuliers en profitent aussi : les systèmes d'exploitation étant le plus souvent incompatibles entre eux, la virtualisation permet par exemple de faire fonctionner en même temps des applications faites pour Linux et pour Windows, en faisant fonctionner Windows en même temps que Linux sur l'ordinateur.
Avant de nous intéresser aux trois dernières informations concernant la virtualisation, faisons un petit arrêt sur cette technologie et les différentes variantes existantes pour la mettre en place.
La virtualisation : comment ça marche ?
La virtualisation est une technique permettant de faire fonctionner plusieurs
systèmes invités depuis un
système hôte. Ainsi, faire fonctionner un système Windows dans un environnement Linux signifie que Windows est le système invité (ou
guest OS en anglais), alors que Linux est le système hôte (ou
host OS).
Différentes méthodes existent pour mettre en place de la virtualisation. Elles ont toutes des avantages et des inconvénients, et sont donc ainsi plus ou moins adaptées à certaines situations pouvant être rencontrées.
- Le cloisonnement (ou isolation) : c'est la méthode de virtualisation la plus simple à mettre en place pour l'administrateur, permettant de faire fonctionner avec le même noyau plusieurs systèmes d'exploitation identiques au système hôte. Ainsi, si on met en place ce cloisonnement sous Linux (en utilisant par exemple l'outil standard chroot), le système cloisonné doit lui aussi être basé sur Linux. Cela implique différents inconvénients qui viennent contre-balancer l'avantage de sa simplicité : le seul cas de figure où ce cloisonnement est utile est celui où la virtualisation est mise en place dans le cadre d'une sécurité supplémentaire pour un serveur.
- L'utilisation d'une machine virtuelle : c'est l'alternative la meilleure et la plus utilisée pour les particuliers : on retrouve encore une fois le concept de système hôte et des invités, sauf que cette fois se place une brique supplémentaire entre chaque système invité et l'hôte. Cette brique, c'est la machine virtuelle, dont le but est de simuler le fonctionnement complet d'un ordinateur pour faire fonctionner un autre système. Ainsi, le système invité ne peut toucher qu'à l'intérieur de la machine virtuelle : aucune communication directe n'est réalisable entre l'hôte et l'invité (j'entends par communication directe tout ce qui ne touche pas au réseau, par exemple). Contrairement au cloisonnement, comme la machine virtuelle sert d'intermédiaire entre hôte et invité, tous les systèmes invités sont potentiellement virtualisables de cette manière (en vérité, presque tous à cause de certaines différences de fonctionnement entre une machine virtuelle et un ordinateur réel). Ses inconvénients sont simples : une machine virtuelle est très lourde, ce qui implique un ralentissement du fonctionnement, surtout sur l'invité, mais aussi sur l'hôte. Ainsi, il est impensable de l'utiliser pour sécuriser un serveur, cas pour lequel les cloisonnements et les hyperviseurs (expliqués plus bas) sont bien plus efficaces.
- Les hyperviseurs : c'est un type de virtualisation beaucoup moins connu des particuliers car plus utilisé sur des serveurs que sur nos machines de bureau. Les hyperviseurs sont en fait des systèmes hôtes créés spécialement dans le but d'accueillir des systèmes invités, et la plupart du temps en grand nombre. Pour pouvoir profiter de tous les bénéfices de ces hyperviseurs, le système invité doit par contre avoir été conçu pour fonctionner avec l'hyperviseur : ainsi, les systèmes d'exploitation libres (dont tout le monde peut modifier et lire le code source) sont bien plus prompts à fonctionner avec ce type de virtualisation. C'est néanmoins le type le plus puissant de virtualisation, combinant une très faible perte de vitesse et une grande séparation entre les systèmes invités. Pour information, les hyperviseurs sont notamment utilisés pour l'hébergement de serveurs privés virtuels (VPS) qui permettent un contrôle aussi grand qu'avec un serveur dédié, mais avec les avantages de la virtualisation et notamment son prix réduit
. Cette technologie est aussi appelée paravirtualisation.
Les processeurs intègrent également depuis quelques années des instructions leur permettant d'optimiser au maximum la virtualisation. Les deux méthodes de virtualisation matérielles les plus utilisées de nos jours sont l'
Intel VT (pour «
Virtualization Technology ») et l'
AMD-V («
AMD Virtualization »). Cette virtualisation matérielle est notamment utilisée par les machines virtuelles et les hyperviseurs : en effet, le cloisonnement n'en tire pas profit car on fait tourner uniquement un noyau de système d'exploitation.
Dans l'ordre : le cloisonnement, l'utilisation d'une machine virtuelle et la paravirtualisation en images (source : Wikipédia)
Du nouveau dans le domaine ?
Intéressons-nous maintenant à trois nouvelles plus ou moins récentes sur ce thème, qui concernent trois projets très impliqués dans le monde de la virtualisation de par leur popularité : Xen (développé par l'université de Cambridge), KVM (maintenu et développé par Qumranet) et VirtualBox (développé par Sun Microsystems).
Xen sort la version 3.3 de son hyperviseur
Le premier outil auquel nous allons nous intéresser existe depuis maintenant 3 ans. Développé par l'université de Cambridge, Xen est un hyperviseur (qui permet donc de faire de la paravirtualisation) libre supporté par de nombreuses entreprises comme Intel ou Sun. Le 27 août dernier est sortie la version 3.3 de Xen, améliorant notamment les performances en utilisant au maximum les nouvelles architectures de processeurs capables de gérer la virtualisation matérielle (Intel VT ou AMD-V par exemple). Cela fait de Xen un des outils de virtualisation les plus performants, dépassant de loin ses concurrents comme VMWare ESX.
Xen a également reçu des informations venant d'Intel sur leur prochaine architecture de processeur, nommée Nehalem. Ainsi, toutes les améliorations apportées par ces nouveaux processeurs sont supportées dans Xen 3.3. Cela implique par exemple une grande baisse de la consommation électrique. De ce fait, Xen est une solution de virtualisation rapide et efficace.
KVM racheté par la société Red Hat
KVM est une solution de virtualisation qui fonctionne de pair avec une machine virtuelle. En fait, c'est un module créé pour le noyau Linux dans le but d'améliorer les performances des machines virtuelles en leur permettant d'exécuter du code directement sur le processeur de l'ordinateur hôte plutôt que de faire fonctionner les programmes en émulation (en simulant un processeur virtuel). KVM est disponible sur tous les noyaux Linux de version supérieure à 2.6.20. Il utilise les capacités de virtualisation matérielle des processeurs pour réaliser sa tâche : ainsi, il ne fonctionnera pas sur un processeur non doté d'Intel VT ou d'AMD-V

. Ainsi, KVM est une sorte d'hyperviseur pour machine virtuelle

.
Le 4 septembre dernier, Qumranet, société en charge du développement de KVM, a été rachetée par Red Hat pour la somme de 100 millions de dollars (soit un peu plus de 70 millions d'euros). Cela va permettre à KVM d'être développé plus rapidement et avec plus de soutien financier, et place également Red Hat sur le marché des serveurs virtualisés. Qumranet, englobé dans Red Hat, deviendra d'ici peu un centre de recherche et développement de Red Hat basé à Israël.
VirtualBox 2.0 annoncé par Sun
VirtualBox est une machine virtuelle précédemment développée par Innotek, et rachetée en février dernier par le géant Sun Microsystems. Cette machine virtuelle est disponible en deux versions : une version propriétaire (le code source n'est pas accessible) et la version OSE (Open Source Edition), dont le code est placé sous licence GNU GPL. Avec VMWare Workstation et VirtualPC de Microsoft, c'est un des logiciels leaders dans le domaine, très utilisé notamment par les particuliers souhaitant tester d'autres systèmes d'exploitation.
La version 2.0 de cette machine virtuelle apporte de nombreuses améliorations très importantes pour les utilisateurs : premièrement, chose capitale, la virtualisation de systèmes 64 bits fonctionne enfin quand le système hôte est lui aussi en 64 bits. Ensuite, le contrôleur SATA émulé par VirtualBox (qui sert à accéder aux disques durs) implémente maintenant la norme NCQ, permettant d'augmenter considérablement la vitesse d'écriture sur les disques durs virtuels en groupant les accès proches au disque. L'interface graphique du logiciel est passée de la version 3 à la version 4 de Qt, apportant ainsi tous les avantages qui vont de paire (plus rapide et moins de mémoire consommée en plus de rajouter de nouvelles fonctionnalités). Enfin, les utilisateurs de Mac OS X n'ont pas étés oubliés : une interface graphique spécialement pour Leopard a été conçue et est disponible dans cette nouvelle version.
Liens relatifs
La virtualisation est une technique de plus en plus utilisée, soit par les particuliers pour tester d'autres systèmes d'exploitation, soit par les professionnels pour sécuriser leur infrastructure ou proposer des offres de serveurs privés virtuels à des prix compétitifs. Les trois solutions évoquées dans cette news répondent à des besoins différents mais tous aussi importants, et seront probablement amenés à continuer encore leur évolution.
Merci à A-dream pour la correction orthographique de cette news.
Cette news est distribuée sous licence CC-by-sa : vous pouvez la réutiliser et la modifier sous condition d'en citer l'auteur original.
53 Participations
Connectez-vous !
Connectez-vous !
Revenir à la liste des news