[[virtualisation]]
Piste: » virtualisation
Virtualisation
(Lstr le 18/12/2006)
Pourquoi la virtualisation ?
Cette technique permet de faire des installations d'autres systèmes sur une seule et même machine. L'avantage est de pouvoir lancer celui qui nous intéresse quand on veut et de ne pas avoir un nombre important de machines avec chacune un système d'exploitation. Il est possible de lancer plusieurs systèmes en même temps mais il faut que les capacités matérielles soient importantes (en processeur et mémoire notamment). Pour pouvoir gagner de la place dans les salles de serveurs, faciliter les installations et les redémarrages après incidents, sécuriser les systèmes, les entreprises y ont de plus en plus recours.
Comment la mettre en place ?
Pour les versions qui ne sont pas payantes, il faut en général installer un système d'exploitation hôte (comme ubuntu par exemple !) puis le logiciel de virtualisation et ensuite laisser libre cours à votre imagination pour l'installation d'autres systèmes en faisant attention aux licences d'utilisation car on est soumis aux mêmes règles que si on installait ce système en direct.
Les différents types de Virtualisation
Emulation
Fonctionnement : le logiciel de virtualisation crée un ordinateur virtuel simulé complet (Bios, processeur, mémoire, disque dur, cartes réseau, vidéo, ...), intercepte une grande majorité des instructions du système invité pour les remplacer par leur équivalent sur le système hôte.
Caractéristiques particulières :
- permet d'exécuter des applications prévues pour d'autres architectures (ordinateurs, consoles, bornes d'arcade ...),
- performances médiocres,
- le système invité n'a pas conscience de la virtualisation.
Exemples : Bochs, Qemu sans accélérateur KQemu
Virtualisation complète ou Full Virtualization
Fonctionnement : le logiciel de virtualisation crée un ordinateur virtuel simulé complet (Bios, processeur, mémoire, disque dur, cartes réseau, vidéo, ...), intercepte et traduit uniquement certaines instructions particulières du système invité : celles qui auraient un impact en dehors de la machine virtuelle, ou ne peuvent être exécutées directement par l'hôte.
Caractéristiques particulières :
- permet d'exécuter des applications prévues pour la même architecture (on ne peut pas avoir une VM pour architecture Intel X86 sur un PowerPC par exemple),
- assez bonnes performances,
- le système invité n'a pas conscience de la virtualisation.
Exemples : VMware, VirtualBox, Qemu avec accélérateur KQemu
HyperViseur ou ParaVirtualization
Fonctionnement : le système invité doit être écrit de manière particulière afin de fonctionner au sein de l'hyperviseur (pilotes et API spécifiques), et y fonctionne directement sans interception des instructions.
Caractéristiques particulières :
- nécessite un système invité compatible avec l'hyperviseur,
- excellentes performances (proche de l'exécution native),
- le système invité a conscience de la virtualisation.
Exemple : Xen, UML
Environnement Virtuel ou Operating system-level virtualization
Fonctionnement : chaque environnement exécuté possède son propre espace mémoire, afin d'être isolé des autres, les autres ressources systèmes sont partagées (pilotes, noyau ...). Les instructions ne sont pas interceptées, et l'environnement exécuté doit impérativement être compatible avec celui du système hôte (on ne peut pas par exemple, exécuter Windows sur un Environnement Virtuel de type Linux).
Caractéristiques particulières :
- permet d'exécuter plusieurs fois le même environnement dans des zones mémoires séparées,
- les ressources partagées empêchent d'obtenir une isolation sûre entre les environnements invités.
Exemple : Linux-VServer, OpenVZ
Exemple de mise en place
- VirtualBox Recommandé pour ses performances et sa simplicité.
Pages en rapport
Contributeurs : ?