Upload
deline-collignon
View
108
Download
1
Embed Size (px)
Citation preview
Virtualisation Les conteneurs – OpenVZ
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)
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...)
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
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
Virtualisation et cloud computing
Le Cloud Computing utilise la virtualisation
– Amazon EC2 utilise XEN
– OpenStack (KVM, XEN, VirtualBox)
– OpenNebula (KVM, XEN, VmWare)
– Eucalyptus (XEN)
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
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
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
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
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
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)
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
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
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
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
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
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
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
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)
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
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
OpenVZ
base de Virtuozzo : produit propriétaire vendu par SWsoft
Licence GPL V2 OpenVZ comprend le noyau Linux et un jeu de
commandes utilisateurs.
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, ...
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
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
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
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/
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
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
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
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 [email protected] ou encore mode console
# vzctl enter 101
Arrêt – suppression d'un VE
Arrêt VE # vzctl stop 101 Effacement VE
# vzctl destroy 101
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
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
Liens
La documentation est abondante http://wiki.openvz.org http://www.libresys.fr
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
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 !!
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
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
LXC – 2 - Installation plus complexe qu'OpenVZ Pas encore de limitation mémoire Limite disque avec LVM ou images disques Rechercher : lxc debian squeeze
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 développement
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)
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
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
KVM - utilisation
Démarrage
kvm -m 256 fichier_image.img