Skip to content

Cloisonnement et Virtualisation

Voici un petit article pour décrire les différentes techniques de cloisonnement et de virtualisation disponibles sous quelques OS libres et notement Linux.


Introduction

Il y a quelques années, on ne parlait pas autant de virtualisation car ce genre de technologie n'était disponible que dans les systèmes d'exploitation présents sur les mainframes.

Sur des OS plus accessibles, ils sont arrivés plus récement, quoique la première méthode de virtualisation est asez ancienne sur les systèmes Unix.

Chroot

chroot est la 1ère technologie de cloisennement. Avec cette technologie, on peut lancer des processus dans un autre environnement d'exécution (librairie d'éxécution, configuration des logiciels différentes).

En fait, on change le répertoire racine du processus que l'on va exécuter. On peut donc installer une nouvelle version d'une distribution dans un répertoire, changer le répertoire racine (chroot) pour se positionner dans ce nouveau répertoire et lancer les différents processus.

Ces processus ne pourront pas accèder à des fichiers présents en dehors du répertoire "chroot" ce qui permet de les sécuriser par exemple.

Cela permet aussi d'éxécuter des processus qui ont besoin d'une librairie dans une version particulière et qui n'est pas la version de base de sa distribution.

Par contre si on lance un shell dans ce nouvel environnement : lors d'un ps, on va voir l'ensemble des processus qui tournent sur la machine et on ne peut pas modifier la configuration "basse" du système (comme le réseau par exemple).

Virtualisation au niveau système d'exploitation

Après le cloisonnement, on va aller plus loin avec cette technologie de virtualisation au niveau système d'exploitation.

En effet, cette fois on va pouvoir démarrer une nouvelle instance de son système d'exploitation. Qui dit nouvelle instance, dit nouvelle configuration globale de cette instance avec par exemple une nouvelle IP, des nouveaux utilisateurs (et donc pouvoir fournir une accès root avec un nouveau mot de passe pour cette instance)... : tout est nouveau ;-)

Par contre, comme on crée une instance du système d'exploitation qui tourne déjà sur la machine (système hôte) c'est le même noyau qui est utilisée dans cette instance (on peut tout à fait utiliser une autre distribution dans le cas Linux) et on ne va pas pouvoir modifier des paramètres du noyau dans notre instance.

Dans cette catégorie, on peut citer OpenVZ et VServer pour Linux, les Zones/Container pour OpenSolaris et les Jail de FreeBSD.

En fonction de l'outil utilisé, on va quand même pouvoir utiliser les outils installés dans le système hôte ce qui permet de réduire la place disque occupé (comme avec les Zones de Solaris).

Para-Virtualisation

Encore plus loin dans la virtualisation, on va cette fois pouvoir démarrer un système d'exploitation complet (noyau/kernel compris).

Pour pouvoir le faire, une partie du processus de virtualisation va être traité par le système hôte et une partie par le système invité (le système que l'on veut démarrer) car il va falloir qu'il accède au travers le système hôte aux matériels présents dans la machine.

Cette obligation de modification du système invité réduit malheureusement les candidats à la virtualisation.

Dans cette catégorie, on peut citer Xen et UML.

Machine Virtuelle

Encore plus loin, cette fois la couche de virtualisation va émuler aussi le matériel présent (ou pas) dans une machine.

Cela permet de montrer au système invité (que l'on va installer) une machine complète : on n'a plus besoin de le modifier car il a l'impression d'être sur une vraie machine.

Dans cette catégorie, on peut citer QEmu et le célèbre VmWare (qui n'est pas libre, uniquement gratuit dans sa version server et player).

Conclusion

Ces différentes technologies répondent à des besoins différents et il est bien de savoir ce que l'on veut faire avant d'en choisir une pour ne pas perdre trop en performance par rapport aux fonctionnalités obligatoires requises.

En effet, plus ces technologies offrent de possibilités (dans l'ordre : cloisonnement - virtualisation au niveau OS - Paravirtualisation - Machine virtuelle) et plus on perd en performance (over-head).

Mais cette affirmation risque de changer avec l'utilisation des API de virtualisation incluses dans les nouveaux processeurs d'Intel et AMD.

Rétroliens

Pas de rétroliens

Commentaires

Afficher les commentaires en Vue non groupée | Vue groupée

Pas de commentaires

Ajouter un commentaire

Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.

Pour éviter le spam par des robits automatisés (spambots), merci d'entrer les caractères que vous voyez dans l'image ci-dessous dans le champ de fomulaire prévu à cet effet. Assurez-vous que votre navigateur gère et accepte les cookies, sinon votre commentaire ne pourra pas être enregistré.
CAPTCHA

Form options
tweetbackcheck