2. Etat des lieux
Depuis 2008, le nombre de machines virtuelles
installées sur des serveur X86 a dépassé le
nombre de serveurs physiques vendus au cours
de l'année (IDC)
3. La virtualisation - Rappels
Les différentes solutions de virtualisation
Les machines virtuelles (Vmware,
VirtualBox, …)
Les hyperviseurs ou la para-virtualisation
(Xen, HyperV
Les conteneurs ou isolateurs (Zones
Solaris, OpenVZ, LXC...)
4. Historique
La virtualisation est assez ancienne (année 60
– IBM) mais elle est l'objet d'un regain d'intérêt
depuis quelque temps
Elle rencontre un plein succès depuis la montée
en puissance des processeurs X86 et la mise
sur le marché de la virtualisation matérielle
5. Les raisons du succès
Nécessité de limiter les coûts
Préoccupations écologiques
Meilleure efficacité (de 5% à 60% de tx
d'utilisation) – Jusqu'à 20 MV sur un serveur
physique
Déploiements et exploitation simplifiés
Grande souplesse d'utilisation
Environnement de test faciles à mettre en
oeuvre
Sauvegarde d'applications anciennes
6. Virtualisation et cloud computing
Le Cloud Computing utilise la virtualisation
– Amazon EC2 utilise XEN
– OpenStack (KVM, XEN, VirtualBox)
– OpenNebula (KVM, XEN, VmWare)
– Eucalyptus (XEN)
7. Virtualisation des postes de travail
VDI : Virtual Desktop Infrastructure
La virtualisation commence à prendre en
compte les postes de travail.
Utilisation de virtualisation et de protocoles de
bureau distants : ICA, RDP et NX
SPICE (Redhat) protocole similaire aux
précédents et utilisant la puissance du GPU du
poste de travail pour libérer le CPU
8. Les machines virtuelles
Isolation « parfaite »
La machine guest ignore tout de la machine qui
héberge (host): on utilise pour le guest un OS
standard
Entre 20 et 30 % de déperdition
Exemple : Vmware, VirtualBox
9. La para-virtualisation
La machine guest est adaptée pour obtenir un
fonctionnement efficace
Ou utilisation de des extension matérielles pour
les processeurs
Bonnes performances
Exemple : XEN , HyperV
10. VMWARE – 1
Le plus plus ancien acteur : la référence
Gamme Poste de travail
VMWARE Player - gratuit
VMWARE Workstation - payant
Gamme Serveur
VMWARE ESX 4.1 - 64 bits
et ESXI (gratuit) – solutions « bare-metal »
Server – s'installe sur un OS
11. VMWARE – 2
Utilise la virtualisation classique mais prend en
compte également les extensions matérielles
AMD et Intel
Solution de migration à chaud (vmotion)
Solution mature et offre complète
Cout élevé
Grand choix de machines virtuelles prêtes à
l'emploi
12. Citrix/Xen
Utilise la paravirtualisation
Prend en compte les extensions matérielles de
virtualisation Intel et AMD
Bonnes performances
XenServer 5.61
Notion de Dom0 : le domaine Hôte
Et de DomU : les domaines utilisateurs ou
Guest (Linux ou Windows)
13. Microsoft
HyperV 2.0
Intégrée à Windows 2008 Server R2
Utilise la virtualisation matérielle Intel et AMD
1 seul CPU virtuel par VM Linux
Migration à chaud entre machines d'un même
cluster
14. VirtualBox - 1-
Racheté par Sun puis par Oracle
Fonctionne sur Windows, Linux et MAC/OS
Pas encore aussi mature que les autres
solutions au niveau serveur mais globalement
efficace au niveau du poste de travail
Gratuit
Compatible avec les format de machines
virtuelles Vmware
15. VirtualBox – 2 -
Gère les snapshots imbriqués
Guest : peut disposer de 32 processeurs
Migration à chaud des machines virtuelles
Support USB, ACPI et stockage ISCSI
Accès distant avec le protocole VRDP
Assistant de clonage de machines virtuelles
16. Les outils bare-metal
À l'origine les outils de virtualisation
s'installaient sur une machine déjà équipée d'un
OS
La plupart de solutions actuelles sont
maintenant des solutions « bare-metal » qui
comportent un OS minimal et s'installent très
rapidement (15min) au prix d'un reformattage
du disque
17. Les « provisionning »
La facilité d'utilisation de la virtualisation et les
besoins croissants en la matière ont pour effet
de multiplier le nombre d'instances de
machines virtuelles
La phase d'installation a été industrialisée et les
outils de provisionning permettent maintenant
d'installer des machines virtuelles très
rapidement en utilisant des images ISO sur
disques, DHCP/PXE et/ou des modèles
génériques
18. La gestion des machines virtuelles
Des librairies comme libvirt permettent de
gérer les machines virtuelles (Vmware ESX,
KVM, OpenVZ, LXC, Xen, VirtualBox, HyperV,
…) de facon homogène y compris le stockage
SAN, ISCSI, NFS, FC, LVM
Proposent de nombreux outils en ligne de
commande (virt-install, virt-clone, virt-df, virt-
image, virt-df, ) , des assistants p2v
19. Migration et p2v
De nombreux éditeurs ont également mis en
oeuvre des outils de migration Physical to
Virtual (p2v), qui permettent de convertir une
machine physique en machine virtuelle
Vmware P2V Assistant
Outils Xen
20. Images et sauvegarde
La sauvegarde des images est bien sûr un
problème fondamental
Nécessité de faire des snapshots pour faire des
sauvegardes image à chaud
Attention au volumes (Liens Giga ou SAN)
21. Les conteneurs
Permettent d'exécuter plusieurs instances d'un
système d'exploitation (Unix la plupart de temps)
appelées VPS (Virtal Private Server), VE (Virtual
Environnment), conteneur ou isolateur
Appelés encore isolateurs
Quelques offres :
Linux Vserver
Zone Solaris
BSD Jails
OpenVZ
LXC
22. Les conteneurs - 2
Très performant
Très bonne scalability (capacité à monter en
charge)
Gestion dynamique de ressources
Très haute densité
Administration facile
Un seul noyau
23. OpenVZ
base de Virtuozzo : produit propriétaire vendu
par SWsoft
Licence GPL V2
OpenVZ comprend le noyau Linux et un jeu de
commandes utilisateurs.
24. OpenVZ
Migration à chaud des VE
Utilisable avec toutes les distribution
Utilise le système de fichier natif du HN
(Hardware Node ou Hôte)
Un seul noyau : celui du HN
Paquetages noyau et outils pour
Ubuntu Hardy, Debian, Centos, Redhat, Fedora,
OpenSuse, ...
25. OpenVZ - les points forts
Installation d'une machine virtuelle très simple à
partir de templates et très rapide (1 mn)
Démarrage très rapide d'une MV (qq. sec)
Gestion optimale des ressources (mémoire et
espace disque) => 120 VE avec Apache dans
768 Mo
Overhead très réduit : de 1 à 2 %
Très forte densité
Adapté aux besoins des hébergeurs
26. OpenVZ – les limites
Pas de montage de périphériques
Isolation relativement limitée
Utilisable avec Linux/Unix uniquement : les VE
doivent doivent disposer d'un noyau compatible
avec celui du HN => offre limitée (2.6.18,
2.6.32)
Noyau patché nécessaire pour le HN (Hardware
node)
Configuration réseau parfois complexe
27. OpenVZ – Gestion des ressources
OpenVZ permet de gérer les ressources :
Processeur : utilisation des CPUunit et des User
bean counter permettant d'affecter du temps
processeur
Mémoire
Disque : quota définis sur le HN et quota dans le
VE
28. OpenVZ – les templates
permettent d'installer rapidement un VE
Archives tar.gz de 40 à 250 Mo de l'architecture du
VE
Peuvent être récupérées sur le site OpenVZ
(Ubuntu Hardy, Debian Etch, Centos 4 et 5, Suse,
Fedora, ...)
Peuvent être adaptées (debbootstap debian)
debootstrap --arch i386 etch /var/lib/vz/private/101
http://debian.osuosl.org/debian/
29. Les interfaces réseau
2 types d'interface
Venet : la plus simple, la plus sécurisée et la plus
rapide mais ne dispose pas d'adresse MAC et ne
recoit pas les broadcast – la configuration est
stockée hors du SF de la machine
Veth : bridgeable - -gère les broadcast - plus
complexe – modifiable par le VE - à utiliser pour un
serveur DHCP ou un serveur Samba
30. Installation
Il faut un noyau compatible openvz et les outils
Pour Ubuntu :
apt-get install linux-openvz vzctl
Pour Debian (google openvz debian squeeze)
ajouter les dépots openvz
installer le noyau et les outils
31. Création d'un VE
Création de la machine virtuelle 101 à partir
d'une template téléchargée
# vzctl create 101 --ostemplate ubuntu-8.04-i386-
minimal
affectation nom et adresse IP
# vzctl set 101 --ipadd 192.168.0.1 --hostname
monVE --save
lancement
# vzctl start 101
32. Utilisation d'un VE
Lancement d'une commande
# vzctl exec 101 ps axf
affectation mot de passe
# vzctl set 101 --userpasswd guest:secret --save
ouverture de session SSH
# ssh guest@192.168.0.1
ou encore mode console
# vzctl enter 101
33. Arrêt – suppression d'un VE
Arrêt VE
# vzctl stop 101
Effacement VE
# vzctl destroy 101
34. Autres commandes
Remarques : la configuration réseau du VE se
fait depuis le host sans intervenir sur les fichiers
du VE (/etc/hosts, ...)
vzcalc, vzdqcheck, vzlist, vznetcfg, vzsplit
vzcfgvalidate, vzdqdump, vzmemcheck, vzpid,
vztop
vzcpucheck, vzdqload, vzmigrate, vzps
vzctl, vzdump, vznetaddbr, vzquota
35. Elements de configuration
Les fichiers d'un VE se trouvent dans
/var/lib/vz/VEID
private : pour les fichiers de la machine virtuelle
Le fichier de configuration se trouve dans
/etc/vz/conf/VEID.conf
37. Conclusion
Produit très efficace
Installation rapide et simple des VE
Très bonnes performances
Stable
Bonne documentation
Des templates standard existent sur le site
openvz
38. Proxmox VE
Proxmox Virtual Environnment
Solution de virtualisation « bare-metal »
Permet à partir d'un CD de mettre en place une
solution de virtualisation open-source en quelques
minutes
Licence GPL V2
Basé sur Debian Etch 64 bits avec noyau 2.6.24
=> processeurs 64 bits récents avec
virtualisation hardware – image ISO 300 Mo
Écrase le disque !!
39. Proxmox VE – suite
Propose la virtualisation avec les conteneurs
Openvz et KVM
Interface web simple et efficace
Console VNC/Java pour la virtualisation KVM
Gestion simple de clusters Proxmox
Sauvegarde et migration à chaud de machines
virtuelles
L'interface web ne gère qu'une interface
Version 1.9 : gère le stockage ISCSI, LUN et NFS
Version 2.0 annoncée T3 2011 - HD
40. LXC – 1 -
Linux Containers
Même principe de fonctionnement que OpenVZ
S'intègre de facon plus naturelle qu'OpenVZ dans
le kernel : ensemble de patch plus limités
Choisi par par Debian et Ubuntu pour remplacer
OpenVZ
Couverture fonctionnelle non encore equivalente à
celle d'OpenVZ
41. LXC – 2 -
Installation plus complexe qu'OpenVZ
Pas encore de limitation mémoire
Limite disque avec LVM ou images disques
Rechercher : lxc debian squeeze
42. Linux KVM - 1
basé sur QEMU (F. Belliard)
Très utilisé dans l'industrie (kqemu)
Module KVM permettant d'utiliser la
virtualisation matérielle
Nécessite les extension matérielles Intel VT et
AMD SVM des processeurs 64 bits
KVM partie intégrante du noyau Linux depuis le
2.6.20
Société Qumranet rachetée par RedHat
Produit encore jeune mais avec en fort
43. Linux KVM – 2
Bonnes performances
Licence GPL V2
Module kvm très simple (qq milliers de lignes) et
peu intrusif pour le noyau => choix naturel pour
la virtualisation
Permet la paravirtualisation avec virtio depuis le
noyau 2.6.25 => très bonnes performances E/S
et réseau : utilisation de pilotes spécifiques (y
compris pour Windows)
44. Linux KVM – 3
Fonctionne avec Windows, Linux, BSD, Solaris, ...
Mis en oeuvre dans RedHat Enterprise Linux 5,4
RedHat a mis à disposition des pilotes virtuels pour
Windows
KSM : Kernel Sharable Memory – fusion de pages
mémoire identiques => baisse de l'occupation
mémoire
En cours de développement :
virtualisation imbriquée
branchement d'interfaces réseau à chaud
45. KVM – Installation
Le support de la virtualisation doit être activé
dans le BIOS
Installation des paquetages kvm et qemu
Activation module kvm :
modprobe kvm-amd ou kvm-intel
Création fichier image
qemu-img create fichier_image.img -f qcow2 6G
Installation système
kvm -m 256 -cdrom /dev/cdrom -boot d
fichier_image.img