Antoine Benkemoun

15 Juil, 2009

Les différents types de virtualisation : Classification

Posté par Antoine dans la catégorie Etudes|Libre|Virtualisation

tech-presentation-2Après avoir vu l’intérêt de la virtualisation, je vais pouvoir vous présenter les différents types de virtualisation qui existent aujourd’hui sur le marché. Ces billets sur la virtualisation reprennent le contenu de l’AC (avec Romain Hinfray) et de la TX (avec Julie Facon). Je ferais des retours vers ces deux projets en synthétisant le contenu car ca fait trop long pour un blog.

Vous avez surement entendu parler de très nombreux types de virtualisation avec un panel de noms au moins aussi nombreux. Au début, on a tendance à rapidement s’y perdre. Je vais donc essayer dans cet article proposer une classification de la virtualisation qui est celle que nous avons proposé lors de l’AC.

On virtualise quoi ?

Tout d’abord, il est essentiel de se poser la question « Qu’est ce qu’on virtualise ? ». Il est possible de virtualiser beaucoup de choses de nos jours. Un début de liste comporterait des routeurs, des switchs, des applications, des systèmes d’exploitation, de l’espace disque et ainsi de suite. La virtualisation de routeurs et de switchs se fait notamment par les VRF dans les IOS Cisco ou bien des applications telles que Nexus de Cisco (switchs virtuels pour VMWare).

La virtualisation d’application est également un secteur important du marché même si il est peu connu car il n’existe pas, à ma connaissance, d’application libre sur ce secteur. Pour vous illustrer le principe, avec la virtualisation d’application vous pouvez vous connecter sur un portail, cliquer sur l’application de votre choix et elle s’exécute en quelques secondes sans être installé sur votre poste. Je ne sais pas comment ca fonctionne mais c’est assez impressionnant à voir. Un exemple d’implémentation de cette technologie est Citrix XenApp (pas grand chose à voir avec Xen a priori).

Ce dont je vais essentiellement parler, c’est la virtualisation de système d’exploitation. C’est le type de virtualisation généralement le plus connu. Le but de ce type de virtualisation est d’exécuter simultanément plusieurs systèmes d’exploitation sur une même machine physique. Les exemples d’implémentation ne manquent pas : Xen, VMWare, KVM, Hyper-V, …

On virtualise comment ?

Nous allons nous intéresser plus particulièrement à la virtualisation de systèmes d’exploitation. Je vous propose tout d’abord un arbre qui résume bien les différents types de virtualisation. Une fois de plus, il s’agit d’une proposition de classification, il en existe surement plein d’autres.

Classification

Comme on le voit dans le schéma, la première distinction qui est faite est la distinction entre virtualisation de systèmes d’exploitation et virtualisation de processus. Il y a une différence fondamentale entre exécuter un système d’exploitation complet et effectuer un cloisonnement de processus. Des exemples de virtualisation de processus sont OpenVZ, les jails BSD ou encore les zones Solaris.

Dans la virtualisation de systèmes, nous avons distingué à nouveau deux catégories : les systèmes modifiés et les systèmes non modifiées. Cette distinction est également essentielle car elle va régir tout le fonctionnement de la virtualisation. Dans le cas de systèmes modifiées, le système d’exploitation va avoir « conscience » d’être présent au dessus d’une couche de virtualisation et va travailler efficacement avec cette dernière. Dans le cas de systèmes non modifiés, la couche de virtualisation va faire tout son possible pour faire croire au système d’exploitation qu’il est présent sur du matériel physique.

Dans la catégorie des systèmes modifiés, on va retrouver la paravirtualisation. La paravirtualisation est le type de virtualisation inventé par le projet Xen. Ce type de virtualisation a été rendu possible grâce aux logiciels libres car il a été possible de modifier et d’adapter le noyau Linux ou BSD ou Solaris. Microsoft a mis en pratique cette méthode avec son produit Hyper-V intégré à Windows Server 2008.

Dans la catégorie des systèmes non modifiées, on va retrouver la virtualisation totale et la virtualisation matérielle assistée. Cette dernière n’est qu’une amélioration de la virtualisation totale grâce aux extensions processeurs AMD-V et Intel VT.  Ce type de virtualisation est le type de virtualisation le plus utilisé grâce à la simplicité de fonctionnement des applications et à la puissance des outils d’administration existants. On retrouve dans cette catégorie VMWare, VirtualBox et Virtual PC entre autres.

Pour conclure et mettre une nuance à cette classification, il est possible de mélanger les types de virtualisation, je m’explique. Il est possible, par exemple, dans un système d’exploitation fonctionnant en virtualisation matérielle assistée de rajouter des pilotes de paravirtualisation afin d’améliorer les performances ou d’ajouter une fonctionnalité.

5 Commentaires to "Les différents types de virtualisation : Classification"

1 | Nico

juillet 16th, 2009 at 17 h 47 min

Avatar

Petit tour rapide des types de virtu.
Article qui à le mérite d’expliquer relativement simplement les différentes solutions.
A savoir que le choix du type de virtualisation influence énormément sur le comportement des machines virtuelles.

Chacun à ses avantages et ses inconvénients.

2 | amanyev

septembre 8th, 2009 at 18 h 41 min

Avatar

bonjour, moi je suis un novice en theorie de virtualisation meme si j’ai deja utilisé des outils comme virtualBox, Windows Server et maintenant Xen que je tente tant bien que mal de comprendre. toutes ces solution mon amené a m’interesser a la theorie de la virtualisation(hitorique, les types de virtualisation, les techniques,…) et en cela je peux dire que ton blog m’a beaucoup aidé.
Mon probleme est que là ou tu parles de technique de virtualisation d’autres(sites, blogs ou doc ) font reference aux types de virtualisation. et pour parler de techniques il parle de: noyau en espace utilisateur, isolateur,machine virtuelle etc
Y’a t’il une nuance entre les deux. sinon, que designe t’on en parlant types de virtualisation d’une part et de technique de virt d’autre part.

Merci

3 | Antoine

septembre 9th, 2009 at 9 h 49 min

Avatar

Bonjour,
Je ne trouve pas qu’il y ait de différence entre les deux. Un terme plus exact à utiliser serait « Types de techniques de virtualisation ». Un raccourci ou l’autre me semble donc tout à fait valable.

4 | Benoit

octobre 20th, 2010 at 22 h 24 min

Avatar

Bonjour,

Je ne suis pas d’accord avec la réponse que tu donnes sur ce point : On virtualise quoi ?
Pour moi c’est la machine physique qu’on virtualise et non le système d’exploitation car c’est la couche matérielle qui est émulée.
Un exemple de virtualisation de système d’exploitation, pour moi, c’est Wine.

5 | gloriuscity

août 29th, 2012 at 13 h 38 min

Avatar

Vous m’avez aidé dans la réussite de mon mémoire

Ajoutez votre commentaire

A propos de ce blog

Ce blog a pour objectif de partager des informations avec tous les internautes. Comme indiqué dans le titre, je traiterais de différrents sujets gravitant autour de la sécurité informatique, de la virtualisation, de la l'administration système et du réseau.