Transcript

1

Virtualisation par logiciels libres

Benoît DonnetteExpert OSSA

2

● Qu'est-ce que la virtualisation ?– Raison d'être– Histoire, généralisation

● Technologies de virtualisation● Virtualisation libre

– Principaux logiciels● Conclusion

Sommaire

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 » ;-)

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é.

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 !

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

7

La virtualisation, raison d'être

● Abstraction suivante : la machine virtuelle– VM = ensemble de tâches + OS

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.

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

10

Technologies de virtualisation

Machine virtuelle

OS hôte

Matériel

Application

OS

VM logicielle

Application

OS

Application

OS

VM logicielle VM logicielle

11

Technologies de virtualisation

OS hôte

Matériel

Application

OS

Virtualisation

Application

OS

Application

OS

Virtualisation d'OS

12

Technologies de virtualisation

Hyperviseur

Matériel

Application

OS

Application

OS

Gestionnairede VM

Hyperviseur complet

13

Technologies de virtualisation

Hyperviseur

Matériel

Application

OS

Application

OS

Application

OS

Paravirtualisation

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

15

OpenVZhttp://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

16

Qemuhttp://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

17

VirtualBoxhttp://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

● Gourmand en RAM

18

Xenhttp://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)

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

20

Conclusion

● Approche opposée au clusterCluster : 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

21

Merci de votre attention

[email protected]