Cours: Cloud Computing & Virtualisation
Chapitre 1
Virtualisation
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
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)
3
Motivations et défis
Pourquoi consolider les serveurs ?
Les serveurs coûtent cher mais sont peu utilisés (< 25 %).
Même inactif, un serveur consomme ~60 % de son énergie maximale.
👉 au lieu d’avoir 10 serveurs qui tournent à 20 % de charge chacun, on
regroupe leurs applications sur moins de serveurs. Cela permet
d’économiser de l’argent et de l’énergie C’est la consolidation.
Consolidation de serveurs :
C’est le fait de réduire le nombre de serveurs physiques en utilisant des
machines virtuelles (VM) ou des environnements partagés.
Ainsi, plusieurs applications (qui avant tournaient chacune sur un serveur
séparé) peuvent coexister sur un même serveur physique.
4
Motivations et défis
Défits de la consolidation
Applications différentes sur le même serveur : certaines peuvent être
incompatibles, ou avoir des besoins opposés.
Besoin de systèmes d’exploitation et environnements variés.
Demandes de ressources très différentes (CPU, RAM, stockage).
Risques de sécurité accrus si tout est regroupé.
Nécessité d’isoler les applications pour garantir sécurité et performance.
la virtualisation et les conteneurs (VMware, Hyper-V, Docker, Kubernetes,
etc.).
5
Qu’est ce que la virtualisation ?
Idée : Découpler OS et matériel
Grâce à la virtualisation, on peut créer plusieurs environnements
appelés machines virtuelles (VMs).
Chaque VM se comporte comme un vrai ordinateur : avec son propre
système d’exploitation et ses applications
App. C App. D
App.A App. B App. C App. D App. A App. B
Operating System OS 1 OS 2
Virtual
Virtual
Machine 2
Machine 1
Virtualization Layer
Hardware
Serveur non virtualisé
Hardware
Serveur virtualisé
6
Hyperviseur
Hyperviseur: (appelé aussi Virtual Machine Monitor)
o Logiciel entre le matériel App App App
et les machines
virtuelles (VMs). OS OS OS
o Partage et répartit les VM VM VM
ressources (CPU, RAM, Hypervisor
stockage). Hardware
o Assure l’isolation entre
les VMs. OS1, OS2,… OSn : systèmes d‘exploitation
invités (guest)
o Fait le lien entre
Taux de consolidation : Le nombre de MVs
systèmes invités et placées dans la même machine physique
matériel. (par ex., 3:1)
OS : Operating System
7
Types d'hyperviseurs
Deux Types d'hyperviseurs :
App App App
Hyperviseur Type 1 (native or bare-metal) :
Installé comme une couche software OS OS OS
directement au dessus du hardware
VM VM VM
contrôle directement le hardware
Hypervisor
Exemples : Citrix XenServer, VMware ESX/ESXi HW
Hyperviseur Type 2 (hosted hypervisors) : Type 1. Bare Metal
Installé au dessus du système d’exploitation
Exemples : VMware Workstation, Oracle VM App App App
Virtual Box and QEMU
OS OS OS
VM VM VM
Type 1 vs. Type 2 : Type 1 offre une Hypervisor
meilleure performance + sécurité Host OS
HW
Type 2. Non-Bare Metal
8
Hyperviseurs disponibles
9
Avantages de la virtualisation
Consolidation de serveurs
•Moins de serveurs physiques.
•Réduction de la consommation d’énergie.
•Meilleure utilisation des ressources.
•Réduction des coûts.
•Gestion simplifiée des pannes et désastres
Fonctions offertes par la virtualisation
•Création de VMs de secours (backup).
•Snapshots (sauvegarde de l’état à un instant T).
•Clonage de VM.
•Déploiement rapide de sauvegardes.
10
Migration des MVs
Migration d’une MV : Déplacer une VM d’un serveur vers un autre (même
dans un autre centre de données), sans interrompre son service.
Avantages de la migration : adapter l’emplacement des MVs aux
différents besoins potentiels
• Flexibilité : adapter l’emplacement selon les besoins.
• Consolidation : regrouper les serveurs.
• Équilibrage de charge : répartir le travail entre serveurs.
• Proximité : rapprocher la VM des données ou des utilisateurs.
• Économie d’énergie : éteindre les serveurs inutiles.
• Réduction des coûts : moins de serveurs actifs = moins de dépenses.
• Maintenance facile : déplacer les VMs pour réparer un serveur sans
coupure.
11
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
12
Migration des MVs temps réel
Pre-copy Migration :Déplacer une VM sans l’arrêter, la mémoire est
copiée progressivement.
Etapes:
1. La VM source continue de fonctionner.
2. La mémoire de la VM est copiée vers le serveur de destination.
3. Les pages modifiées (dirty pages) sont recopiées plusieurs
fois.
4. Quand les changements sont minimes :
•La VM source est suspendue brièvement.
•Les dernières dirty pages sont copiées.
•La VM destination prend le relais.
Avantage : presque aucune interruption pour l’utilisateur
13
Migration des MVs temps réel
Post-Copy migration : Déplacer une VM en suspendant d’abord la source,
démarrage rapide sur la destination, puis récupération progressive de la
mémoire restante.
Etapes
1. La VM source est suspendue.
2. Seul l’état essentiel (CPU, registres, mémoire critique) est copié vers la
VM destination.
3. La VM destination démarre immédiatement.
4. Le reste de la mémoire est transféré progressivement depuis la source.
14
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
transférée plusieurs fois.
15
Accès au réseau
Trois façons permettant aux MVs d’accéder au réseau :
Network Bridging (pont): La VM utilise directement la carte réseau
physique de la machine hôte, comme si c’était un vrai ordinateur sur le
réseau.
La VM reçoit une adresse IP du même réseau que l’hôte (exemple : si ton
PC est sur le réseau WiFi du campus, ta VM aussi aura une IP du même
sous-réseau).
Elle peut communiquer directement avec les autres machines du réseau
(serveurs, imprimantes, autres PC).
C’est comme si ta VM était branchée au switch du réseau local.
Avantage : Accès direct et transparent au réseau.
Inconvénient : Moins sécurisé, car la VM est exposée directement.
16
Accès au réseau
Trois façons permettant aux MVs d’accéder au réseau :
Netwrok Address Translation (NAT) : La VM passe par la machine hôte pour accéder au réseau externe.
La VM a une adresse IP privée (non visible par le réseau local).
Tout son trafic sortant passe par le NAT de l’hôte, qui utilise sa propre carte réseau physique pour sortir.
C’est comme si la VM était “cachée” derrière l’adresse IP de l’hôte.
Avantage : Plus sécurisé, pas d’exposition directe.
Inconvénient : La VM n’est pas directement accessible depuis l’extérieur (difficile de lui envoyer des
connexions entrantes sans configuration spéciale).
SE : Système d‘Exploitation
Accès au réseau à travers le NAT [2]
17
Accès au réseau (suite)
Trois façons permettant aux MVs d’accéder au réseau :
Host-Only Networking : La VM communique uniquement avec l’hôte via
une carte réseau virtuelle
Pas d’accès direct à Internet ou au réseau local.
C’est comme un petit réseau privé entre la VM et l’ordinateur hôte.
On l’utilise pour tester en local (exemple : créer un mini-laboratoire sans qu’il soit
connecté à Internet).
Avantage : Très utile pour tester en sécurité.
Inconvénient : Pas de connexion Internet sauf si on combine avec un autre
mode.
Host Only Networking [2]
18
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
19
Containers vs VMs
Containers (Virtualisation App App App
légère): Bins/
library
Bins/
library
Bins/
library
Pas besoin de créer une VM complète Cont Cont Cont
pour chaque application. Container Engine
Les conteneurs partagent le même Host OS
HW
système d’exploitation.
Chaque conteneur reste isolé avec son Infrastructure
pour les containers
application et ses dépendances.
Avantages : plus rapide, moins de App App App
ressources, flexible
OS OS OS
VM VM VM
Hypervisor
HW
Infrastructure pour les VMs
20
Fonctionnement des containers
Isolation?
Resource
partitioning?
21
Fonctionnement des containers
Les conteneurs s’appuient sur des fonctionnalités de Linux :
Isolation : NameSpaces
Chaque conteneur a sa propre vision du système : processus,
réseau, fichiers.
Résultat : ils sont isolés les uns des autres.
Cgroups (Control Groups – Gestion des ressources)
Limite l’utilisation du CPU, de la mémoire, et de la bande
passante.
Résultat : évite qu’un conteneur prenne toutes les ressources.
22
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:
Mnt (mount points, file systems) Users
Pid (processes) Uts
Net (network stack) Mnt (Hostname)
Ipc (Inter Process Communication)
Uts (hostname)
Pid
User ID (UIDs) Ipc
Net
23
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)
24
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
25
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
26
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)
27
Bibliographie
[1] Amit Singh, An Introduction to Virtualization, January 2004
([Link]
[2] VMWare Workstation, [Link]
[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
28