Cours: Cloud Computing & Virtualisation
Chapitre 2
Virtualisation
Professeur Mohamed Faten Zhani
Email :
[email protected] Objectifs
Comprendre le concept de la virtualisation ainsi que
les motivations et les avantages offerts par cette technologie
Connaître les différents défis reliés à la gestion des MVs
dans les centres de données à large échelle
et les infrastructures distribuées
M. F. Zhani 2
Plan
1. Virtualisation
1. Définition et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles
(Exemple: SANDPIPER)
M. F. Zhani 3
Motivations et défis
Motivations
Des serveurs chers qui sont sous-utilisés (généralement moins de 25%)
Consommation d’énergie élevée (un serveur qui ne fait rien consomme 60% de
ce qu’il consomme à 100% d’utilisation)
Consolidation de serveurs
Défis reliés à la consolidation de serveur
Plusieurs applications dans un seul serveur ?
Différents systèmes d’exploitations, environnements, versions
Différents besoins en termes de ressources
Plusieurs risques en termes de sécurité
Besoin de support de plusieurs environnements
Besoin d’isolation entre applications meilleure sécurité et performance
M. F. Zhani 4
Qu’est ce que la virtualisation ?
Idée : découpler le système d’exploitation du hardware
Une technologie permettant de créer plusieurs environnement
simulés appelés “machines virtuelles” (MVs). Chacune agit comme
une machine physique avec un système d’exploitation, applications…
App. A App. B App. C App. D
App.A App. B App. C App. D
OS OS
Virtual Virtual
Machine Machine
Operating System Virtualization Layer
Hardware Hardware
Serveur non virtualisé Serveur virtualisé
M. F. Zhani 5
Hyperviseur
Hyperviseur: (appelé aussi Virtual Machine Monitor)
Un software situé entre les MVs et le hardware
Partitionne les ressources physiques, les offrent aux MVs et s’assure de
l’isolation entre les MVs
Permet aux MVs de partager les ressources de la machine physique
Contrôle le flux d’instructions entre les systèmes invités et le hardware
App App App OS1, OS2,… OSn : systèmes d‘exploitation
invités (hosted)
OS OS OS Taux de consolidation : Le nombre de MVs
VM VM VM placées dans la même machine physique
Hypervisor (par ex., 3:1)
Hardware OS : Operating System
M. F. Zhani 6
Types d'hyperviseurs
Deux Types d'hyperviseurs : App App App
Hyperviseur Type 1 (native or bare-metal) : OS OS OS
VM VM VM
Installé comme une couche software Hypervisor
directement au dessus du hardware HW
contrôle directement le hardware Type 1. Bare Metal
Exemples : Citrix XenServer, VMware ESX/ESXi
Hyperviseur Type 2 (hosted hypervisors) : App App App
Installé au dessus du système d’exploitation OS OS OS
VM VM VM
Exemples : VMware Workstation, Oracle VM
Hypervisor
Virtual Box and QEMU Host OS
HW
Type 1 vs. Type 2 : Type 1 offre une
meilleure performance + sécurité Type 2. Non-Bare Metal
M. F. Zhani 7
Techniques de Virtualisation
1ère Génération : Full virtualization (binary rewriting)
SE invité non modifié et n’est pas conscient de la virtualisation
L’hyperviseur réecrit en temps réel toutes les instructions du SE invité
et simule le hardware sous-jacent
Meilleure perfomance et isolation
Exemples : VMware ESXi et Microsoft Hyper V Server
2ème Génération : Paravirtualization (OS-Assisted Virtualization)
Coopération entre l’hyperviseur et le SE invité
Le SE invité est modifié et est conscient de la virtualisation
Donc ne supporte pas les SEs non modifiés (par ex., Windows 2000/XP)
Exemples : Xen
M. F. Zhani 8
Techniques de Virtualisation (suite)
3ème Génération : Silicon-based (Hardware-assisted) virtualization
SE invité non modifié
Plus besoin de la réécriture binaire ou de la paravirutalisation
Le CPU offre un support pour la virtualisation
Exemples : VMware ESXi et Xen
M. F. Zhani 9
Hyperviseurs disponibles
KVM: Open source basé sur Linux intégré dans le noyau
en 2007. L’hyperviseur le plus utilisé.
Type 2, Full Virtualization, Hardware-Assisted Virtualization,
Paravirtualization
XEN : Hyperviseur open source basé sur linux créé en 2003
à Cambridge University et acquis par Citrix Inc en 2007.
Type 1, Hardware-Assisted Virtualization, Paravirtualization
Hyperviseur VMware’s ESXi: propriétaire à VMware inc.,
développé et extrêmement stable
Type 1, Full Virtualization, Hardware-Assisted Virtualization
Hyper-V: commercialisé par Microsoft
Type 1 , Full Virtualization, Hardware-Assisted Virtualization
M. F. Zhani 10
Hyperviseurs disponibles
Hyperviseur VMware Workstation : propriétaire
à VMware inc.
Type 2, Full Virtualization
Virtual Box : Open Source, gratuit, aquis par
Oracle Corporation en 2010
Type 2, Hardware-Assisted Virtualization,
Paravirtualization
M. F. Zhani 11
Plan
1. Virtualisation
1. Définitions et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles
(Exemple: SANDPIPER)
M. F. Zhani 12
Avantages de la virtualisation
Consolidation de serveurs
Utiliser moins de serveurs physiques
Réduire la consommation d’énergie
Optimiser l ’utilisation des ressources : les ressources de chaque serveur
sont pleinement utilisées
Réduire les coûts
Faciliter la gestion des pannes et des désastres
Création de MVs de backup
Création de snapshot (état de la MV et du disque à un instant
particulier)
Clonage de MV
Déploiement facile de backup
M. F. Zhani 13
Avantages de la virtualisation (suite)
Migrer facilement les applications d’un serveur à un autre
Quand un serveur est surchargé
Quand un serveur doit être remplacé par un nouveau qui est probablement
plus puissant
Augmenter et réduire facilement les ressources dédiées à une MV
Meilleure sécurité et fiabilité
Faciliter le test de nouvelles applications sur différents SEs
et environnements de développement
Multi-locataire (multi-tenant): plusieurs utilisateurs peuvent partager
les mêmes ressources physiques
M. F. Zhani 14
Avantages de la virtualisation (suite)
Possibilité de virtualiser les fonctions réseaux (Network Function Virtualization –
NFV): NFV consisite à exécuter les fonctions réseau (par ex., routeur,
commutateur, Firewall, load balancer) dans des machines virtuelles au lieu
d’un équipement physique dédié
Lancer dynamiquement une fonction réseau
Permet de changer le comportement d’une fonction réseau à la volée
Offrir une élasticité de la fonction réseau par rapport aux ressources
(adaptation dynamique des ressources telles que CPU, mémoire, etc.)
Bénéficier d’un mécanisme d’orchestration qui permet de gérer
des centaines de fonctions réseau
Offrir un environnement multi-locataires (multitenancy) : plusieurs clients
M. F. Zhani 15
Plan
1. Virtualisation
1. Définitions et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles
(Exemple: SANDPIPER)
M. F. Zhani 16
Migration des MVs
Migration d’une MV : Le déplacement d’une machine virtuelle d’un serveur
vers un autre serveur (qui se trouve éventuellement dans un autre centre
de données)
Avantages de la migration : adapter l’emplacement des MVs aux différents
besoins potentiels
Consolider les serveurs
Équilibrer la charge
Améliorer la localité des données et du réseau
Réduire la consommation de l’énergie
Réduire les coût d’hébergement
Faciliter la maintenance et la gestion des pannes
M. F. Zhani 17
Migration des MVs
Problèmes :
Interruption de service
Temps de copier la MV
Adressage IP, MAC, VLANs
Consommation de ressources
Bande passante
CPU et mémoire
Sécurité
Copie de mémoire
Vulnérabilité du module de migration
M. F. Zhani 18
Migration des MVs temps réel
Pre-Copy migration :
La MV source reste en marche, le contenu de la mémoire est copié
Une itération : les changements en mémoire (dirty pages) sont copiées
Après plusieurs itérations (jusqu’au moment où le nombre de page “dirty”
devient faible ou lorsqu’un seuil de temps est fixé), la VM source est
suspendue, les dirty pages sont copiés et la VM destination prend la relève.
Source [3]
M. F. Zhani 19
Migration des MVs temps réel
Post-Copy migration :
La MV source est suspendue, l’état d’exécution de la source (état du CPU,
registres et mémoire non-pageable) est copié vers la machine destination
La destination prend la relève
Le contenu de la mémoire est récupéré progressivement à partir de la source
Cela peut être amélioré grâce au pre-paging : ramener pro-activement les
pages mémoire ayant une haute de probabilité d’être demandé
Source [3]
M. F. Zhani 20
Migration des MVs temps réel
Pre-Copy vs. Post-Copy migration :
Pre-Copy : Post Copy :
La durée de la migration peut être Durée de la migration moins élevée
longue chaque page mémoire est transféré
La MV source garde toujours le une seule fois.
dernier état En cas de problème L’état de la MV est distribué sur les
à la destination, on garde la source. deux MVs pour une certaine durée
Chaque page mémoire peut être Le succès de l’opération dépend
transférée plusieurs fois. largement du modèle d’accès à la
Le succès de l’opération dépend mémoire
largement du modèle d’accès à la
mémoire
M. F. Zhani 21
Plan
1. Virtualisation
1. Définitions et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles
(Exemple: SANDPIPER)
M. F. Zhani 22
Accès au réseau
Trois façons permettant aux MVs d’accéder au réseau :
Network Bridging (pont) : le SE invité a un accès direct à la carte réseau
indépendamment du SE hôte donc communique directement avec le réseau
Netwrok Address Translation (NAT) :
Le SE invité est donné une carte réseau virtuelle qui est connecté à un NAT simulé
par l'hyperviseur.
Tout le trafic réseau sortant est envoyé par la carte réseau virtuelle vers le SE hôte
à travers le NAT pour être envoyé par la carte réseau
SE : Système d‘Exploitation
Accès au réseau à travers le NAT [2]
M. F. Zhani 23
Accès au réseau (suite)
Trois façons permettant aux MVs d’accéder au réseau :
Host-Only Networking : Le SE invité (MV) a une carte réseau virtuelle
qui est seulement connecté au SE dans la machine hôte (un réseau privé
entre les deux SEs)
Host Only Networking [2]
M. F. Zhani 24
Accès au réseau(suite)
Possibilité de créer des réseaux personnalisés reliant les MVs
Réseau
externe
Dans cette configuration, un serveur Web
Serveur est connecté à travers un pare-feu à un
Web réseau externe. L'administrateur peut se
connecter au serveur Web via un
deuxième pare-feu.
Administrateur
Infrastructure virtuelle personnalisée [2]
M. F. Zhani 25
Plan
1. Virtualisation
1. Définitions et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles
1. Exemple: SANDPIPER
M. F. Zhani 26
Containers vs VMs
Avantages des Containers: App App App
Plus besoin de créer des MVs sur une machine physique Bins/
library
Bins/
library
Bins/
library
pour exécuter différents processus dans un Cont Cont Cont
environnement séparé Container Engine
Host OS
Les processus de l’espace usager s’exécutent sur le même HW
Système d’Exploitation (donc SE partagé), mais sont Infrastructure
pour les containers
isolés les uns des autres
Chaque espace usager (ex. une application et ses App App App
dépendances/librairies) peut bénéficier des ressources
OS OS OS
nécessaires à l’exécution des processus qu’il héberge VM VM VM
(vCPU, mémoire et fichier système) Hypervisor
HW
Meilleure performance et attribution flexible des Infrastructure
ressources par rapport à la virtualisation par hyperviseur pour les VMs
M. F. Zhani 27
Fonctionnement des containers
Resource
Isolation?
Resource
Management?
M. F. Zhani 28
Fonctionnement des containers
Les containers utilisent des fonctionnalité de de Linux:
Isolation des ressources: NameSpaces
Gestion des ressources:
Control groups (Cgroups)
M. F. Zhani 29
Namespaces
Namespaces est une fonctionnalité du Kernel Linux permettant de partitionner les
ressources tel que chaque groupe de processus peut voir un sous-ensemble de ressources
Exemples de telles ressources sont les IDs de processus, les noms d'hôte, les IDs utilisateurs,
les noms de fichier et certains noms associés à l'accès au réseau et à la communication
interprocessus.
Chaque processus est associé à des namespaces et ne peut voir ou utiliser que les ressources
associées à ces namespaces
6 types de namespaces sont implémentés:
Users
Mnt (mount points, file systems)
Uts
Pid (processes) Mnt (Hostname)
Net (network stack)
Ipc (Inter Process Communication)
Pid
Uts (hostname) Ipc
User ID (UIDs) Net
M. F. Zhani 30
Control groups (cgroups)
Les groupes de contôle (Cgroups) sont une
fonctionnalité de Linux Kernel permettant de:
Limiter un ensemble de processus à
utiliser seulement une part des ressources
(par ex., mémoire)
Prioritiser un groupe pour utiliser une
resource (par ex. CPU, disk I/O throughput)
Mesurer l’utilisation d’une resource
Contrôler and geler un groupe de processus,
les “checkpointer” (sauvegarder) et les redémarrer
M. F. Zhani 31
Plan
1. Virtualisation
1. Définitions et concepts
2. Types d'hyperviseurs
3. Avantages de la virtualisation
4. Migration des machines virtuelles
5. Accès au réseau
2. VM vs. Container
3. Systèmes de gestion de machines virtuelles (
Exemple: SANDPIPER)
M. F. Zhani 32
Gestionnaire de MVs
Fonction : décider automatiquement de l’emplacement
et la migration des machines virtuelles dans les infrastructures
à large échelle
Objectifs :
Consolider les serveurs
Équilibrer la charge
Améliorer la localité des données et du réseau
Réduire la consommation de l’énergie
Réduire les coûts d’hébergement
Faciliter la maintenance et la gestion des pannes
M. F. Zhani 33
Exemple: SANDPIPER
Objectifs : éviter les surcharges des serveurs (en CPU, mémoire
et disque)
Exemple: SANDPIPER permet de
Détecter les noeuds surchargés
(hotspots)
Migrer les MVs responsables de la
surcharge vers des machines moins
chargés
PM : Physical Machine
M. F. Zhani 34
Exemple: SANDPIPER
Exemple: SANDPIPER
Exemple: SANDPIPER élimine tous les
hotspots et réduit le nombre d'intervalles
Série de migrations pour résoudre les hotspots. éprouvant une surcharge continue par 61%
(centre de données de 16 serveurs et 35 MVs)
M. F. Zhani 35
Bibliographie
[1] Amit Singh, An Introduction to Virtualization, January 2004
(http://www.kernelthread.com/publications/virtualization/)
[2] VMWare Workstation, https://www.vmware.com/support/ws55/doc/index.html
[3] R. Boutaba, Q. Zhang, and M. F. Zhani, “Virtual machine migration: Benefits, challenges and approaches,” in
Communication Infrastructures for Cloud Computing: Design and Applications, Book edit by H. T.
Mouftah and B. Kantarci, Eds. USA: IGI-Global, 2013.
[4] T. Wood, P. Shenoy, A. Venkataramani, and M. Yousif. Exemple: SANDPIPER: Black-box and gray-box
resource management forvirtual machines. Computer Networks, 53:2923–2938, December 2009.
[5] M. F. Zhani, Q. Zhang, G. Simon, and R. Boutaba, “VDC Planner: Dynamic migration-aware virtual data
center embedding for clouds,” in IEEE/IFIP International Symposium on Integrated Network
Management (IM), Belgium, May 27-31, 2013.
[6] Q. Zhang, M. F. Zhani, R. Boutaba, and J. L. Hellerstein. HARMONY: Dynamic Heterogeneity-Aware Resource
Provisioning in the Cloud. In the 33rd International Conference on Distributed Computing Systems
(ICDCS), Philadelphia, USA, July 08-11, 2013
[7] Q. Zhang, M. F. Zhani, R. Boutaba, and J. L. Hellerstein. Dynamic heterogeneity-aware resource provisioning
in the cloud. IEEE Transactions on Cloud Computing, vol.2, no. 1, pp. 14-28, March 2014
M. F. Zhani 36
Merci
M. F. Zhani 37
Namespaces
6 types de namespaces sont implémentés: Le processus Ahmed appartient à
Pays Pays : Tunisie (177771)
Institut
Institut: Isitcomm (88888)
Ville
Nom de famille (hostname) Ville : Tunis (01)
Specialité Nom de famille: Exemple (77668)
Specialité: Programmation (0011)
Le processus Nadia appartient à
Pays : Tunisie (177771)
Institut: Isitcomm (88888)
Ville : Sousse (03)
Nom de famille: Chahed (77663)
Specialité: Réseau (0011)
M. F. Zhani 38