46
Virtualisation Les conteneurs – OpenVZ

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

Embed Size (px)

Citation preview

Page 1: 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

Virtualisation Les conteneurs – OpenVZ

Page 2: 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

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)

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

Virtualisation et cloud computing

Le Cloud Computing utilise la virtualisation

– Amazon EC2 utilise XEN

– OpenStack (KVM, XEN, VirtualBox)

– OpenNebula (KVM, XEN, VmWare)

– Eucalyptus (XEN)

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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)

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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)

Page 21: 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

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

Page 22: 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

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

Page 23: 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

OpenVZ

base de Virtuozzo : produit propriétaire vendu par SWsoft

Licence GPL V2 OpenVZ comprend le noyau Linux et un jeu de

commandes utilisateurs.

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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

Page 28: 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

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/

Page 29: 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

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

Page 30: 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

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

Page 31: 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

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

Page 32: 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

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

Page 33: 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

Arrêt – suppression d'un VE

Arrêt VE # vzctl stop 101 Effacement VE

# vzctl destroy 101

Page 34: 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

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

Page 35: 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

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

Page 36: 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

Liens

La documentation est abondante http://wiki.openvz.org http://www.libresys.fr

Page 37: 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

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

Page 38: 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

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 !!

Page 39: 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

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

Page 40: 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

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

Page 41: 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

LXC – 2 - Installation plus complexe qu'OpenVZ Pas encore de limitation mémoire Limite disque avec LVM ou images disques Rechercher : lxc debian squeeze

Page 42: 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

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

Page 43: 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

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)

Page 44: 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

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

Page 45: 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

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

Page 46: 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

KVM - utilisation

Démarrage

kvm -m 256 fichier_image.img