2. Sommaire
●
Qu'est-ce que la virtualisation ?
– Raison d'être
– Histoire, généralisation
●
Technologies de virtualisation
●
Virtualisation libre
– Principaux logiciels
●
Conclusion
2
3. Qu'est-ce que la virtualisation ?
●
Virtualiser : donner à une machine l'apparence
de n machines logiques
Une forme de schizophrénie logicielle « Je sont des autres » ;-)
3
4. Qu'est-ce que la virtualisation ?
Système hôte : système qui acceuille les solutions
de virtualisation, qui met à disposition ses ressources.
Système invité : système qui utilise les ressources
mises à disposition par l'hôte.
VE : Virtual Environment. C'est une machine logique.
Généralisation d'un système invité.
4
5. La virtualisation, raison d'être
Premiers ordinateurs : « machines à batch »
– Programmation séquentielle
– CPU peu utilisé lors des I/O
– Si le batch se finit, la machine attend...
Au prix de la puissance de calcul à l'époque !
5
6. La virtualisation, raison d'être
Première solution : la multiprogrammation
– Accessible dès que l'on a pu charger rapidement
un programme (RAM, disque)
– Initialement faite « à la main », puis déléguée
au système
Apparition d'une couche d'abstraction : la
« tâche », la machine se présente sous la
forme d'unités de traitement parallèles
6
7. La virtualisation, raison d'être
●
Abstraction suivante : la machine virtuelle
– VM = ensemble de tâches + OS
7
8. La virtualisation, raison d'être
●
Utilisation actuelle moyenne des serveurs ~10%
(Source : Wikipedia)
●
Besoin d'optimiser l'utilisation des ressources
– Optimiser l'énergie, la ressource de calcul,
l'espace physique pris par les machines
– Besoin de systèmes cloisonnés donc indépendants
La solution : la virtualisation. Une seule machine
présente l'apparence de plusieurs machines
indépendantes.
8
9. La virtualisation – Histoire
●
Recherches IBM, au catalogue dès 1972 (VM/CMS)
●
Mainframes, architectures NUMA (Superdome)
●
Généralisation par l'émulation (années 1980-90)
●
Début 2000 : VMWare
●
Apparition des instructions de virtualisation sur les
processeurs de PC (2004)
La virtualisation devient accessible à tout
ordinateur personnel
9
10. Technologies de virtualisation
Application Application Application
OS OS OS
VM logicielle VM logicielle VM logicielle
OS hôte
Matériel
Machine virtuelle
10
11. Technologies de virtualisation
Application Application Application
OS OS OS
Virtualisation
OS hôte
Matériel
Virtualisation d'OS
11
12. Technologies de virtualisation
Application Application
Gestionnaire
de VM
OS OS
Hyperviseur
Matériel
Hyperviseur complet
12
14. Virtualisation par logiciels libres
Système hôte considéré : Linux
●
Toutes les technologies sont représentées
●
Un grand nombre de projets
●
4 projets remarquables, matures
– OpenVZ, Qemu (kqemu, kvm), VirtualBox, Xen
●
Des cadres prometteurs (kvm, lguest)
●
Des solutions stables et solides
14
15. OpenVZ
http://openvz.org/
Solution libre de virtualisation d'OS
●
Issue du logiciel commercial Virtuozzo
●
Econome en mémoire
– (1 seul kernel, plusieurs VM)
●
Bon niveau de performances
– 1 seul kernel, une seule couche système
●
Limité au partage de plusieurs VE sous
(strictement) le même OS
●
Mise en place d'une distribution délicate
15
16. Qemu
http://fabrice.bellard.free.fr/qemu/
F. Bellard, produit sous licence GPL
●
Logiciel de machine virtuelle
– Produit très ingénieux : virtualisation native ou par
émulation
●
Accélération potentielle : kqemu ou kvm
●
Produit mature, stable
●
Interface un peu désuète
16
17. VirtualBox
http://www.virtualbox.org/
Logiciel de machine virtuelle de Innotek GMBH
●
Coexistence d'une version Open Source et d'une
version éditeur
●
Les 2 versions sont très actives
●
Utilise des parties de Qemu (boot)
●
Accélération par module
●
Interface aboutie
– Démarrage de VM en quelques clics
●
17
Gourmand en RAM
18. Xen
http://xen.org/
University of Cambridge - Citrix
●
Paravirtualiseur, né sous la forme d'un moniteur
●
Disponible pour les machines sans extensions de
virtualisation
– Dans ce cas, un noyau modifié est nécessaire
●
Profite des extensions de virtualisation si disponibles
depuis la version 3.01
●
Configuration souple mais complexe
●
Dom0 (hôte) limité à certains kernels (patches lourds)
18
19. Conclusion
●
Plusieurs solutions libres pour plusieurs
problèmes
– Couverture des principales technologies
●
Outils d'administration locale et à distance en
retrait
– Développements en cours
19
20. Conclusion
●
Approche opposée au cluster
Cluster : n machines regroupées en une machine logique
●
Les deux approches devraient en fait être
complémentaires
Le cluster apporte la sûreté et la capacité en pointe de charge, la
virtualisation consolide l'utilisation globale.
●
Généralisation : n machines logiques sur p
machines physiques
Possible et même opérationnel sur certains services (SGDB/JDBC)
Solutions encore spécifiques
20