You are on page 1of 29

CR380 – VIRTUALISATION

Cours 2 - La virtualisation les différentes


approches
Introduction
Définitions
Rappel de la dernière séance
1- Définition de la virtualisation
2- Pourquoi faire de la virtualisation
3- Historique
4- Le marché
a- virtualisation personnel
b- virtualisation d’entreprise
Plan de la séance
0- Les travaux de groupes
1- Définition et approche de virtualisation
2- Les caractéristiques d’un hyperviseur
3- Les concepts de virtualisation
4- Les clichés
5- Le laboratoire
Définitions

• Système Hôte: Un système hôte est un ordinateur


qui, à l’aide d’une technologie de virtualisation,
héberger une ou plusieurs machines virtuelles.

• Système invité: Un système invité est un système


d’exploitation qui s’exécute à l’intérieur d’une
machine virtuelle.
L’hyperviseur
• L’hyperviseur est la couche logicielle qui se trouve en
dessous des machines virtuelles et au-dessus de la
couche matérielle.

• L’hyperviseur gère les interactions entre les machines


virtuelles et la couche matérielle de l’hôte.
L’hyperviseur

VM
Appl
VM
Appl SE invité
SE invité Hyperviseur
Hyperviseur SE Hôte
Hôte Hôte

Schéma: Illustration de l’architecture d’un hyperviseur


Les principales caractéristiques d’un
Hyperviseur
Gerald J. Popek et Robert P. Goldberg* énoncent trois caractéristiques
fondamentales d’un système de virtualisation.
• L’équivalence
« Any programm run under the VMM should exhibit an effect identical with
that demonstrated if the program had been run on the original machine
directly, with the possible exception of differences caused by the
availability of system resources and differences caused by timing
dependencies »
Une application quelconque doit s’exécuter de la même manière, quel
que soit l’environnement (sur hyperviseur ou machine physique)

• L’efficacité
« The second caracteristic of the virtual machine monitor is efficiency. It
demands that a statiscally dominant subset of the virtual processor’s
instructions be executed directly by the real processor, with no software
intervention by the VMM »
Le processeur doit exécuter la majorité des instructions sans intervention de
l’hyperviseur.
Les principales caractéristiques d’un
Hyperviseur
Gerald J. Popek et Robert P. Goldberg énoncent trois caractéristiques
fondamentales d’un système de virtualisation.
• Le contrôle de ressources
« The VMM is said to have complete control of these ressources if it is not
possible for a programm running under it in the created environement to
acces anny resource not explicitly and it is possible under certain
circumstances for the VMM to regain control of resources already
allocated »
L’hyperviseur doit avoir le contrôle exclusif des ressources partagées. Toute
application doit passer par l’hyperviseur pour accéder aux ressources
partagées.
Les principales approches de
virtualisation
Virtualisation de type 1
#Bare metal virtualization ou native virtualization#
Dans ce modèle de virtualisation,
• l’hyperviseur est directement VM
Appl

installé sur le matériel SE invité

• L’hyperviseur communique Hyperviseur

directement avec les ressources Hôte

matérielles
• Ex: Vmware ESX, Hyper-V, Citrix
XEN server, etc.
Virtualisation de type 2
#Hosted virtualization#
Dans ce modèle de virtualisation,
• l’hyperviseur est installé sur le SE
de l’hôte VM
Appl

• L’hyperviseur ne communique SE invité

pas directement avec les Hyperviseur

ressources matérielles de l’hôte SE Hôte

• Le SE de l’hôte joue le rôle Hôte

d’intermédiaire entre
l’hyperviseur et les ressources
matérielles
• Ex: Virtualbox, Vmware player,
etc
Concepts
Matériel virtuel
• Afin de permettre au système d’exploitation invité
d’exécuter des tâches, le logiciel de virtualisation
doit, en fonction de la configuration, soit émuler
soit donner accès au matériel du système hôte.

• Le choix entre l’émulation ou l’accès dépendra


du type de matériel
Le processeur virtuel
• Le processeur virtuel est la portion principale du logiciel de virtualisation

• La virtualisation du processeur consiste à réserver des espaces de temps sur les processeurs
disponibles sur le système hôte.

• La performance d’un VM va dépendre du nombre de processeur qui lui sont alloués et de la


disponibilité en simultanée des processeurs physique pour l’exécution des processus de la VM.

• L’hyperviseur dans ce cas joue le rôle de planificateur de tâche pour le compte de la VM au


niveau des processeur physiques.

• Dans le cas de la virtualisation personnelle, le processeur est normalement émulé *, mais


l’utilisation d’extensions de virtualisation matérielle permet d’exécuter une portion des
instructions au niveau du processeur physique.

• L’implémentation virtuelle du processeur physique inclut aussi une version logiciel du jeu de
puce (chipset) de l’ordinateur et peut être différente des composantes physiques.
La mémoire virtuelle
• Même fonctionnement que la mémoire virtuelle du
système d’exploitation

• Le logiciel de virtualisation garde une table de


correspondance entre les adresses virtuelles du système
invité et les adresses physiques (ou virtuelles) du système
hôte.

• La mémoire (plus que le processeur) et souvent le facteur


limitant dans la mise en place de solutions de virtualisation.
Le disque virtuel
• Dans un contexte de virtualisation personnelle, deux
configurations existent pour les disques durs virtuels:

– Le disque logiciel : un fichier est créé sur le disque du


système hôte et est utilisé pour stocker les données du
système invité.
– La partition physique: Une partition préexistante sur le
disque physique du système hôte est rendue
disponible au système invité.
Le disque virtuel: Disque logiciel
• Deux configurations sont possibles pour les disques logiciels:

– Préallocation de l’espace : L’ensemble de l’espace


maximum du disque logiciel attribué au fichier crée.
Cette configuration est plus performante.
– Disque dynamique : Le fichier de disque croit avec
l’utilisation réelle de l’espace disque par le système
invité.

• Une configuration de disque virtuel est toujours moins


performante qu’une configuration de partition physique.
Le disque virtuel : Partition
physique
• Dans ce type de configuration, une partition sur le
disque physique du système hôte est rendue disponible
au système invité.
• Le système hôte ne pourra pas accéder aux
informations sur cette partition pendant qu’elle est
accessible par le système invité.
• Ce type de configuration est beaucoup plus performant
qu’un disque logiciel
• Ce type de configuration est très fréquent dans des
scénarios ou un système d’exploitation alternatif peut
être utilisé directement, ou en mode virtuel.
L’entrée-sortie
• Les fonctionnalités d’entrée-sortie, telles que le clavier, la
souris et l’écran, sont souvent implémentées de manière
logicielle.

• L’interface du logiciel de virtualisation permet d’interagir


avec le système invité depuis le système hôte ou à
distance à travers le réseau.

• Les périphériques de stockages mobiles (tels les lecteurs


CD-ROM ou les clés USB) peuvent être émulés depuis une
image existante sur le disque du système hôte.
Les périphériques externes
• La majorité des logiciels de virtualisation personnelle
permettent d’accéder à des périphériques externes
depuis le système invité.

• Pour accéder à ces périphériques physiques, un pilote


est installé au niveau du système hôte qui permet de
rediriger la communication entre les périphériques et le
système vers le système invité.

• Les périphériques rendus disponibles au système invité


ne sont plus accessibles par le système hôte.
Les clichés
Qu’est-ce qu’un cliché?
• Un cliché (snapshot) est une image de l’état global
d’une machine virtuelle à un instant donné dans le
temps.

• Les solutions de virtualisation permettent de créer des


clichés à plusieurs points dans le temps, afin de revenir à
un état précédent.

• Un cliché de machine virtuelle comprend deux éléments:


– Sauvegarde de l’état de la machine
– Cliché de disque dur.
Enregistrement de l’état de la
machine virtuelle
1. Pause de l’exécution de la
machine virtuelle

2. Exportation de l’ensemble du
contenu de la mémoire virtuelle
vers un fichier sur le disque

3. Exportation de l’ensemble de
l’état des registres

4. Reprise de l’exécution de la
machine virtuelle.
Cliché de disque dur
• Le cliché de disque dur est une méthode qui permet de
conserver l’état du disque dur au moment de la prise de
cliché sans devoir dupliquer l’ensemble des données.

• Lorsqu’un cliché de disque dur est créé, l’état initial du


disque dur (virtuel ou physique) est gelé.

• Un fichier est ensuite créé sur le disque du système hôte afin


de contenir les deltas, ou différences entre l’état initial et le
nouvel état

• La taille du fichier delta croit en fonction de la quantité de


modifications.
Clichés multiples
• La majorité des outils de virtualisation permettent de créer
plusieurs clichés pour la même machine virtuelle.

• Deux méthodes utilisent pour la création de clichés multiples


– Clichés en cascade: Les nouveaux clichés sont appliqués sur
le cliché précédent
– Cliché en parallèle: Le nouveau cliché est appliqué sur l’état
d’origine de la machine.

• Il est possible d’utiliser un mélange des deux méthodes pour


créer un arbre de cliché.
Utilisation des clichés
• Les clichés peuvent être utiles pour plusieurs raisons:

– Permettre un retour en arrière dans un scénario


d’essais.
– Immobiliser l’état d’une machine pour une prise de
sauvegarde
– Essayer plusieurs configurations différentes en
parallèle
– Servir de point de configuration stable pour la
création de clones
Impacts des clichés
• L’utilisation de cliché a des impacts sur le système de virtualisation:

– Perte de performance sur l’entrée-sortie disque, lié aux plusieurs


sources de données possibles
– Utilisation additionnelle d’espace disque sur le système hôte

• Ces impacts se multiplient quand plusieurs clichés en cascade ou en


parallèle sont utilisés.

• Compte tenu de ces impacts, il est important de faire une bonne


gestion des clichés et d’effacer les clichés non utilisés
Laboratoire

You might also like