0% ont trouvé ce document utile (0 vote)
2 vues86 pages

Machines Virtuelles et Hyperviseurs

Le chapitre 3 aborde les machines virtuelles (VM), leur gestion des ressources telles que le processeur, la mémoire, le réseau et le stockage. Il explique également les hyperviseurs et les techniques d'optimisation de la mémoire, comme le ballooning et le partage de pages. Les VMs imitent les machines physiques tout en permettant une flexibilité dans l'allocation des ressources.

Transféré par

mabimanasse6
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)
2 vues86 pages

Machines Virtuelles et Hyperviseurs

Le chapitre 3 aborde les machines virtuelles (VM), leur gestion des ressources telles que le processeur, la mémoire, le réseau et le stockage. Il explique également les hyperviseurs et les techniques d'optimisation de la mémoire, comme le ballooning et le partage de pages. Les VMs imitent les machines physiques tout en permettant une flexibilité dans l'allocation des ressources.

Transféré par

mabimanasse6
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

Virtualisation des Systèmes

Chapitre 3 : Machines Virtuelles

F.Z. Filali

Avril 20, 2021


Plan

Définitions
1 Machines Virtuelles Types
Machine Virtuelle Critères de virtualisation
Gestion du processeur Théorèmes
Gestion de la mémoire Rôle
Gestion du réseau Exemples
Gestion du Stockage 3 Conteneur
Approvisionnement des
Conteneur
VMs
Isolateurs
2 Hyperviseurs Isolation Linux
Hyperviseur Avantages et inconvénients
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Machine Virtuelle

Une machine virtuelle, également appelée VM, a plusieurs


caractéristiques identiques à celles d’une machine physique.
Elle prend en charge un système d’exploitation et est
configurée avec un ensemble de ressources auxquelles les
applications exécutées sur la machine virtuelle peuvent
demander l’accès.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 3 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Machine Virtuelle

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 4 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Machine Virtuelle

Une machine virtuelle n’est qu’un ensemble de fichiers qui


décrit et comprend la machine virtuelle.
Les fichiers principaux constituant une machine virtuelle sont :

le fichier de configuration : décrit les ressources que la VM


peut utiliser, il énumère le matériel virtuel qui compose la VM
(processeur, mémoire, stockage, réseau, lecteur CD, ...)
les fichiers de disque virtuel.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 5 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur
Les VMs sont configurées pour fonctionner avec un ou plusieurs
processeurs, en fonction de la demande anticipée sur le système.
Si on a↵ecte un processeur à une VM :
Du point de vue de la machine virtuelle, un seul processeur est
disponible.
Du point de vue de l’hôte, ce qui a été assigné est la capacité de la VM
à programmer des cycles de CPU sur les CPU disponibles de l’hôte.
L’hôte ne réserve pas de CPU uniquement pour l’utilisation d’une VM
particulière mais lorsque la VM a besoin de ressources de traitement,
l’hyperviseur prend la demande, planifie les opérations et renvoie les
résultats à la VM via le pilote de périphérique approprié.
L’hôte a généralement beaucoup plus de processeurs que n’importe
quelle VM, et l’hyperviseur planifie l’utilisation des processeurs pour
les machines virtuelles, plutôt qu’une VM ayant un CPU dédié.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 6 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur

Les programmes s’exécutent sur le CPU sous la forme de


petits jeux d’instructions (Instructions SET).
La vitesse d’exécution de ces instructions représente les
performances du CPU (mesure du nombre d’instructions
exécutées dans un certain laps de temps).
Pour augmenter les performances :
Utilisation de plusieurs processeurs,
Hyper-threading (Intel),
Resources pooling (partage de ressources).

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 7 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur

Un processeur (CPU) a↵ecté à une machine virtuelle est


appelée processeur virtuel (vCPU).
Peut-on virtualisé un processeur ?

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 8 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur

Un processeur (CPU) a↵ecté à une machine virtuelle est


appelée processeur virtuel (vCPU).
Peut-on virtualisé un processeur ? Non
L’hyperviseur planifie des tranches de temps sur les
processeurs disponibles dans le serveur hôte physique pour que
les instructions virtuelles s’exécutent.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 9 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur : Exemple


Une première VM doit exécuter un ensemble d’instructions sur le matériel
virtuel et cette demande est dirigée vers l’hyperviseur.
L’hyperviseur planifie une session d’exécution pour la requête de cette VM.
Le CPU physique exécute les instructions sur les données associées et renvoie
les résultats à l’hyperviseur, qui les renvoie à la première VM.
Une fois le CPU physique libèré, l’hyperviseur planifie l’ensemble d’instructions
suivant à partir de la deuxième VM.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 10 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du processeur

En réalité, ce n’est pas si simple car une machine hôte peut


avoir plusieurs processeurs ayant plusieurs coeurs et une VM
peut avoir plusieurs processeurs virtuels.
Chaque fournisseur détermine un nombre maximal de
processeurs virtuels à chaque processeur physique (pour
Vmware ESXi : 32 vCPU par CPU).
Actuellement, on peut ajouter un vCPU à une VM à chaud
mais non le réduire mais ce n’est pas valable pour tous les
systèmes.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 11 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire

Une quantité donnée de mémoire est allouée à une machine


virtuelle, et c’est tout ce qu’elle peut utiliser, même s’il peut y
avoir plus de mémoire disponible sur la machine physique.
Contrairement aux machines physiques, lorsqu’une VM
nécessite plus de mémoire, on peut reconfigurer la taille de la
mémoire et la VM aura accès à la capacité ajoutée, parfois
même sans avoir besoin d’un redémarrage.
Une quantité allouée à une VM n’est pas réservée totalement
à cette machine et peut utilisée par d’autres VMs.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 12 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire
La mémoire a le plus d’impact sur la performance de l’environnement
virtuel.
L’hyperviseur extrait la mémoire en utilisant la mémoire de la machine
physique pour le compte des machines virtuelles qu’il prend en charge.
Pour l’exécution des instructions le système d’exploitation, les
applications et les données utilisées avec ces applications sont
transférés en mémoire ! insuffisante.
Les systèmes d’exploitation permettent de transférer en permanence
les informations de programme et de données entre la mémoire
physique et le stockage sur disque.
Les blocs de mémoire sont appelés pages, et ils sont déplacés dans
des tailles uniformes de 4 Ko. Cette taille est basée sur le type de
processeur et l’architecture, mais elle peut être ajustée. Le fichier
dans le quel les pages mémoires sont copiées sont appelés fichier
page (page file)
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 13 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation


1. Ballooning
Est une technique de récupération de mémoire à partir de la
VM, utilisé lorsqu’il y a un conflit de mémoire.
Pour récupérer la mémoire physique d’une machine virtuelle,
les pages en mémoire doivent être renvoyées vers la zone de
pagination du disque.
Le pilote du ballon est activé et (virtuellement) se gonfle,
forçant le système d’exploitation à vider les pages de la
mémoire.
Le système d’exploitation choisit les pages à vider (les moins
récemment utilisées).
Une fois les pages vidées, le pilote du ballon se dégonfle et
l’hyperviseur récupère la mémoire physique pour l’utiliser.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 14 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation

1. Ballooning

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 15 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation


2. Surchargement de mémoire (Memory overcommitment)
Capacité d’allouer plus de mémoire virtuelle sur un hôte que
ce qui existe physiquement.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 16 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation


3. Partage de pages (page sharing)
Le partage de pages est analogue à la déduplication des données
(technique que les fournisseurs de stockage utilisent pour réduire les blocs
de données et économiser de l’espace disque en ne stockant qu’une seule
copie d’un bloc de données dupliqué).
Lorsque la VM charge en mémoire des pages du système d’exploitation ou
des pages du programme d’application, la plupart de ces pages sont
identiques.
Étant donné que l’hyperviseur gère tous les transferts de pages entre les
VMs et la mémoire physique, il peut déterminer quelles pages sont déjà en
mémoire physique et utiliser cette page au lieu d’en écrire une autre copie
dans la mémoire physique.
Si une machine virtuelle doit écrire sur une page de mémoire partagée,
l’hyperviseur crée une nouvelle copie de cette page pour l’utilisation
exclusive de cette machine virtuelle ! ce processus s’appelle
Copy-on-Write.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 17 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation


3. Partage de pages (page sharing)

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 18 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion de la mémoire : Techniques d’optimisation


4. Compression de Mémoire
Son objectif est de di↵érer l’échange de pages sur le disque,
car il s’agit d’une opération plus coûteuse en temps et en
ressources.
L’hyperviseur réserve une partie de la mémoire à utiliser
comme cache de compression.
Quand il détermine que la pagination doit se produire, il
examine les pages avec des algorithmes pour voir la viabilité
de la compression. Si les pages peuvent être compressées,
elles sont ensuite déplacées dans le cache, au lieu d’être
paginées sur le disque.
La compression et la décompression sont une activité
beaucoup plus rapide que l’échange de pages.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 19 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

La mise en réseau virtuelle fournit à une VM un moyen de


communiquer avec le monde physique.
Chaque VM peut être configurée avec une ou plusieurs cartes
d’interface réseau (NIC) qui représentent une connexion à un
réseau mais ces cartes virtuelles ne se connectent pas aux
cartes réseau physiques du système hôte.
L’hyperviseur prend en charge la création d’un réseau virtuel
qui connecte les cartes réseau virtuelles à un réseau composé
de commutateurs virtuels.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 20 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 21 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

La mise en réseau permet aux applications sur une machine


virtuelle de se connecter à des services en dehors de l’hôte sur
lequel elle réside.
L’hyperviseur est le gestionnaire du trafic réseau entrant et
sortant de chaque machine virtuelle et de l’hôte :
L’application envoie une requête réseau au système
d’exploitation invité, qui transmet la demande via le pilote de
carte réseau virtuel.
L’hyperviseur prend la requête de l’émulateur de réseau et
l’envoie via une carte de carte réseau physique dans le réseau.
Lorsque la réponse arrive, elle suit le chemin inverse à
l’application.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 22 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 23 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

Un commutateur virtuel (virtual switch) peut créer un réseau


virtuel dans une machine hôte pour être utiliser par les VMs.
L’hyperviseur gère les commutateurs virtuels ainsi que la
gestion et la maintenance des réseaux virtuels.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 24 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 25 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions

Types de connexions réseaux :


Réseau ponté (bridged),
Réseau NAT,
Réseau hôte uniquement (host-only)
Pour chaque connexion réseau, l’hyperviseur créé un
adaptateur virtuel (carte réseau) afin de gérer le trafic réseau.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 26 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions


1. Bridged
Permet à chaque VM d’avoir une adresse IP reconnue et
accessible depuis l’extérieur de l’hôte.
L’adaptateur virtuel, se comporte comme un commutateur
virtuel et achemine simplement le trafic sortant vers sa carte
réseau physique associée et vers le réseau physique.
Lorsque le trafic entrant apparaı̂t à travers la carte réseau,
l’adaptateur agit à nouveau comme un commutateur et dirige
le trafic vers la machine virtuelle correcte.
L’adaptateur virtuel n’est pas crée mais c’est une pile de
protocole qui est liée à l’adaptateur physique.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 27 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions


1. Bridged

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 28 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions

2. Host-Only
Créé l’équivalent d’un réseau interne uniquement, permettant
aux VMs de communiquer avec d’autres VMs sur ce réseau,
mais sans connexion externe au réseau physique.
Les systèmes sur le réseau physique n’ont aucune connaissance
de ces VMs, ni aucun moyen de communiquer avec eux.
Possibilité de créer une multitude de réseaux internes avec
di↵érentes configuration DHCP.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 29 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions


3. NAT (Network Address Translation)
Les VMs connectées au réseau NAT ont des adresses IP isolées du
réseau physique, mais elles ont accès au réseau en dehors de leur hôte.
Chaque mVM possède une adresse IP reconnue par d’autres VM sur
le réseau interne, mais cette adresse n’est pas visible de l’extérieur de
l’hôte.
Chaque VM partage également l’adresse IP de l’hôte physique pour le
réseau externe.
Lorsque la VM envoie une demande de réseau en dehors de l’hôte,
l’hyperviseur maintient une table d’adresses traduites des réseaux
internes vers les réseaux externes. Lorsque les données réseau arrivent,
la carte d’interface réseau physique le transmet à l’hyperviseur pour la
retraduire et acheminer l’information vers la VM adéquate.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 30 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du réseau : Types de connexions


3. NAT

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 31 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du Stockage

Un lecteur de stockage virtuel est simplement des régions


découpées de l’espace disque sur un périphérique de stockage
partagé.
C’est l’hyperviseur qui gère la présentation du stockage à la
VM.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 32 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du Stockage

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 33 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Gestion du Stockage
Dans un environnement virtuel, dans le cas d’acquisition de
données à partir d’un lecteur de disque, une demande de
données du programme d’application est faı̂te au contrôleur
de stockage.
Stockage à connexion directe (DAS – Direct Attached
Storage) : stockage sur disque interne au système hôte, géré
par un contrôleur de stockage (une carte processeur physique
faisant partie du matériel d’un ordinateur).
Stockage SAN (Storage Area Network) ou NAS (Network
Attached Storage) : périphérique de stockage sur disque
connecté à un ordinateur via un réseau de stockage dédié ou
via une carte physique qui connecte l’ordinateur au réseau. Un
SAN se connecte généralement via un contrôleur spécialisé,
parfois appelé contrôleur Fibre Channel (FCC) ou adaptateur
HBA (Host-Bus Adapter).
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 34 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Approvisionnement des VMs

L’approvisionnement du serveur nécessite des ressources


considérables en termes de temps, de main-d’œuvre et de
coût.
Techniques d’approvisionnement :
Clones
Modèles (templates)
Instantanés (snapshots)

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 35 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Approvisionnement des VMs : Clones

Pour une VM, si on a besoin d’un nouveau serveur ! Cloner


un serveur existant.
Créer un clone d’une VM ne consiste à copier les fichiers qui
composent le serveur existant et personnaliser la nouvelle VM
clone par un nom de système et une adresse IP.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 36 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Approvisionnement des VMs : Modèles (Templates)


Un modèle représente une sorte de moule : c’est une VM
préconfigurée et préchargée.
La di↵érence entre un modèle et un clone est que le clone est
en cours d’exécution et qu’un modèle ne l’est pas.
Un modèle ne peut pas être exécuté, et afin d’y apporter des
modifications, un modèle doit d’abord être reconverti en une
machine virtuelle.
Comme le clonage, la création d’une VM à partir d’un modèle
nécessite également l’application d’une identité unique à la
machine virtuelle nouvellement créée.
Contrairement à un clone, lorsqu’une machine virtuelle est
convertie en modèle, la machine virtuelle à partir de laquelle
elle a été créée n’existera plus.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 37 / 86
Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Approvisionnement des VMs : Instantanés (Snapshots)


Un instantané est une capture de l’état d’une VM à un
moment donné.
Ils fournissent une sauvegarde d’une VM à un moment donné
où on peut facilement retourner dans le cas où certaines
modifications apportées à la VM doivent être annuler.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 38 / 86


Machine Virtuelle
Gestion du processeur
Gestion de la mémoire
Machines Virtuelles Gestion du réseau
Hyperviseurs Gestion du Stockage
Conteneur Approvisionnement des VMs

Approvisionnement des VMs : Instantanés (Snapshots)


Un instantané préserve l’état d’une machine virtuelle, ses données et
sa configuration matérielle.
Une fois qu’un instantané est créé, les modifications apportées ne
vont plus sur la VM. Ils vont plutôt à un disque delta (disque enfant).
Ce disque delta accumule tous les changements jusqu’à ce que l’une
des deux choses arrive :
Un autre instantané est créé : dans ce cas un deuxième disque delta
est créé et toutes les modifications suivantes y sont écrites
Une consolidation : les modifications du disque delta sont fusionnées
avec les fichiers de la machine virtuelle de base et deviennent la
machine virtuelle mise à jour.
On peut revenir à l’état d’une machine virtuelle au moment où un
instantané a été pris, en déroulant toutes les modifications e↵ectuées
depuis cette date.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 39 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Hyperviseur

Egalement appelé Gestionnaire de machines virtuelles (Virtual


Machine Monitor – VMM).
C’est un programme de bas niveau requis pour fournir un
accès des ressources système aux machines virtuelles.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 40 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Définitions

Machine virtuelle du niveau système.


Machine virtuelle du niveau processus.
Système d’exploitation invité (Guest OS).
Système d’exploitation hôte (Host OS).

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 41 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Définitions

Machine virtuelle du niveau système :


Elle possède son propre espace d’adressage en mémoire, sa
propre allocation de processeur et ses propres E/S de
périphérique en utilisant ses propres pilotes de périphériques
virtuels.
Machine virtuelle du niveau processus.
Système d’exploitation invité (Guest OS).
Système d’exploitation hôte (Host OS).

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 42 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Définitions
Machine virtuelle du niveau système.
Machine virtuelle du niveau processus :
s’exécute comme une application normale dans un système
d’exploitation hôte et prend en charge un seul processus.
Il est créé lorsque ce processus est démarré et détruit lorsqu’il
se termine.
Son but est de fournir un environnement de programmation
indépendant de la plate-forme qui résume les détails du
matériel ou du système d’exploitation sous-jacent, et permet à
un programme de s’exécuter de la même manière sur n’importe
quelle plate-forme.
Système d’exploitation invité (Guest OS).
Système d’exploitation hôte (Host OS).
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 43 / 86
Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Définitions

Machine virtuelle du niveau système.


Machine virtuelle du niveau processus.
Système d’exploitation invité (Guest OS) :
Le système d’exploitation chargé dans une machine virtuelle.
Il n’y a aucune contrainte sur l’exécution du même invité sur
plusieurs machines virtuelles.
Système d’exploitation hôte (Host OS).

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 44 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Définitions

Machine virtuelle du niveau système.


Machine virtuelle du niveau processus.
Système d’exploitation invité (Guest OS).
Système d’exploitation hôte (Host OS) :
est le système principal, qui fournit des ressources
informatiques du matériel sous-jacent pour prendre en charge
la machine virtuelle invitée.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 45 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Types : Hyperviseur de type 1

Également connu sous le nom d’hyperviseur bare metal ou


d’hyperviseur natif.
C’est un noyau système très léger et optimisé pour gérer les
accès des noyaux d’OS invités à l’architecture matérielle
sous-jacente.
Di↵érents types de systèmes d’exploitation peuvent
fonctionner dans l’hyperviseur de type 1, indépendamment des
systèmes d’exploitation de la machine hôte, d’où la portabilité.
Avantage : performance.
Inconvénient : déploiement initial contraignant et coûteux.
Exemple : Xen, Vmware ESXi, Microsoft Hyper-V, KVM.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 46 / 86
Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Types : Hyperviseur de type 1

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 47 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Types : Hyperviseur de type 2

Également appelé hyperviseur hébergé.


Il est connecté entre le système d’exploitation invité et la
machine réelle.
L’hyperviseur s’exécute sur le système d’exploitation hôte.
Avantage : permet de faire cohabiter plusieurs OS
hétérogènes sur une même machine
Inconvénient : les performances des machines virtuelles
diminuent.
Exemple : Oracle VirtualBox, Parallels Desktop, Vmware
Workstation, GNS3.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 48 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Types : Hyperviseur de type 2

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 49 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Critères de virtualisation pour un hyperviseur

Équivalence.
Contrôle des ressources.
Efficacité.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 50 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Critères de virtualisation pour un hyperviseur

Équivalence :
Un programme exécuté sous VMM doit présenter un
comportement prédictif qui est essentiellement identique à
celui démontré lors de l’exécution sur la plate-forme matérielle
sous-jacente directement.
Ceci est parfois appelé Fidélité (fidelity).
Contrôle des ressources.
Efficacité.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 51 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Critères de virtualisation pour un hyperviseur

Équivalence.
Contrôle des ressources :
le VMM doit avoir un contrôle complet des ressources
matérielles réelles virtualisées pour le système d’exploitation
invité à tout moment.
Ceci est parfois appelé sureté (safety).
Efficacité.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 52 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Critères de virtualisation pour un hyperviseur

Équivalence.
Contrôle des ressources .
Efficacité :
Un nombre impressionnant d’instructions machine doit être
exécuté sans intervention de VMM ou en d’autres termes par
le matériel lui-même.
Ceci est parfois appelé Performance.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 53 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes
Afin de dériver les théorèmes de virtualisation, qui fournissent
des conditions suffisantes (mais non nécessaires) à la
virtualisation, les instructions d’un ISA ont été classifiées en 3
groupes di↵érents:
Instructions privilégiées : Ceux qui sont piégées (trap) si le
processeur est en mode utilisateur et ne sont pas piégées s’il
est en mode système (mode superviseur).
Instructions sensibles au contrôle : Ceux qui tentent de
changer la configuration des ressources dans le système (E/S).
Instructions sensibles au comportement : Ceux dont le
comportement ou le résultat dépend de la configuration des
ressources (le contenu des registres ou le mode du processeur).
Ces théorèmes ont été présentés par les travaux des
chercheurs de Popek et Goldberg en 1974.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 54 / 86
Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 1

”Pour tout ordinateur de troisième génération classique,


un VMM efficace peut être construit si l’ensemble
d’instructions sensibles pour cet ordinateur est un
sous-ensemble de l’ensemble d’instructions privilégiées.”

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 55 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 1

Intuitivement, le théorème indique que pour construire un


VMM, il suffit que toutes les instructions qui pourraient
a↵ecter le bon fonctionnement du VMM (instructions
sensibles) sont toujours piégées et contrôlées par le VMM.
Cela garantit la propriété de contrôle des ressources.
Les instructions non privilégiées doivent plutôt être exécutées
de manière native (c’est-à-dire, efficacement). La détention de
la propriété d’équivalence est définie également.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 56 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 1

Ce théorème fournit également une technique simple pour


implémenter un VMM, appelé virtualisation
trap-and-emulate, plus récemment appelée virtualisation
classique.
Puisque toutes les instructions sensibles se comportent
normalement, tout ce que le VMM a à faire est de piéger et
d’émuler chacun d’entre eux.
Un problème connexe est celui de dériver des conditions
suffisantes pour la virtualisation récursive, c’est-à-dire les
conditions dans lesquelles un VMM pouvant s’exécuter sur
une copie de lui-même peut être construit.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 57 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 2

”Un ordinateur de troisième génération classique est


virtualisable récursivement si :
1 il est virtualisable,
2 un VMM sans aucune dépendance de synchronisation
peut être construit pour cela.”

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 58 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 2

Certaines architectures, comme la x86 non assistée par


matériel, ne remplissent pas ces conditions, elles ne peuvent
donc pas être virtualisées de manière classique.
Mais les architectures peuvent encore être entièrement
virtualisées (dans le cas x86 au niveau CPU) en utilisant
di↵érentes techniques comme la traduction binaire, qui
remplace les instructions sensibles qui ne génèrent pas les
traps, parfois appelées instructions critiques.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 59 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 2

Ce traitement supplémentaire rend toutefois le VMM moins


efficace en théorie, mais les traps matériels ont un coût de
performance non négligeable.
Un système de traduction binaire de mise en cache bien réglé
peut atteindre des performances comparables, par rapport à
l’assistance matérielle x86 de première génération, qui ne
faisait que rendre intelligibles les instructions sensibles.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 60 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Théorèmes : Théorème 3

”Un VMM hybride peut être construit pour n’importe


quelle machine de troisième génération dans laquelle
l’ensemble des instructions sensibles à l’utilisateur est un
sous-ensemble de l’ensemble des instructions
privilégiées.”

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 61 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Rôle de l’hyperviseur

Émulation.
Isolation.
Allocation.
Encapsulation.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 62 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Rôle de l’hyperviseur

Émulation :
Est importante pour tous les systèmes d’exploitation invités.
Le VMM doit présenter un environnement matériel complet,
ou machine virtuelle, pour chaque pile logicielle, qu’il s’agisse
d’un système d’exploitation ou d’une application.
Idéalement, le système d’exploitation et l’application ne savent
pas qu’ils partagent des ressources matérielles avec d’autres
applications. L’émulation est la clé pour satisfaire la propriété
d’équivalence.
Isolation.
Allocation.
Encapsulation.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 63 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Rôle de l’hyperviseur

Émulation.
Isolation :
Il est important pour avoir un environnement sûr et fiable.
Grâce à l’abstraction matérielle, chaque machine virtuelle doit
être suffisamment séparée et indépendante des opérations et
activités des autres machines virtuelles.
Les erreurs qui se produisent dans une machine virtuelle unique
ne doivent pas avoir d’impact sur les autres, ce qui permet
d’obtenir des niveaux élevés de sécurité et de disponibilité.
Allocation.
Encapsulation.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 64 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Rôle de l’hyperviseur

Émulation.
Isolation.
Allocation :
Le VMM doit allouer méthodiquement les ressources de la
plateforme aux machines virtuelles qu’il gère.
Les ressources pour le traitement, la mémoire, les E/S réseau
et le stockage doivent être équilibrées pour optimiser les
performances et aligner les niveaux de service sur les besoins.
Grâce à l’allocation, le VMM satisfait la propriété de contrôle
des ressources et, dans une certaine mesure, la propriété
d’efficacité.
Encapsulation.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 65 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Rôle de l’hyperviseur

Émulation.
Isolation.
Allocation.
Encapsulation :
Permet à chaque pile logicielle (système d’exploitation et
application) d’être hautement portable, pouvant être copiée ou
déplacée d’une plate-forme exécutant le VMM à une autre.
Dans certains cas, ce niveau ou cette portabilité permet même
la migration de machines virtuelles en cours d’exécution.
L’encapsulation doit inclure des informations d’état afin de
maintenir l’intégrité de la machine virtuelle transférée.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 66 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Vmware ESX

Fondée en 1998, VMware a été la première société à


développer une solution de virtualisation x86 disponible dans
le commerce.
En 1999, la société a lancé son premier produit : Workstation
1.0, qui permettait aux développeurs de créer et de travailler
avec des machines virtuelles sur leurs postes de travail
Windows ou Linux.
En 2001, ESX 1.0 et GSX 1.0 ont été publiés. ESX était un
hyperviseur de type 1 et GSX était un hyperviseur de type 2.
Vmware détient jusqu’à aujourd’hui 85% du marché de
virtualisation.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 67 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Vmware ESX - Architecture

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 68 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Vmware ESX - Architecture

Vmkernel contient tous les processus nécessaires pour prendre


en charge les machines virtuelles et gérer les ressources
matérielles et de disponibilité.
Les services d’infrastructure, tels que le chronométrage et la
journalisation, les intégrations avec les outils de gestion
VMware et d’autres modules tiers autorisés, tels que les
pilotes matériels et les outils de surveillance du matériel,
peuvent également être exécutés dans vmkernel.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 69 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Vmware ESX - Fonctionnalités

Chronométrage (time keeping)


Journalisation (logging)
Intégration de matériels tiers
Migration à chaud
Haute disponibilité et tolérance aux pannes

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 70 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Citrix XEN


Débuté comme projet de recherche à la fin des années 1990 à
l’Université de Cambridge, dans le but de créer une plateforme
efficace pour l’informatique distribuée.
En 2002, le code est devenu un projet open source,
permettant à quiconque de contribuer à l’amélioration des
fonctionnalités et des capacités.
XenSource a été fondé en 2004 pour commercialiser
l’hyperviseur Xen.
En 2005, Red Hat, Novell et Sun ont tous ajouté l’hyperviseur
Xen à leurs o↵res de produits.
Deux ans plus tard, Citrix Systems a acquis XenSource pour
compléter ses solutions de livraison d’applications.
Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 71 / 86
Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Citrix XEN - Architecture

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 72 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Citrix XEN - Architecture

Solution bare-metal et repose directement sur le matériel.


Il a un système invité spécial appelé Domaine 0 (Dom0) qui
est démarré lorsque l’hyperviseur est démarré et dispose de
privilèges de gestion di↵érents de ceux des autres systèmes
invités.
Dom a un accès direct au matériel, et gère toutes les E/S
pour les machines invitées individuelles.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 73 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Microsoft Hyper-V

Microsoft a débuté dans l’espace de virtualisation avec Virtual


Server en 2005, après avoir acquis la solution de Connectix
quelques années plus tôt.
Virtual Server était un hyperviseur de type 2, et il est toujours
disponible gratuitement aujourd’hui.
Microsoft Hyper-V a été publié en 2008 en tant que partie
installable du système d’exploitation Windows Server 2008.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 74 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Microsoft Hyper-V - Architecture

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 75 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Microsoft Hyper-V - Architecture

Hyper-V est un hyperviseur de type 1 car il s’exécute


directement sur le matériel.
Plutôt que des invités, les charges de travail virtualisées sont
appelées partitions.
Similaire au modèle Xen, il nécessite une partition parent
spéciale ayant un accès direct aux ressources matérielles.
Comme Dom0, la partition parent exécute un système
d’exploitation, dans ce cas, Windows Server 2008. Cette
partition crée et gère les partitions enfants et gère les
fonctions de gestion du système et les pilotes de périphérique.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 76 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Proxmox VE

Proxmox Virtual Environment (Proxmox VE).


est un hyperviseur open-source.
Il est basé sur une distribution Linux basée sur Debian avec un
noyau LTS Ubuntu modifié.
Il permet le déploiement et la gestion des machines virtuelles
et des conteneurs.
Proxmox VE inclut une console Web et des outils de ligne de
commande, et fournit une API REST pour les outils tiers.
Deux types de virtualisation sont pris en charge: à base de
conteneur avec LXC, et la virtualisation complète avec KVM.

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 77 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Proxmox VE - Architecture

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 78 / 86


Hyperviseur
Définitions
Types
Critères de virtualisation
Machines Virtuelles Théorèmes
Hyperviseurs Rôle
Conteneur Exemples

Exemples : Comparaison

Proxmox VE VMware ESXi Windows Hyper-V Citrix XenServer


Système invité Windows, Linux Windows, Linux, Unix Windows(N), linux(-) Windows, linux(-)
Open Source oui non non oui
Virt. système (LXC) oui non non non
Contrôle centralisé oui oui (-) oui(-) oui
Haute disponibilité oui oui limitée oui
Line Snapshot oui oui limité oui
Type hyperviseur 1 1 1 1
Migration à chaud oui oui oui oui
Max RAM/hôte 2TO 2TO 1TO ?

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 79 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

Conteneur

Perception d’environnement isolé et indépendant


Un seul noyau, plusieurs espaces utilisateurs (contextes) !
Partage du noyau entre toutes les VMs (ou containers)
Sur un serveur typique:
10-100 machines virtuelles
100-1000 containers
Pas de disque virtuel, mais des arborescences de fichiers

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 80 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

Conteneur

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 81 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

Isolateurs

LXC : LinuX Containers (inclus dans le noyau linux)


Linux-VServer : isolation des processus en user-space
OpenVZ : partitionnement au niveau noyau sous Linux, très
performant mais obsolète
Docker :
confinement d’applications Linux
utilise LXC, cgroups, et le noyau Linux
modèles de conteneurs partagés sur dockerHub
BSD Jail : isolation en user-space (parfois considéré comme
un hyperviseur)

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 82 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

Isolation Linux

Un container est un groupe de processus dans une machine


Linux, isolés des autres processus qui tournent sur la même
machine
Utilisation des namespaces (du noyau Linux) assignée à un
groupe de processus : isolation, leur propre pile réseau
(interfaces, sockets, routage), volumes.
Utilisation du cgroups (du noyau Linux) assignée des resources
à ces processus par exemple de la CPU, de la mémoire

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 83 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

Avantages

simplicité de déploiement pour une application et son


environnement logiciel
moindre consommation des ressources sur le host
démarrage plus rapide des VM
remplissage des hosts en mode ”best e↵ort”
gestion en CLI

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 84 / 86


Conteneur
Isolateurs
Machines Virtuelles Isolation Linux
Hyperviseurs Avantages et inconvénients
Conteneur

inconvénients

impose que la VM tourne sur le même noyau Linux du host


pas de migration à chaud ou de HA
pas de délégation de gestion
aucun support commercial connu
bornage de la consommation des ressources
sécurité moindre ?

Avril 20, 2021 F.Z. Filali Virtualisation des Systèmes 85 / 86


Questions?

Vous aimerez peut-être aussi