0% ont trouvé ce document utile (0 vote)
90 vues38 pages

Chapitre02 Virtualisation V05

Transféré par

rayenfazai11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
90 vues38 pages

Chapitre02 Virtualisation V05

Transféré par

rayenfazai11
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi