490 likes | 935 Views
Virtualisation Les conteneurs – OpenVZ. Etat des lieux. En 2008 et pour la première fois, 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.
E N D
Virtualisation Les conteneurs – OpenVZ
Etat des lieux • En 2008 et pour la première fois, 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 • OpenNebula (KVM, XEN, VmWare) • Eucalyptus (XEN)
Virtualisation des postes de travail • La virtualisation commence à prendre en compte les postes de travail. • Utilisation de virtualisation et de protocoles de bureau distants : ICA, RDP et NX • SPICE 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 : 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.0 - 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.6 • 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 • Accès distant avec le protocole VRDP
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, Xen, VirtualBox, …) de facon homogène y compris le stockage SAN, ISCSI, NFS, FC, LVM
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 • 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 Userbean 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 ajouter les dépots openvz installer le noyau et les outils
Création d'un VE • Création de la machinevirtuelle 101 à partir d'une template téléchargée # vzctl create 101 --ostemplate ubuntu-8.04-i386-minimal • affectationnom et adresseIP # 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 guest@192.168.0.1 • ou encore modeconsole # 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 OpenvzetKVM • Interface web simple et efficace • Console VNC/Java pour la virtualisation KVM • Gestion de clusters Proxmox • Sauvegarde et migration à chaud de machines virtuelles • L'interface web ne gère qu'une interface • Version 1.6 : gère le stockage ISCSI, LUN et NFS
LXC • 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 • Maturité encore imparfaite • Choisie par Ubuntu pour remplacer OpenVZ
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