[[virtualisation]]
Piste: » virtualisation
Virtualisation
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.
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, coLinux
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
Logiciels
- VirtualBox : Recommandé pour (ses performances et) sa simplicité.
- KVM : l'environnement de virtualisation Linux du futur (comprendre le mieux supporté)
- Xen : un peu difficile a mettre en place, mais donne des resultats proches de 100% du système hote. Recommandé pour la virtualisation de services réseau (ftp, web, dns, dhcp …)
- chroot : la premiere forme de virtualisation sous Linux, aucune gestion matérielle,
- xVM : solution de virtualisation de SUN pour serveurs de souche XEN.
- Proxmox : une solution de virtualisation open source pleinement intégrée.
gestion graphique pour environnement de virtualisation
- Convirt (paquet),
- virt-manager (paquet),
- enomalism (Xen)
Divers
- http://www.ubuntu.com/products/whatisubuntu/serveredition/jeos : environnement ubuntu dédié à la virtualisation.
Liens
- petit topo sur OpenVZ et Vserver sur le site des Linuxiens : http://www.linuxfr.org/~Aefron/27379.html ; OpenVZ et Vserver sont des "container" au même titre que chroot.
- des linuxiens partagent leur expérience en martière de virtualisation. Xen remporte un franc succes. On y évoque aussi OpenVZ et VMware.
- virtlib et les applications associées
Pages en rapport
Contributeurs : ?
