Virtualisation, Data center et
cloud computing
Par Serge Ndoumin
Ingénieur de télécommunications
ndoumins@[Link]
2023-2024
1
Modalités pratiques
• Interdit de manipuler vos équipements électroniques en plein cours
• Toujours signaler son absence avant le cours
• Retard toléré 15 min après le début du cours
• Savoir être en classe
2
Historique
• Faible utilisation de la ressource (10 à
15 % de la capacité utilisée)
• Augmentation du coût l’infrastructure
physique: les charges de maintenance et
les factures d’électricité
• Augmentation du coût du personnel
• Coût de maintenance
IBM MAINFRAME 1960
Source :
[Link]
3
Historique
En 1999, Vmware a travaillé sur des solutions de
time-sharing qui renvoient au partage de
ressources physiques afin de répondre aux
besoins formulées plus haut.
4
Virtualisation
• La virtualisation est une technologie qui permet de créer plusieurs
environnements simulés ou ressources dédiées à partir d'un seul système
matériel physique.
• La virtualisation utilise un logiciel pour créer une couche d'abstraction sur le
matériel informatique qui permet aux éléments matériels d'un seul ordinateur
(processeurs, mémoire, stockage, etc.) d'être divisés en plusieurs ordinateurs
virtuels, communément appelés machines virtuelles (VM). Chaque VM
exécute son propre système d'exploitation (OS) et se comporte comme un
ordinateur indépendant, même s'il ne s'exécute que sur une partie du matériel
informatique sous-jacent réel.
5
Virtualisation
Source : [Link]
6
Virtualisation
• Un ordinateur se caractérise principalement par ses ressources de calculs, de mémoires, de stockage,
de réseau etc.
• Le logiciel fait référence à l’hyperviseur
• La machine dont les ressources sont subdivisés est appelé hôte (host)
• Une machine virtuelle est un système informatique créé à l'aide d'un logiciel sur un ordinateur
physique afin d'émuler la fonctionnalité d'un autre ordinateur physique distinct (oxford). Celle-ci est
généralement appelée « Guest » ou invité en français.
• Une ou plusieurs machines « invitées » virtuelles s'exécutent sur une machine « hôte » physique.
Chaque machine virtuelle exécute son propre système d'exploitation et fonctionne séparément des
autres machines virtuelles, même lorsqu'elles s'exécutent toutes sur le même hôte. Cela signifie
que, par exemple, une machine virtuelle MacOS virtuelle peut s'exécuter sur un PC physique.
7
Avantages et inconvénients des machines
virtuelles
Avantages
• Sur une machine physique on a la possibilité d’avoir plusieurs VM en simultanée et chacune d’entre elle peut
contenir un programme bien spécifique
• Diversité des OS par exemple avoir sur Windows un système Linux
Inconvénients
• Très gourmand en ressources
• Vitesse réduite d’exécution des programmes
8
Hyperviseur
• L’hyperviseur est une couche applicative qui permet de monitorer les
machines virtuelles
• Il sert d’interface entre les VM et les parties matérielles sous-jacentes;
• Il assure la répartition de ressources disponibles (RAM, CPU, Stockage) sur
l’hôte de façon à ce que chaque VM reçoive celles dont elle a besoin;
• Il s’assure qu’il n’y ait pas d’interférences entre les VM ( Qu’une VM
n’empiète pas sur l’espace mémoire des autres )
9
Types d’hyperviseur
Il en existe 2 types :
L’hyperviseur de type 1 « bare - metal » ou barre métallique
L’hyperviseur de type 2
10
Hyperviseur de type 1 « bare-metal »
Ce type d’hyperviseur permet que la partie matérielle de l’hôte communique
directement avec la VM sans passer par l’OS. (Exemple VMware vSphere ,
Microsoft Hyper-V, KVM)
le terme « bare-metal » est utilisé ici pour signifier cette connexion directe
entre les deux parties (la machine virtuelle et le hardware). Par contre un
« bare-metal server » fait référence à un serveur physique réservé qu’à un
unique utilisateur.
11
Hyperviseur de type 1 « bare metal »
Source : [Link]
choisir-un-hyperviseur-bare-metal-et-comment-le-choisir-
[Link]&psig=AOvVaw3vPR0e9AwiAX45tpwz4jaJ&ust=1663791073793000&source=images&cd=vfe&ved=0CA0QjhxqFwoTCNiA
ivOWpPoCFQAAAAAdAAAAABAJ
12
Hyperviseur de type 2 (hosted)
Source : [Link]
%2F&psig=AOvVaw0SYZ5D_rlR0wwFceHoqHYs&ust=1663860493034000&source=images&cd=vfe&ved=0CA0Qjhxq
FwoTCMC82NSZpvoCFQAAAAAdAAAAABAI
13
Hyperviseur de type 2 (hosted)
Généralement appelé hyperviseur hébergé
Il est exécuté comme une application de l’OS existant
La gestion de ressources de la VM est administré par l’OS
hôte
Quelques exemples : VmWare workstation, virtual box,
etc.
14
Avantages et inconvénients
Type 1
o Avantages
Efficace car il interagit directement avec la partie matérielle
Augmente la sécurité des VMs, pas de couche intermédiaire
o Inconvénients
Besoin d’une autre machine pour assurer le management des
différentes VMs et contrôler la partie matérielle de l’hôte.
Difficulté à mettre en place
15
Avantages et inconvénients
Type 2
o Avantages
Accès facile et rapide entre la machine hôte et celle invitée
Possibilités de combiner plusieurs OS
o Inconvénients
Problème de latence connu (OS hôte ayant l’accès prioritaire aux
ressources)
16
Modèle de référence
Nous prendrons comme référence le
modèle de virtualisation Kusnetzky.
Ce modèle présente principalement 06
couches comme le montre la figure ci-
contre.
17
Virtualisation des applications
Ce sont des applications qui s’exécutent sans être installé sur l’OS de l’utilisateur.
Source: [Link]
18
Virtualisation des applications
Il existe 03 formes :
Virtualisation des applications locales : l’application est disponible dans
l’équipement terminal de l’utilisateur mais exécuté dans un autre environnement
Application en streaming: les applications qui restent dans un serveur qui renvoie
uniquement les petits composants nécessaires à son fonctionnement dans
l’équipement terminal de l’utilisateur
Virtualisation des applications basés sur le serveur : l’application s’exécute
entièrement sur le serveur mais celui-ci ne renvoie que les interfaces à
l’équipement terminal.
Exemple: les applications Google : sheet, docs, forms ; slack desktop; jeux en ligne
19
Virtualisation du stockage
Elle permet de rendre accessible et de gérer tous les équipements de
stockage (serveur individuel / unité de stockage autonome) disponibles
dans un réseau, comme un unique équipement de stockage.
Elle regroupe tous les espaces de stockage en une plage partagée qui
est unique à partir de laquelle ils peuvent être assignés à n’importe
quelle VM dans le réseau en cas de besoin. (Similarité avec le DHCP)
20
Virtualisation du stockage
L’allocation se fait par
une connexion réseau
le leader est SAN
(Storage Area Network)
21
Virtualisation des serveurs
C’est un processus qui consiste à diviser un serveur
physique en une multitude de serveurs uniques et isolés
qui fournissent respectivement chacun un service.
22
Virtualisation des serveurs
Les ordinateurs et les serveurs sont équipés d'une ou plusieurs unités
centrales de traitement (CPU). Chaque CPU peut avoir plusieurs cœurs
(cores), et chaque cœur est capable d'exécuter des tâches indépendantes,
appelées threads.
(Threads x Cores) x Physical CPU Number = Number of vCPUs
23
Virtualisation du réseau
La virtualisation de réseau fait référence à l'extraction des ressources réseau qui étaient
traditionnellement fournies sous forme matérielle vers la forme logicielle. Elle peut
combiner plusieurs réseaux physiques en un seul réseau virtuel logiciel, ou diviser un
réseau physique en réseaux virtuels distincts et indépendants.
Le logiciel crée une superposition de réseau qui peut exécuter des couches de réseau
virtuel distinctes au-dessus de la même structure réseau physique.
Un exemple de virtualisation de réseau est le LAN virtuel (VLAN). Un VLAN est une
sous-section d'un réseau local (LAN) créée avec un logiciel qui combine les périphériques
réseau en un seul groupe, quel que soit leur emplacement physique.
24
Virtualisation du réseau
Nous avons les machines virtuelles 1, 2, 3 et 4 qui
tournent sur le même hôte. Elles souhaitent
envoyer le trafic réseau dans les deux sens.
Pour ce faire, elles utilisent des cartes réseau
virtuelles, comme le montre l'illustration suivante
(vNIC), qui se connectent virtuellement à un
commutateur virtuel (vSwitch) créé par
l'hyperviseur.
Ce commutateur virtuel communique avec une
carte physique du serveur (pNIC), qui est
connectée à un commutateur physique (pSwitch)
et communique ensuite avec le reste de
l'équipement réseau.
25
Virtualisation du réseau : SDN
SDN : Software-defined Networking
Les fonctionnalités des équipements du réseau peuvent être perçues sur deux
plans à savoir le plan de contrôle et le plan de données (ex: le routeur, son plan de
contrôle, on note les opérations de calcul du chemin le plus court)
SDN consiste à virtualiser le plan de contrôle
L'objectif du SDN est d'améliorer le contrôle du réseau en permettant aux
entreprises et aux fournisseurs de services de répondre rapidement aux exigences
26
commerciales changeantes
Virtualisation du réseau : SDN
Avantages :
o La flexibilité et la latitude de
contrôle
o La robustesse de la sécurité
o La définition propre de son
infrastructure réseau
Applications :
o Réseau universitaire
o Réseaux des fournisseurs de service
Source : [Link]
04255/article_deploy/html/images/sustainability-12-04255-
[Link] 27
Virtualisation du réseau : NFV
NFV : Network Functions Virtualization
Il s’agit de la substitution des équipements de réseaux (firewall, analyseur de Traffic, etc.) par des
VM
NFV permet de séparer les services de communication du matériel dédié, comme les routeurs et
les pare-feu. Cette séparation signifie que les opérations réseau peuvent fournir de nouveaux
services de manière dynamique et sans installer de nouveau matériel. Le déploiement de
composants réseau avec la virtualisation des fonctions réseau prend des heures au lieu de plusieurs
mois comme avec les réseaux traditionnels. En outre, les services virtualisés peuvent s'exécuter sur
des serveurs génériques moins coûteux au lieu de matériel propriétaire.
28
Virtualisation du réseau : NFV
Architecture :
o Fonctions virtualisées du réseau
o Infrastructures réseau virtualisées
o Entité de management et
d’ordonnancement
Source :
[Link]
level_etsi_framework.png
29
NFV vs SDN
SDN
Virtualise le plan de contrôle des infrastructures de réseau
Nécessite toujours les équipements de réseau (Switch, routeur, firewall, etc.)
Repose sur la virtualisation
NFV
Remplace les équipements de réseau par des VMs
Repose sur la virtualisation
30
Techniques de virtualisation
Thèmes des exposés:
Isolation / cloisonnement
Noyau en espace utilisateur
Virtualisation complète
Paravirtualisation
Virtualisation assistée par le matériel
31
Isolation / Cloisonnement
En virtualisation, l'isolation fait référence à la capacité de séparer les différents
environnements virtuels afin qu'ils ne puissent pas interférer les uns avec les autres.
L'isolation est essentielle pour garantir que chaque machine virtuelle fonctionne de
manière indépendante et sécurisée, sans que des applications ou des processus de
l'un ne puissent affecter les autres.
Grâce à l’isolation, si une machine virtuelle tombe en panne, les autres machines
virtuelles et le système hôte ne s'affectent pas mutuellement. De plus, les données
ne sont pas partagées entre une machine virtuelle et une autre.
32
Isolation / Cloisonnement
Quelques exemples d’éléments qui peuvent être isolés :
o Le système d'exploitation : Dans une machine virtuelle, chaque système
d'exploitation est isolé des autres, ce qui signifie qu'un crash système ou une attaque de
malware dans l'un ne peut pas affecter les autres.
o Les applications : Les applications peuvent être isolées les unes des autres pour éviter
les conflits de compatibilité, les collisions de port ou toute autre interférence.
o Les ressources : Les ressources, comme la mémoire et le stockage, peuvent être isolées
entre les différentes machines virtuelles, de sorte que chaque machine virtuelle dispose
d'une allocation de ressources distincte.
o Les réseaux : Les machines virtuelles peuvent être isolées sur des réseaux différents, de
sorte que chaque machine virtuelle ne puisse pas accéder aux autres, ce qui renforce la
sécurité globale.
33
Isolation des applications
L'isolation est une technique permettant
d'emprisonner l'exécution des applications
dans des contextes.
On remarque ici que les utilisateurs partagent
les mêmes ressources matérielles mais se
différencient au niveau de la couche
application
[Link]
virtualisation/[Link]
34
Virtualisation complète
La virtualisation est dite complète
lorsque le système d'exploitation
invité n'a pas conscience d'être
virtualisé. L'OS qui est virtualisé n'a
aucun moyen de savoir qu'il partage le
matériel avec d'autres OS. Ainsi,
l'ensemble des systèmes d'exploitation
virtualisés s'exécutant sur un unique
ordinateur, peuvent fonctionner de
manière totalement indépendante les
uns des autres et être vu comme des
ordinateurs à part entière sur un
réseau.
[Link] [Link]/~dr/XPOSE2008/virtualisation/[Link] 35
Paravirtualisation
Par opposition à la virtualisation, on parle de paravirtualisation lorsque les systèmes
d'exploitation doivent être modifiés pour fonctionner sur un hyperviseur de
paravirtualisation. Les modifications sont en fait des insertions de drivers permettant de
rediriger les appels système au lieu de les traduire.
36
Paravirtualisation
37
Paravirtualisation
Des drivers backend et frontend sont installés dans les OS paravirtualisés. Ils
permettent, au lieu de traduire les appels système comme cela est fait dans la
virtualisation complète, de ne faire que de la redirection (ce qui est beaucoup plus rapide).
Le backend driver est installé sur le serveur physique, c'est-à-dire sur la machine hôte qui
exécute l'hyperviseur.
En fait, ce qu'il se passe dans une telle technologie, c'est que le contrôle d'un ou plusieurs
matériel(s) est donné à un des OS virtualisé (celui qui contient le driver backend), ici le
système d'exploitation 1. Une fois cela compris, il sera simple d'imaginer que l'OS 2, qui
souhaite accéder au hardware, devra passé par son driver front end qui redirigera les
appels système vers l'OS 1. L'inconvénient de cette technique est donc la dépendance d'un
OS virtualisé vis à vis d'un autre qui se créé par ce mécanisme de driver. En effet si l'OS 1
tombe en panne, l'OS 2 ne pourra plus accéder au matériel.
38
Paravirtualisation vs hyperviseur de type 2
La paravirtualisation est une technique de virtualisation de type 1, qui nécessite que les
systèmes d'exploitation invités soient modifiés pour communiquer directement avec
l'hyperviseur. Cette technique permet d'obtenir des performances plus élevées que la
virtualisation complète, en particulier pour les charges de travail intensives en termes de
ressources. Cependant, elle nécessite une modification du système d'exploitation invité,
ce qui peut rendre la migration des machines virtuelles plus difficile. (xen est un exemple)
La virtualisation de type 2, quant à elle, est une technique de virtualisation qui s'exécute
sur un système d'exploitation existant, appelé système hôte. Elle permet de créer des
machines virtuelles en utilisant des hyperviseurs qui s'exécutent au-dessus du système
hôte. Cette technique est plus facile à installer et à utiliser que la paravirtualisation, mais
elle peut être moins performante en raison de la surcharge du système d'exploitation hôte.
39
Virtualisation assistée par le matériel
La virtualisation assistée par matériel (HVM, pour Hardware-assisted Virtualization) est une
technique de virtualisation qui utilise des extensions matérielles spécifiques pour améliorer la
performance et la sécurité des machines virtuelles. Les processeurs modernes incluent
généralement des fonctionnalités de virtualisation assistée par matériel, telles que Intel VT-x pour
les processeurs Intel et AMD-V pour les processeurs AMD.
Contrairement à la virtualisation complète et à la paravirtualisation, qui utilisent des techniques de
virtualisation logicielle pour émuler le matériel, la virtualisation assistée par matériel permet
aux machines virtuelles d'accéder directement au matériel sous-jacent, sans avoir besoin
d'une émulation complète. Cette approche permet une meilleure performance des machines
virtuelles, car elles peuvent accéder directement aux ressources matérielles, telles que les
processeurs, la mémoire, les disques et les périphériques réseau.
Lorsqu'une machine virtuelle est configurée pour utiliser la virtualisation assistée par matériel,
l'hyperviseur utilise les extensions de virtualisation du processeur pour créer un environnement de
virtualisation sécurisé pour la machine virtuelle. Cela permet à la machine virtuelle de s'exécuter
comme si elle était directement connectée au matériel sous-jacent, sans avoir besoin de passer par
une émulation complète.
Un exemple est VMware ESXi 40
Webographies
• [Link] consulté le 19/09/2022 à 05 h
• [Link] consulté le 19/09/2022 à 22 h
• [Link] consulté 19/09/2022 à 22 h
• [Link]
d&sxsrf=ALiCzsZMKg9AW3GGfbkPA8lahFOx4eCriw
%3A1663649012293&ei=9EQpY53EEbuG9u8Pg7Kv8Ao&oq=virtual+machine+de&gs_lcp=Cgdnd3Mtd2l6E
AMYADIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDIFCAAQgAQy
BQgAEIAEMgUIABCABDIFCAAQgAQ6CggAEEcQ1gQQsAM6BAgjECc6BAgAEENKBAhBGABKBAhG
GABQ-gFY2gNgxhNoAXABeACAAZECiAGZBpIBAzItM5gBAKABAcgBCMABAQ&sclient=gws-wiz
• [Link] consulté le 20/09/2022 à 6 h
• [Link] consulté le 20/09/2022 21 h 14
• [Link] consulté le 21/09/202
2
17 h 12
41
Webographies
• [Link] consulté le 23/09/2022 à 5 h
• [Link] consulté le 23/09/2022 à 5h 30
• [Link] consulté le 23/09/2022
à 6h
• [Link] consulté le 12 mars 2023 à 12h 20
• [Link] consulté le 12 mars 2023 à 12h40
• [Link] consulté 04 octobre 2023 à 17 h 05
• [Link] consulté 04 octobre 202
3
à 10 h
• [Link] consulté 04 octobre 2023 à 17 h 40
42