7/29/2019 Virtualisation Redhat
1/28
Virtualisation sous Linuxune volution maitrise ?
Daniel Veillard
7/29/2019 Virtualisation Redhat
2/28
Une jungle d'acronymes
Xen
KVM
VMWare
UML
QEmu
OpenVZ
VServer
VirtualBox
VirtualIron
lguest
7/29/2019 Virtualisation Redhat
3/28
Dfinition et but
Dfinition: Dcoupler les ressources informatique de leur implmentation
But: abstraire le matriel pour s'en affranchir
Machine Virtuelle Processeurs virtuels Mmoire Priphriques rels ou muls
Stockage Virtualis Disque distants Disques locaux muls
Transition du multitche au multi-OS
7/29/2019 Virtualisation Redhat
4/28
Benefices de la virtualisation
Les bnfices sont de deux ordres : Rduction des couts
Meilleure gestion de la capacit
Simplification de la maintenance Mise a l'chelle
Rduction des risques Isolation et scurit des services Indpendance matrielle Redondance aise
7/29/2019 Virtualisation Redhat
5/28
Exemple: une salle machine
Contraintes physiques Taille, nergie, climatisation
Surdimensione
Utilisation moyenne 10 - 30% Un serveur par application/client
Simplification de la gestion, facturation Scurit
Problmes Couts Administration
7/29/2019 Virtualisation Redhat
6/28
La virtualisation en action
Politique de
Scurisation
Rpartition dynamique decharge
Pas d'interruption de service,
migration
Consolidation de serveurs sous-utiliss
7/29/2019 Virtualisation Redhat
7/28
Des virtualisations
mulateurs: simulation complte de la machine ex. QEmu, Hercules
Virtualisation complte: Rutilise le processeur natif quand possible OS client non modifie, requiers support matriel
Para-virtualisation: OS client recompil pour la machine virtuelle
Conteneurs: Un seul OS, avec des primitives de cloisonnement
Autres: R-criture au vol (VMWare)
Matriel virtualis (mainframes)
7/29/2019 Virtualisation Redhat
8/28
Technique de virtualisation
Problme Le jeu d'instruction du i386 n'est pas virtualisable
mulation complte (QEmu)
Contrle total, mais lent Rcriture du code au vol (VMWare)
Plus rapide mais trs complexe Paravirtualisation
Recompilation pour la plateforme virtuelle, idal Virtualisation matrielle
Nouveaux CPUs, reste complexe
7/29/2019 Virtualisation Redhat
9/28
Virtualisation avec hyperviseur
Materiel
Hyperviseur
Domaine
Noyau
Hyperviseur isole les noyaux du materiel, ex. Xen
7/29/2019 Virtualisation Redhat
10/28
Virtualisation sans hyperviseur ddi
Materiel
Domaine Domaine Domaine
Noyau
Noyau Noyau
Le noyau principal est l'hyperviseur, ex. KVM
7/29/2019 Virtualisation Redhat
11/28
Virtualisation avec un seul noyau
Matriel
Domaine
Noyau
Le noyau sert tous les domaines Partition des priphriques Allocations mmoire/CPU unifies
DomaineDomaine
7/29/2019 Virtualisation Redhat
12/28
Facteurs determinants
Capacits d'mulation Performances Scurit
Occupation mmoire, disque Fonctionnalits:
Tuning drivers Snapshots Migrations a froid/a chaud
Outils d'administration Couts
7/29/2019 Virtualisation Redhat
13/28
Compromis flexibilit/performances
Flexibilit
Performances
Emulation
conteneurs
Virtualisation
paravirtualisation
Virtualisation +
pilotes paravirtuels
7/29/2019 Virtualisation Redhat
14/28
QEmu
Emulateur, CPU et Materiel Nombreuse plateformes emulees Auteur principal Fabrice Bellard
Reutilise par d'autres outils (Xen, KVM)
7/29/2019 Virtualisation Redhat
15/28
Xen
Projet de Recherche, Cambridge UK Paravirtualisation de Windows et Linux Licence GPL
Prsentation a OLS 2004 Performances intressantes Virtualisation complte (Qemu + support processeur) Intgration partielle dans Linux 2.6.23
Rachat par Citrix Coopration avec Microsoft
7/29/2019 Virtualisation Redhat
16/28
Architecture de Xen
RHEL
Matriel
Hyperviseur XenContrle
Pilotes
virtuels
domUdom0
Pilotes
virtuels
Pilotes
rels
Domaine0
Privilgi, gre les priphriques.
Fournit les interfaces de contrle
et outils de gestion
Hyperviseur Xen
routage IRQ, squenceur , and communications entre domaines.
Implmente le partage transparent des ressources avec les pilotes
rels et limitations d'usage
Domaine non privilgi:
Machine Virtuelle
CPU, Memoire, Stockagevirtualiss
7/29/2019 Virtualisation Redhat
17/28
Xen: nombreuses fonctionnalits
Cycle de vie classique de la machine virtuelle Sauvegarde/restauration de l'image mmoire Migration a froid et a chaud
Redimentionnement memoire et CPUs a chaud Pilotes de priphriques complets via Linux Bon support i386/x86_64 , ia64
Robuste, beaucoup de tests Isolation correcte mais pas absolue Bonne performances en paravirtualisation
7/29/2019 Virtualisation Redhat
18/28
KVM: le challenger
Integre au source de linux depuis 2.6.20 Virtualisation complte Ncessite support matriel (Inter VT or AMD-V) Utilise QEMU pour la partie mulation Avi Kivity (Qumranet) et de nombreux partenaires Fonctionnalits augmentent:
Support processeurs S390, ia64, ppc64 Migration
Drivers paravirtuels linux/Windows Port FreeBSD
7/29/2019 Virtualisation Redhat
19/28
UML User Mode Linux
Inclus dans les noyau 2.6.x linux est un programme Faible performances
Tres simple a mettre en oeuvre
7/29/2019 Virtualisation Redhat
20/28
VServer
Containers pour Linux depuis tres longtemps (patch) Partage du systeme Interception des appels systemes
Pas d'emulation, tres rapide Ordonnanceur unique Un seul noyau Modele reseau tres simple
7/29/2019 Virtualisation Redhat
21/28
OpenVZ
Patch pour noyaux recents, modele a container Implementation plus complexe que Vserver Scheduler a deux niveau
Virtualisation du reseau Tuning tres avance, I/O, reseau et CPU Checkpointing, migration a chaud Base de Virtuozzo solution proprietaire
7/29/2019 Virtualisation Redhat
22/28
Compromis flexibilit/performances
Flexibilit
Performances
QEmu
OpenVZ
Xen - FV
Xen - PV
Xen FV + PilotesVMWare
KVM
UML
VServer
7/29/2019 Virtualisation Redhat
23/28
Evolution: integration,uniformisation
Au niveau du matriel Support pour la virtualisation, partitionnement des CPU Partitionnement, QoS pour les entres/sorties
Au niveau du noyau linux Primitives de virtualisation av-ops Intgration de Xen Amlioration de KVM (appel systmes)
Au niveau applicatif API d'isolation libvirt Problme de l'affichage, accs GPU Outils systmes
'Appliances' Systme + Application prt a l'emploi
7/29/2019 Virtualisation Redhat
24/28
PV-Ops
Linus 'mettez-vous d'accord !' API dans le Noyau pour la virtualisation
Virtualisation de l'espace memoire, CPU et I/O
Rutilisable par Xen, VMWare, KVM ... Plus de patch noyaux Interface stable
I386 pv-ops dans le noyau standard X86_64 en cours Noyau unifie pour Domaine 0 et les noyaux clients
7/29/2019 Virtualisation Redhat
25/28
Libvirt
API stable pour la virtualisation LGPL http://libvirt.org/ API Generique (Xen, Qemu, KVM, OpenVZ, ...) Relativement portable Solaris, Windows, OS-X...
Operations de base Crer/dtruire/suspendre/sauver/migrer Description XML des machines virtuelles Statistiques, support NUMA
Ecrit en C Bindings python, perl, Java, Ocaml, Ruby
http://libvirt.org/http://libvirt.org/7/29/2019 Virtualisation Redhat
26/28
Libvirt et compagnie
Virsh: shell de contrle de la virtualisation Virt-manager: interface graphique de management
Cycle de vie complet
Cration, migration Console locale et distantes Libvirt-CIM
implmentation CIM par IBM (LGPL) Pegasus et SFCB Xen et KVM
Cobbler: Environnement d'installations automatiques Koan agent de rinstallation
7/29/2019 Virtualisation Redhat
27/28
Conclusions
De nombreuses solutions Des besoins trs divers Intgration lente mais en progrs
Le matriel doit voluer Changement des habitudes de travail
7/29/2019 Virtualisation Redhat
28/28
Questions?
[email protected] | www.redhat.com
Top Related