Chapitre 1
Virtualisation
Dr Afef Bohli & Dr Naourez Mejri
2021-2022
Introduction
• Le terme « virtualisation » trouve
ses racines dans les mainframes
des années 60, au cours
desquelles il s'agissait d'une
méthode de division logique de
la ressources des mainframes
pour différentes applications.
• Depuis, le sens du terme a
évolué.
2
Au début: un système centralisé
Tout est localisé sur la même machine
1960 1970 • Un seul processeur: une horloge commune
• Une seule mémoire centrale: un espace d’adressage commun
• Un seul système d’exploitation
• Gestion centralisée des ressources
• État global du système facilement reconstituable
Accès local aux ressources
Un nombre faible d’utilisateurs
3
Evolution vers le réparti
Machines
• De plus en plus performantes avec une baisse de
1980 1990 prix
• Équipement réseaux de plus en plus rapides
Regroupement des machines
• Puissance de calcul et de stockage
• Moins de centralisation: accès multiples + partage
de ressources
• Flexibilité: facilité d’extension du système
(matériels et logiciels)
4
C/S et architectures à objets distribués
5
Pourquoi virtualiser?
Prolifération du nombre de serveurs
Croissance importante du
nombre de serveurs physiques
dans les centres de données
(datacenter).
Manque d’espace pour les
serveurs physiques.
Infrastructure rigide et
coûteuse (matériel et
licences).
Manque d’efficacité
énergétique.
7
Sous-exploitation de serveurs
Une multitudes de serveurs
Serveur Web Serveur de fichiers Serveur d'application
Serveur de base de données
Serveur de messagerie
Serveur d’impression
Traditionnellement, l’habitude consiste à employer un serveur par application.
Cette méthode ne permet pas d’utiliser la puissance totale des serveurs et n’exploite
qu’environ 5 à 15% de leur puissance
8
Sous-exploitation de serveurs
Technologies multi-coeurs
Taux d’utilisation de la CPU de
plus en plus faible.
9
Sous-exploitation de serveurs physiques
La virtualisation permet de consolider les charges de travail des serveurs sous-exploités sur un seul serveur tout en
maitrisant le taux d’utilisation global
10
Autres problèmes…
Besoin de serveurs de test en développement d’applications
Déploiement rapide d’applications
Surcapacité et saturation du système d'exploitation /machine
Logiciel et matériel étroitement couplés
L'exécution de plusieurs applications sur la même machine crée
souvent des conflits
Et autres ….
11
La virtualisation est la solution
Virtualisation
C’est un processus qui permet une utilisation
plus efficace du matériel informatique physique
Abstraction des ressources informatiques
• 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 machine virtuelle 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
12
Virtualisation
3 composants majeurs
• L’invité (guest): représente le
composant système qui interagit
avec la couche de virtualisation au
lieu de l’hôte.
• La couche de virtualisation
(virtualization layer): élément
responsable de la recréation d’un
environnement similaire ou
différent de celui de l’hôte où
l’invité va s’exécuter.
• L’hôte (host): environnement
d’origine où l’invité est supposé
être géré.
13
Virtualisation
14
Exemple de virtualisation: virtualisation du matériel
• Elle permet à plusieurs OS invités (machines virtuelles) de s'exécuter simultanément sur un
hôte physique unique
• Elle fournit une abstraction matérielle aux systèmes d'exploitation invités en cours d'exécution
et multiplexe les ressources matérielles sous-jacentes.
• Applications
Applications
• Applications
• Applications
• Applications
Applications • Operating
• Operating
• OperatingOperating
• Operating• System
• System
• System System
• System
Operating
System
Hypervisor
Hardware Hardware
Ancien serveur Virtualisation
15
Machine physique vs machine virtuelle
Un unique OS Plusieurs OS
Hardware et software étroitement couplés Hardware et software indépendants
Les plantages d'applications affectent tout Applications isolées
Sous-utilisation des ressources Multiplexer les ressources en toute sécurité sur les
machines virtuelles 16
Principe de fonctionnement
• La virtualisation implique la construction d'un
isomorphisme qui mappe un système invité virtuel à un
système hôte réel.
• La virtualisation appliquée à une machine entière,
fournit une machine virtuelle (VM).
• L'ensemble complet des ressources matérielles, y
compris les processeurs, la mémoire et les
périphériques d'E/S, est virtualisé pour fournir la
machine virtuelle
• Un système d'exploitation exécuté sur une machine
virtuelle est appelé système d'exploitation invité et
chaque machine physique est appelée hôte.
L'hyperviseur (VMM) est un logiciel qui gère plusieurs systèmes d'exploitation (ou plusieurs instances du même
système d'exploitation) sur un seul système informatique. L'hyperviseur gère le processeur, la mémoire et d'autres
ressources du système pour allouer ce dont chaque système d'exploitation a besoin. Les hyperviseurs sont conçus
pour une architecture de processeur particulière et peuvent également être appelés gestionnaires de virtualisation.
17
Caractéristiques de la
virtualisation
18
Compatibilité
Egal
Compatibilité entre
Périphériques matériels
Systèmes d’exploitation
Applications
19
Isolation
Chaque machine virtuelle est isolée
de l'hôte et d'autres machines
virtualisées.
Elle s’execute de manière
indépendante.
Si une machine virtuelle se bloque ou est
attaquée par des virus, elle n’affecte pas les
autres machines virtuelles.
20
Encapsulation
L’état complet d’une machine virtuelle est
contenu dans un fichier.
Procédure de provisionnement de serveur
similaire à la copie d’un fichier.
Procédure de migration de serveur
similaire à la migration de données.
Possibilité d’utiliser les techniques de
gestion des données pour gérer les
serveurs.
21
Indépendance
Les machines virtuelles détectent toujours le même ensemble matériel,
indépendamment du matériel physique.
Les pilotes sont indépendants du matériel de la machine dans laquelle ils
sont installés.
Les machines virtuelles peuvent
être déplacées vers un matériel
différent,
sans modifications ...
... d’un ordinateur portable à un
poste de travail ou à un serveur haut
de gamme.
22
Types d’hyperviseurs
23
Types d’hyperviseurs
24
Hyperviseur type I
Guest Guest Guest
VM VM VM
Nommé Bare metal Approach
• Fonctionne directement sur le matériel du système.
• Peut nécessiter la prise en charge de la technologie de
Hypervisor
virtualisation assistée par matériel par le CPU.
• Ensemble limité de pilotes matériels fournis par le Kernel Driver
fournisseur de l'hyperviseur. Ex. : Xen, VMWare ESXi
Host Hardware
25
Hyperviseur type II
Guest Guest
VM VM
Nommé Hosted Approach
Exécute des machines virtuelles sur un Applications
système d'exploitation hôte (Windows, Hypervisor
Unix, etc.)
S'appuie sur le système d'exploitation
hôte pour la gestion des ressources
physiques. Host Operating System
Le système d'exploitation hôte fournit
des pilotes pour communiquer avec le
matériel du serveur. Ex : VirtualBox
Host Hardware
26
Hyper I vs Hyper 2
Les deux variétés d'hyperviseur peuvent virtualiser des éléments communs tels que le processeur, la
mémoire et le réseau, mais en fonction de son emplacement dans la pile, l'hyperviseur virtualise ces
éléments différemment.
Hyper 1 Hyper 2
plus efficace et les plus performant Non utilisé pour l'informatique des centres de données et
Utilisé dans les centre de données à haute exigences réservé aux systèmes clients ou utilisateurs finaux
hautement sécurisé Pas de sécurité
Flexible pour supporter des charges de travail très élevés latence
RAM Terabyte et centaine cœur processeur
coût plus élevé et exigences de contrat de support plus Moins d’exigences et moins cher
importantes.
27
Hardware supportant les hyperviseurs
Le marché des hyperviseurs comprend
plusieurs fournisseurs, dont VMware,
Microsoft, Oracle et Citrix. Vous trouverez ci-
dessous quelques produits populaires pour
les hyperviseurs de type 1 et de type 2.
Hyper 1 Hyper 2
VMware vSphere Oracle VM VirtualBox
Microsoft Hyper-V. M VMware Workstation
KVM VMware Fusion
Xen hypervisor QEMU
Citrix Hypervisor Parallels Desktop
28
Test de connaissance !!
1. Le système d'exploitation invité exécuté sur la
machine virtuelle VM 20 doit-il être identique au
système d'exploitation exécuté sur la machine virtuelle
VM 1 ?
2. Quand une machine virtuelle est redémarrée, l'hôte
doit-il également être redémarré?
29
Domaines de la virtualisation
Virtualisation de serveur
Virtualisation de réseau
Virtualisation de poste de travail
Virtualisation de plateforme/application
Virtualisation de stockage
30
Virtualisation de serveurs
31
Virtualisation de serveur
• La virtualisation de serveur est utilisée pour masquer les ressources
du serveur aux utilisateurs du serveur: le nombre et l'identité des
systèmes d'exploitation, des processeurs et des serveurs physiques
individuels.
• La virtualisation de serveur est le processus de division d'un serveur
physique en plusieurs serveurs virtuels uniques et isolés au moyen
d'une application logicielle.
• Chaque serveur virtuel peut exécuter ses propres systèmes
d'exploitation indépendamment.
32
Comment ça fonctionne?
• La virtualisation de serveur fonctionne en faisant abstraction ou
en isolant le matériel d'un ordinateur de tous les logiciels qui
pourraient s'exécuter sur ce matériel.
• L'abstraction reconnaît essentiellement les ressources physiques
de l'ordinateur et crée des alias logiques pour ces ressources.
• Le nombre réel de machines virtuelles pouvant être créées est
limité par les ressources physiques présentes sur l'ordinateur
hôte et les exigences informatiques imposées par les applications
d'entreprise exécutées dans ces machines virtuelles.
33
Avantages de la virtualisation de serveur
34
Inconvénients de la virtualisation de serveur
• Risque et disponibilité : mettre en œuvre des techniques de répartition de charge optimale et
récupération || résilience
• VM sprawl : l’étalement des VM pour que les VMs inutiles doivent être identifiées et mises hors service
afin que les ressources soient libérées pour être réutilisées.
• Pénuries de ressources. La virtualisation permet de dépasser l'utilisation normale des ressources du
serveur,
• Licences des hyperviseurs doivent être soigneusement contrôlées pour respecter les termes et
conditions des accords de licence du logiciel.
35
Virtualisation de poste de
travail
36
Virtualisation de poste de travail
La virtualisation des postes de travail ou virtualisation
des clients est une technologie qui sépare les
applications d'un utilisateur du poste de travail
La virtualisation des postes de travail est une technologie logicielle qui héberge de
manière centralisée des postes de travail dans un centre de données ou un cloud,
permettant aux utilisateurs d'accéder aux ressources à partir d'un appareil connecté
à distance.
La virtualisation de desktop permet d'exécuter plusieurs systèmes d'exploitation de
bureau, chacun dans sa propre machine virtuelle sur le même ordinateur.
Elle crée une version logicielle (ou virtuelle) de l'environnement de bureau et du
système d'exploitation (OS) d'un utilisateur final qui est découplée du reste de
l'appareil informatique
Types de virtualisation de poste de travail
Il existe trois mode de
déploiement de bureau virtuel:
l’infrastructure de postes
de travail virtuels(VDI),
les services pour postes de
travail distants (RDS),
et les postes de travail sous
forme de service (DaaS).
38
Types de virtualisation de poste de travail
l’infrastructure de postes de travail virtuels(VDI)
o L'image du bureau se déplace sur le réseau
o l'utilisateur final peut interagir avec le bureau (ainsi
que les applications et le système d'exploitation
sous-jacents) comme s'ils étaient locaux.
Les caractéristique d’une VDI:
o Les bureaux virtuels vivent dans des VM sur un
serveur centralisé
o Chaque bureau virtuel comprend une image du
système d'exploitation, généralement Microsoft
Windows
o Un broker de connexion pour connecter le client au
pool de ressource
Deux modes d’utilisation:
o VDI persistant
o VDI non persistant
39
Types de virtualisation de poste de travail
Les services pour postes de travail distants (RDS)
o Le RDS est souvent utilisé là où un nombre limité d’applications doivent être virtualisées,
plutôt qu’un poste de travail Windows, Mac ou Linux complet.
o Les applications sont diffusées sur le terminal local qui exécute son propre système
d’exploitation.
o Seules les applications sont des systèmes RDS virtualisés,la densité d’utilisateurs par
VM est donc plus élevée
o RDS exécute des applications de bureau sur Microsoft Windows Server,
40
Types de virtualisation de poste de travail
Les postes de travail sous forme de service (DaaS).
o Le DaaS transfère la charge de la virtualisation des postes de travail aux fournisseurs de services, ce
qui allège considérablement la charge informatique liée à la fourniture de postes de travail
virtuels.
o Les entreprises qui souhaitent faire passer les dépenses informatiques des coûts d’investissement
aux coûts opérationnels apprécieront les coûts mensuels prévisibles sur lesquels les fournisseurs
DaaS fondent leur business model.
41
Types de virtualisation de poste de travail
42
Avantages de la virtualization de poste de travail
Optimisation des ressources
Les ressources sont regroupées pour plus d’efficacité au niveau du cloud ou
d’un centre de données.
Amélioration de l’expérience de l’utilisateur final
Accès à son environnement (système d’exploitation, applicatifs et données)
de partout, y compris de chez lui, sans la contrainte de transporter son
terminal.
Sécurité
Contrôle de sécurité centralisé, avec des besoins de sécurité matérielle limités
aux serveurs de virtualisation, et met l’accent sur la gestion des identités et
des accès avec des autorisations basées sur les rôles qui limitent les
utilisateurs aux seules applications et données auxquelles ils sont autorisés à
accéder.
Virtualisation d’applications
44
Sans virtualisation d’applications
Ancien Modèle
Installations locales des applications
Les applications écrivent directement sur le
file system, et impactent le système
d’exploitation (OS)
Les applications doivent cohabiter avec l’OS
et entre-elles(DLL, composants,
environnements)
L’environnement de travail repose sur un
eco-système de plus en plus complexe
nécessitant toujours plus de solutions de
gestion (automatisme, déploiement,
backup, recovery etc)
45
Avec virtualisation d’applications
Nouveau Modèle:
Applications virtualisées
OS et Applications séparés – dépendance OS
cassée
Gérer l’OS et les application comme des
unités distinctes et autonomes, mais qui
peuvent collaborer
Isolation forte d’erreurs et de sécurité
Standard, OS Independent
Déploiement d’application n’importe où et
très rapidement
Flexibilité de choisir la bonne application quel
que soit l’état de l’OS
46
Virtualisation d’applications
Elle cible tout ou une partie des applications métiers et/ou de
bureautique.
Elle consiste à encapsuler dans un même package l’application et son
environnement système de manière imperméable au système
d'exploitation sur lequel l'application s'éxécute.
Technologie essentiellement utilisée dans les environnements
Windows mais il existe des outils Linux qui utilisent ce concept (Klik).
47
Virtualisation d’applications
48
Avantages de la virtualisation d’applications
Pas d’installation/désinstallation
Plus d’impact sur l’OS: registres et fichiers systèmes
Plus de conflits entre les applications
Multiple environnements d’ exécution possibles
Plusieurs versions de la même application
Déploiement sur des postes non gérés
Mise à jours, migration d’application et rollback facilités
49
Exemples de logiciels de virtualisation d’applications
Vmware thinapp
Ms App-V
50
Virtualisation de réseaux
51
Virtualisation de réseau
La virtualisation de réseau (NV) fait référence à l'abstraction des ressources
réseau qui étaient traditionnellement fournies du matériel au logiciel.
NV peut combiner plusieurs réseaux physiques en un seul réseau virtuel basé sur
un logiciel, ou il peut diviser un réseau physique en réseaux virtuels distincts et
indépendants.
Le logiciel de virtualisation de réseau permet aux administrateurs réseau de
déplacer des machines virtuelles dans différents domaines sans reconfigurer le
réseau.
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 de réseau physique.
Basé sur la virtualisation du réseau, inutile de passer des jours ou des semaines à
provisionner l'infrastructure pour prendre en charge une nouvelle application.
Les applications peuvent être déployées ou mises à jour en quelques minutes
pour une rentabilisation rapide.
Comment ça fonctionne le NV ?
Il dissocie les services réseau du matériel sous-jacent et permet le
provisionnement virtuel d'un réseau entier.
Il permet de créer, de provisionner et de gérer des réseaux par
programmation, le tout par logiciel, tout en continuant à tirer parti du
réseau physique sous-jacent comme fond de panier de transfert de
paquets.
Les ressources du réseau physique, telles que la commutation, le routage,
le pare-feu, l'équilibrage de charge, les réseaux privés virtuels (VPN), et
plus encore, sont regroupées, fournies dans un logiciel et ne nécessitent
que le transfert de paquets IP (Internet Protocol) à partir du réseau
physique sous-jacent.
Avantages de NV
Réduction du temps de provisionnement du réseau de quelques
semaines à quelques minutes
Gain en efficacité opérationnelle en automatisant les processus
manuels
Placement et déplacement des charges de travail indépendamment
de la topologie physique
Amélioration de la sécurité du réseau au sein du centre de données
SDN (Software defined network)
Réseau Classique
-La plupart des équipements réseau se configurent de
manière individuelle en se connectant sur ceux-ci.
Approche
- coûteuse en temps pour des grands réseaux
- sujette à des erreurs humaines
Réseau classique
56
SDN (Software Defined Network)
Réseau classique
57
SDN (Software Defined Network)
• SDN définit des normes (netconf, REST, BGP-LS...) pour lire les états du réseau et agir
sur sa configuration depuis des serveurs.
• Ces protocoles autorisent une reconfiguration du réseau de manière centralisé par
des transactions.
58
SDN (Software Defined Network)
59
NFV (Network Function Virtualization)
60
NFV (Network Function Virtualization)
61
62
NFV (Network Function Virtualization)
63
Avantages de NFV
Exécution des fonctions réseau sur du matériel standard plutôt que
sur du matériel spécialisé.
Consolidation des ressources et réduction de l'encombrement, de la
consommation d'électricité et des coûts totaux.
Flexibilité et accélération de la distribution des services et
applications.
Diminution de risque lors de tests de la valeur d'un nouveau service
potentiel.
64
SDN & NFV
65
SDN & NFV
66
Questions de réflexion
Faut-il virtualiser des postes de travail complets ou juste les
applications ?
Comparer la virtualization de serveurs à la virtualization de poste de
travail.
67
Virtualisation de stockage
68
Virtualisation de stockage
Dans la virtualisation du
stockage, plusieurs disques
physiques sont combinés en un
groupe.
A partir de ce groupe de disques
physiques, le stockage virtuel ou
les blocs de stockage logique
sont affectés à un serveur pour
utilisation.
RAID
Étant donné que la plupart des disques sont des appareils semi-électroniques et
semi-mécaniques, vous pouvez connecter plusieurs disques à des contrôleurs
spéciaux pour fournir la production de données, la fiabilité du système et de
meilleures performances.
Un regroupement (ou matrice) redondant de disques indépendants
(RAID:redundant array of independent disks) utilise deux disques ou plus en
combinaison pour créer un système tolérant aux pannes qui protège contre les
pannes de disque dur physique et augmente les performances du disque dur.
Un RAID peut être réalisé avec du matériel ou des logiciels et est généralement
utilisé avec des serveurs réseau.
RAID 0: volume agrégé par bandes
RAID 0, ou volume agrégé par bandes (striping),
répartit les données sur tous les disques.
Avec le striping, tous les disques durs disponibles
sont combinés en un seul grand système de fichiers
virtuel, avec les blocs du système de fichiers mis en
réseau de manière à être répartis uniformément sur
tous les disques.
Malheureusement, avec RAID 0, il n'y a pas de
contrôle de parité ou de tolérance aux pannes; par
conséquent, ce n'est pas une véritable forme de
RAID.
Cependant, RAID 0 présente plusieurs avantages car
il offre des performances accrues grâce à
l'équilibrage de charge.
RAID 1: disque en miroir
RAID 1 est parfois appelé disque en miroir
(mirroring).
La mise en miroir de disque copie un disque ou
une partition sur un deuxième disque dur. Plus
précisément, au fur et à mesure que les
informations sont écrites, elles sont écrites
simultanément sur les deux disques durs.
Si l'un des disques durs tombe en panne, le PC
fonctionnera toujours car il peut accéder à
l'autre disque dur.
Ensuite, si vous remplacez ultérieurement le
disque défectueux, les données seront copiées
du bon disque restant vers le nouveau disque.
RAID 5: volume agrégé par bande à parité répartie
RAID 5, qui est similaire à la répartition par
bandes, sauf que l'espace équivalent à l'un des
disques durs est utilisé pour la parité
(correction d'erreurs) afin de fournir une
tolérance aux pannes.
Pour augmenter les performances, la fonction
de correction d'erreur est répartie sur tous les
disques durs de la matrice pour éviter qu'un
seul lecteur fasse tout le travail de calcul des
bits de parité.
Par conséquent, si un disque tombe en panne,
vous pouvez continuer à travailler car les
calculs de parité avec les disques restants
rempliront toutes les données manquantes.
Plus tard, lorsque le lecteur défectueux est
remplacé, les informations manquantes seront
reconstruites.
Hybrid RAID
Il existe deux autres formes de RAID qui
méritent d'être mentionnées, qui sont
toutes deux considérées comme des
RAID hybrides ou imbriqués:
RAID 1 + 0 ou RAID 10 (striped
mirrors) est un ensemble de
données en miroir (RAID 1), qui est
ensuite entrelacé (RAID 0).
RAID 0 + 1 est un ensemble de
données par bandes (RAID 0), qui est
ensuite mis en miroir (RAID 1).
DAS: Direct Attached Storage
Type d’accès traditionnel aux données
NAS: Network Attached Storage
Le stockage en réseau (NAS) est un périphérique de stockage de données de
niveau fichier qui est connecté à un réseau informatique pour fournir des
lecteurs ou des dossiers partagés, généralement à l'aide de SMB / CIFS.
• Les périphériques NAS
contiennent généralement
plusieurs disques sous
forme de RAID pour la
tolérance aux pannes et
sont généralement gérés à
l'aide d'une interface Web.
SAN: Storage Area Network
Un réseau de stockage (SAN) est
une architecture utilisée pour que
les baies de disques, les
bibliothèques de bandes et les
juke-box optiques apparaissent
comme des lecteurs connectés
localement sur un serveur.
• Un SAN utilise toujours une certaine forme de RAID et d'autres
technologies pour rendre le système redondant contre les pannes de
disque et pour offrir des performances élevées.
• Les SAN contiennent également généralement des disques de rechange.
• Pour fournir un haut niveau de débit de données, les SAN utilisent le
protocole SCSI et l'interface iSCSI ou Fibre Channel.
LUNs: Logical Unit Numbers
Les numéros d'unité logique (généralement appelés LUN) permettent
à un SAN de diviser son stockage en éléments gérables, qui sont
ensuite affectés à un ou plusieurs serveurs du SAN.
Il s'agit d'une référence logique qui peut comprendre un disque, une
section de disque, une matrice de disques entière ou une section
d'une matrice de disques.
Les LUN servent d'identificateurs logiques à travers lesquels vous
pouvez attribuer des privilèges d'accès et de contrôle.
Fibre Channel
Le câblage à fibre optique offre des bandes passantes plus élevées et peut être
utilisé sur de plus longues distances que le câblage en cuivre car les signaux
voyagent avec moins de pertes et sont insensibles aux interférences
électromagnétiques.
Fibre Channel ou FC est une technologie à vitesse gigabit principalement utilisée
pour la mise en réseau de stockage.
Il utilise un protocole Fibre Channel (FCP) comme protocole de transport, qui
permet aux commandes SCSI d'être émises sur Fibre Channel.
iSCSI
Internet Small Computing System Interface ou iSCSI est une norme de réseau de
stockage basée sur le protocole Internet (IP) pour relier les installations de
stockage de données.
iSCSI permet aux clients d'envoyer des commandes SCSI sur un réseau TCP / IP à
l'aide du port TCP 3260.
Semblable à Fibre Channel, iSCSI peut communiquer en utilisant Gigabit Ethernet
ou Fibre, et il peut connecter un SAN à plusieurs serveurs à distance.
Bien que iSCSI utilise la technologie réseau normale pour communiquer, la carte
réseau doit être dédiée à iSCSI.
Types de virtualisation
81
X86
Le nom générique « x86 » désigne une série de microprocesseurs
Intel qui a commencé avec le modèle 80286.
Cette série a alimenté en processeurs les ordinateurs personnels à
partir de 1982.
La série x86 venait remplacer les gammes Intel antérieures
8086/8088.
82
Anneaux de privilèges/protection x86
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.
83
Types de virtualisation
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
84
Classification des types de virtualisation
85
Virtualisation complète
1er type de virtualisation créé en 1988
L’exécution des instructions est basée sur un
mélange de traductions binaires + exécutions
directes
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.
Le code de niveau utilisateur est directement
exécuté sur le processeur pour une virtualisation
haute performance
86
Virtualisation complète
Elle consiste à émuler l’intégralité d’une machine physique pour le système invité.
Le système invité « croit » s’exécuter sur une véritable machine physique.
87
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.
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.
La limitation de cette virtualisation complète est
qu'un hyperviseur a ses propres besoins de
traitement. Cela peut ralentir les applications et
affecter les performances du serveur.
88
Para virtualisation
Contrairement à la virtualisation complète, la para-
virtualisation implique que l'ensemble du réseau travaille
ensemble comme une unité cohésive.
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.
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.
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.
89
Para virtualisation
Contrairement à la virtualisation complète, la para-
virtualisation implique que l'ensemble du réseau
travaille ensemble comme une unité cohésive.
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.
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.
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.
90
Virtualisation assisté par le système d'exploitation
Aussi connue sous le nom de conteneurisation
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.
Tous les serveurs virtuels doivent exécuter le même
système d'exploitation dans cette méthode de
virtualisation de serveur.
Il s’agit d’une technique d’isolation permettant
d'emprisonner l'exécution des applications
91
Virtualisation assisté par le système d'exploitation
Le noyau du système d'exploitation hôte permet
l’exécution de plusieurs espaces utilisateurs
indépendants les uns des autres.
Il y aura très peu ou pas de surcharge car elle utilise le
noyau du système d'exploitation hôte pour l'exécution.
Exemples
Oracle Solaris zone
Linux LCX
Docker
AIX WPAR
92
. La virtualisation au niveau du système d’exploitation
La virtualisation au niveau du système d’exploitation permet de
faire fonctionner des environnements utilisateurs
complètement cloisonnés
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
Migration à chaud d’un processus d’un environnement
utilisateur à un autre.
Exemple :utilisation chez les hébergeurs web qui proposent
des environnements privé à moindre coût
93
Comparaison-synthèse
94
Comparaison-synthèse
95
Avantages de la
virtualisation
96
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
97
Réduction des coûts
Réduction des coûts matériels :
Diminution du nombre de matériel
nécessaire au bon fonctionnement de
l’infrastructure.
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.
Réduction du TCO (Total Cost of
Ownership) : Cout total de possession
Optimisation du ROI (Return of
Investment) : Retour sur investissement
98
Amélioration de la qualité de service
Réduction du temps d‘indisponibilité des applications critiques
Les fonctionnalités évolués de la virtualisation permettent de réduire les
interruptions de services.
L’approvisionnement instantané
Mettre en service un nouveau serveur facilement et en quelques minutes
(exemple : par clonage de la machine).
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.
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.
99
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
100
Virtualisation assistée par matériel
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.
Ces instructions peuvent permettre la
configuration d'un contexte virtuel afin que
l'invité puisse exécuter des instructions
privilégiées directement sur le processeur,
même s'il est virtualisé.
Si les dites instructions n'existent pas, la
Virtualisation Complète est toujours
possible, cependant elle doit se faire via des
techniques logicielles telles que la
Recompilation Dynamique où l'hôte
recompile à la volée les instructions
privilégiées dans l'invité pour pouvoir
s'exécuter de manière non privilégiée sur
l'hôte .
101