Archive for juillet, 2009

La virtualisation : mais qu’est ce donc ???

jeudi, juillet 2nd, 2009

Loin de moi l’idée de rentrer dans une explication théorique de chacun des systèmes de virtualisation existant, le but de cet article est plus simplement d’essayer de faire, d’une manière relativement simple, un tour d’horizon de ce nouveau monde appelé « virtualisation ».

On va aborder le problème en douceur avec une simple définition :

« La virtualisation est l’ensemble des technologies matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d’exploitation et/ou plusieurs applications, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiques distinctes. »

Mouais, bof me diras-tu, ça fait pas trop avancer le schmilblick. La philosophie de la virtualisation est donc de prendre plusieurs systèmes physiques distincts pour, au final, tous les intégrer dans un système physique unique (je prends mes 3 serveurs et je vais chercher grâce à la virtualisation à les faire tourner en même temps sur un seul serveur).

I – TECHNIQUES DE VIRTUALISATION :

Ca n’a pas l’air bien compliqué de prime abord, pourtant, de nombreuses méprises existent du fait de la multiplicité des techniques de virtualisation. Nous allons ici en exposer les principales.

L’isolateur :

L’isolateur est une spécificité des systèmes Unix. Cette technique permet, comme son nom l’indique, d’isoler une application du reste du monde (on dit que l’application est isolée dans un contexte d’application ou encore zone d’exécution).

Parmi les solutions d’isolateur dont vous avez peut-être entendu parlé, nous pouvons citer : VServer, chroot, bsd jail.

Diagramme ArchiIsolateur.png

Les machines Virtuelles :

Le concept est simple. On prend une machine avec un OS, et par dessus on installe un émulateur associé à un logiciel de contrôle qui va nous permettre de gérer nos machines virtuelles.

Cette solution bien que lourde en terme de ressources utilisées permet de manière relativement simple de faire cohabiter plusieurs OS de manière totalement isolée. Ces machines étant isolées, les diverses machines virtuelles d’un même système hôte communiquent donc via des interfaces classiques (par exemple en réseau).

C’est à ce jour, la technique de virtualisation qui comporte le plus de « produits ». Parmis ceux ci, nous pouvons citer :  Vmware Server, Virtualbox, Microsoft Virtual PC, etc etc.

Diagramme ArchiEmulateur.png

Les Hyperviseurs :

L’idée ici est d’installer au niveau du système hôte (la machine physique) un tout petit noyau n’ayant que deux fonctionnalités :
– mettre en relation les machines virtuelles et le matériel
– gérer les machines virtuelles

Actuellement sur le marché, peu de solutions existent de ce type et elles sont majoritairement destinées aux entreprises. Nous pouvons citer Xen, Vmware ESX et ESXI et le dernier arrivé : Mircrosoft Hyper V.

Diagramme ArchiHyperviseur.png

En voilà assez pour la technique. La question qui doit vous bruler le clavier est la suivante : « quels sont les avantages de tout ce merdier ? » (je vais omettre volontairement les avantages de la virtualisation en entreprise pour me concentrer plus spécifiquement sur les avantages que cela peut représenter pour un utilisateur simplement curieux et / ou possédant par exemple un serveur dédié chez un hebergeur).

II – QUELS AVANTAGES POUVEZ VOUS TIRER DE LA VIRTUALISATION ? :

– La possibilité rapide de tester un système. Et oui, plus besoin de jouer avec les partitions, le boot etc, une installation sur une machine virtuelle va vous permettre de tester autant de système que vous voulez sans pour autant impacter votre système existant.
– Crasher des systèmes sans risques. Des envies de violences ? vous avez toujours rêvé de savoir ce que donne un rm -rf / sur votre distrib ? pas de soucis, une machine virtuelle peut vous permettre de tester tout et n’importe quoi. Pour le recovery (et en fonction du système choisi), il vous suffira simplement de remettre dans un emplacement adéquat le répertoire de votre machine virtuelle.
– Sécuriser vos applicatifs :
ici, il s’agit du domaine des isolateurs. Vous allez pouvoir, sur votre serveur dedié par exemple, sécuriser vos applications grâce à la mise en place d’un espace utilisateur restreint. Ainsi par exemple, si votre application est compromise, votre système entier ne l’est pas.

III – CONCLUSION :

En dehors des considérations purement techniques, la mise en place de solutions de virtualisation répondent en général (pour les particuliers) soit à un besoin de flexibilité soit à un besoin de sécurisation. Comme nous avons pu le voir, de nombreuses techniques permettent de répondre quasiment dans chaque cas à vos besoins. Il convient aussi de bien comprendre que les systèmes de virtualisation sont encore majoritairement jeune (à l’exception de vmware). Je pense que vous aurez l’occasion dans ces mêmes colonnes de retrouver d’autres articles dans l’avenir au vue de l’avancée rapide de ces technologies.

(Sources images : Wikipedia)