Types de virtualisation
123
X86
q Le nom générique « x86 » désigne une série de microprocesseurs
Intel qui a commencé avec le modèle 80286.
q Cette série a alimenté en processeurs les ordinateurs personnels à
partir de 1982.
q La série x86 venait remplacer les gammes Intel antérieures
8086/8088.
124
Anneaux de privilèges/protection x86
q L’architecture x86 fournit quatre
niveaux (qu’on appelle anneaux ou
rings) de privilèges pour les accès
au CPU.
§ Au ring 3, nous trouvons les
applications. Ce niveau équivaut aux
privilèges minimums.
§ Au ring 2 et 1, nous retrouvons les
pilotes des périphériques physiques.
§ Le ring 0 correspond au noyau du
système.
125
Types de virtualisation
q 4 méthodes pour exploiter le CPU physique via des machines
virtuelles :
§ Virtualisation complète basée
§ Paravirtualisation
§ Virtualisation matérielle (Hardware-assisted Virtualization)
§ Virtualization basée sur le système d’exploitation (OS-based
virtualization)/cloisonnement
126
Classification des types de virtualisation
127
Virtualisation complète
q 1er type de virtualisation créé en 1988
q L’exécution des instructions est basée sur un
mélange de traductions binaires + exécutions
directes
q Cette approche traduit le code du noyau pour
remplacer les instructions non virtualisables par de
nouvelles séquences d'instructions qui ont l'effet
escompté sur le matériel virtuel.
q Le code de niveau utilisateur est directement
exécuté sur le processeur pour une virtualisation
haute performance
128
Virtualisation complète
q Elle consiste à émuler l’intégralité d’une machine physique pour le système invité.
q Le système invité « croit » s’exécuter sur une véritable machine physique.
129
Virtualisation complète
q Cette simulation complète peut être gourmande en ressources :
q Émulation du Processeur : La machine virtuelle doit émuler le comportement d'un processeur
réel. Cela signifie qu'elle doit traduire chaque instruction pour qu'elle puisse être comprise par le
processeur réel de l'ordinateur hôte. Cela prend du temps et utilise des ressources.
q Gestion de la Mémoire : La machine virtuelle doit gérer sa propre mémoire virtuelle, et
l'hyperviseur doit traduire ces adresses virtuelles en adresses physiques réelles. Encore une fois,
cela prend du temps et des ressources.
q Émulation des Périphériques : Les disques durs, les cartes réseau, et d'autres périphériques
utilisés par la machine virtuelle doivent être émulés. L'hyperviseur doit simuler le comportement
de ces périphériques, ce qui ajoute une surcharge.
q Coordination des Ressources : L'hyperviseur doit gérer l'accès aux ressources partagées entre
toutes les machines virtuelles. Cela signifie qu'il doit équilibrer l'utilisation du processeur, de la
mémoire, et d'autres ressources entre toutes les machines virtuelles.
q Tout cela ensemble crée un surcoût, ou overhead système.=>limitation du nombre des instances
130
Para virtualisation
q Contrairement à la virtualisation complète, la para-
virtualisation implique que l'ensemble du réseau travaille
ensemble comme une unité cohésive.
q Chaque système d'exploitation sur les serveurs virtuels est
conscient l'un de l'autre dans la para-virtualisation,
l'hyperviseur n'a pas besoin d'utiliser autant de puissance de
traitement pour gérer les systèmes d'exploitation.
q Le contrôle est donné à un des OS virtualisé, les autres OS 2,
qui souhaitent accéder au hardware, devront passé via
redirection par l'OS 1.
q 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.
131
Para virtualisation
q L'hyperviseur fournit une interface
modifiée aux systèmes d'exploitation
invités.
q Les systèmes d'exploitation invités sont
conscients qu'ils fonctionnent dans un
environnement virtualisé.
q Collaboration étroite entre le système
d'exploitation invité et l'hyperviseur.
q Peut offrir de meilleures performances par
rapport à la virtualisation complète.
q Exemple de technologie : Xen.
132
Virtualisation assistée par matériel
q La virtualisation assistée par matériel est un
type de virtualisation complète dans
laquelle l'architecture du microprocesseur
comporte des instructions spéciales pour
faciliter la virtualisation du matériel.
q Les processeurs modernes sont souvent
équipés de fonctionnalités spécifiques
conçues pour faciliter la virtualisation.
q La virtualisation du processeur (VT-x pour
Intel, AMD-V pour AMD)
q La virtualisation de la mémoire (par
exemple, EPT pour Intel, RVI pour AMD).
q Ces technologies matérielles permettent à
l'hyperviseur de créer des machines
virtuelles qui peuvent s'exécuter plus
efficacement, en réduisant l'overhead lié à
l'émulation du matériel.
133
Virtualisation assisté par le système d'exploitation
q Aussi connue sous le nom de conteneurisation
q Contrairement à la virtualisation complète et para-virtuelle,
cette visualisation n'utilise pas d'hyperviseur. Au lieu de
cela, la capacité de virtualisation, qui fait partie du système
d'exploitation du serveur physique, effectue toutes les
tâches d'un hyperviseur.
q Tous les serveurs virtuels doivent exécuter le même système
d'exploitation dans cette méthode de virtualisation de
serveur.
q Il s’agit d’une technique d’isolation permettant
d'emprisonner l'exécution des applications
134
Virtualisation assisté par le système d'exploitation
q Isolation des Processus : Chaque instance, appelée conteneur ou espace utilisateur, est isolée
des autres instances. Cela signifie que les processus s'exécutant dans un conteneur ne peuvent
pas interférer avec ceux d'autres conteneurs.
q Partage du Noyau : Toutes les instances partagent le même noyau du système d'exploitation.
Cela réduit l'overhead lié à l'émulation matérielle et permet des performances plus élevées
par rapport à certaines formes de virtualisation.
q Ressources Partagées : Les conteneurs peuvent partager certains composants du système
d'exploitation, tels que les bibliothèques système et les binaires. Cela permet d'économiser de
l'espace de stockage et de réduire la duplication des ressources.
q Léger et Rapide : Par rapport à la virtualisation traditionnelle, la virtualisation de processus est
souvent plus légère et rapide à démarrer. Les conteneurs peuvent être instanciés en quelques
secondes, ce qui les rend idéaux pour des déploiements rapides et évolutifs.
q Docker et Containers : Des outils populaires tels que Docker utilisent la virtualisation de
processus pour créer des conteneurs. Ces conteneurs encapsulent des applications et leurs
dépendances, facilitant ainsi le déploiement d'applications de manière cohérente dans
différents environnements.
q 135
. La virtualisation au niveau du système d’exploitation
q La virtualisation au niveau du système d’exploitation permet de
faire fonctionner des environnements utilisateurs
complètement cloisonnés
q Il s’agit pas d’un systèmes d’exploitations invités pour ces
systèmes invités mais plutôt d'environnements utilisateur
cloisonnés ou « jails » sur un système d’exploitation unique
q Migration à chaud d’un processus d’un environnement
utilisateur à un autre.
q Exemple :utilisation chez les hébergeurs web qui proposent
des environnements privé à moindre coût
136
Comparaison-synthèse
137
Comparaison-synthèse
138
Avantages de la
virtualisation
139
Optimisation de l’infrastructure et réduction de coûts
Rendement d’un serveur en l’absence de virtualisation Rendement d’un serveur avec virtualisation
140
Réduction des coûts
q Réduction des coûts matériels :
Diminution du nombre de matériel
nécessaire au bon fonctionnement de
l’infrastructure.
q Réduction de la facture énergétique : La
rationalisation de l’infrastructure réduit la
consommation électrique de l’ensemble
ainsi que les besoins en climatisation.
q Réduction du TCO (Total Cost of
Ownership) : Cout total de possession
q Optimisation du ROI (Return of
Investment) : Retour sur investissement
141
Amélioration de la qualité de service
q Réduction du temps d‘indisponibilité des applications critiques
§ Les fonctionnalités évoluées de la virtualisation permettent de réduire les
interruptions de services.
q L’approvisionnement instantané
§ Mettre en service un nouveau serveur facilement et en quelques minutes
(exemple : par clonage de la machine).
q Répartition de charge dynamique
§ Répartir dynamique de la charge de travail en offrant à chaque application les
ressources dont elle a besoin même en cas de fortes activités.
q Mise en place de PRA
§ Gestion du système entier comme des fichiers totalement indépendants du
matériel. La mise d’un PRA (Plan de Reprise d’Activité) est ainsi facilitée.
142
Simplification des tâches d’administration
Réduction du nombre d’équipement
+
Sauvegarde instantanée par
snapshot
+
Homogénéité de l’infrastructure
=
Moins de maintenance
Simplification du travail
Meilleure maitrise de l’infrastructure
143