01 - Introduction À La Virtualisation
01 - Introduction À La Virtualisation
01 - Introduction À La Virtualisation
LA VIRTUALISATION
Introduction et concepts
Définition
Technique ou méthodologie permettant de diviser ou partager les
ressources d’un ordinateur en utilisant des concepts ou technologies
telles que:
l’émulation
le partitionnement des ressources matérielles et logicielles
le « time-sharing »
la simulation partielle ou complète d’une machine
etc.
Composants
Chaque système de virtualisation fait appel à une ou plusieurs de ces
notions:
Couche d’abstraction matérielle et/ou logicielle
Utilitaire logiciel servant à simplifier l’accès aux ressources physiques et/ou logicielle
de sorte que les développeurs ne doivent pas implémenter manuellement les
paramètres spécifiques à un périphérique par exemple.
Système d’exploitation « hôte »
OS Installé sur la machine physique.
Système d’exploitation (ou application) « invité »
OS ou application installé dans l’environnement virtuel.
Partitionnement, isolement et/ou partage des ressources matérielles et logicielles
Images manipulables
Permet le démarrage, l’arrêt, le clonage, la restauration , … le l’élément virtualisé.
Réseau virtuel
Réseau purement logiciel, interne à la machine hôte.
Intérêts et avantages
Utilisation optimale des ressources.
Ex: Répartition des machines virtuelles sur une machine physique en
fonction des charges respectives.
Installation, déploiement et maintenance simplifiée.
Ex: Clonage d’une machine virtuelle, restauration d’un système comme
s’il s’agissait d’un simple fichier.
Réduction des investissements matériels.
Une machine puissante coûte très souvent nettement moins que plusieurs
machines plus modestes ayant les même capacités globales une fois mises
ensemble.
Intérêts et avantages
Facilité de mise en place d’un environnement de test.
Ex: création d’un réseau virtuel et y cloner une machine virtuelle de
production pour y tester une nouvelle config
Sécurité accrue par la possibilité d’isolation des ressources.
Isolation possible entre les différentes machines virtuelles, ou entre les
applications. Une machine virtuelle endommagée n’empêche pas la
machine physique de fonctionner.
Inconvénients
Machine hôte puissante
Cette machine doit être dotée de suffisamment de mémoire, d’espace
disque etc. pour supporter les éléments virtualisés.
Défaillance de la machine hôte.
Si l’hôte vient à tomber, tout l’environnement virtuel qu’il héberge sera
également défaillant.
Outil de virtualisation
Dans le cas où une faille de sécurité existe au sein de l’outil de
virtualisation, c’est tout l’environnement virtuel qui est touché.
Types de virtualisation
Les isolateurs
Permet l’utilisation de plusieurs instances simultanées d’une même
application. Ce sont des systèmes propres aux environnement linux.
Exemples:
Chroot: isolation de changement de racine.
BSD Jail: isolation en espaces utilisataur
Linux-Vserver: isolation des processus en espace utilisateur
Types de virtualisation
Noyau en espace utilisateur
Méthode peu efficace, principalement utilisée dans le développement de
noyaux qui consiste à faire tourner un noyau comme une application au
sein de la machine hôte.
Exemples:
User Mode Linux
Coopérative Linux
Types de virtualisation
Hyperviseur type 2
Logiciel installé sur l’OS hôte qui permet de faire tourner simultanément plusieurs OS
« invités » chacun installés sur une machine virtuelle séparée. Le matériel est émulé
pour les OS invités de sortent qu’ils pensent y avoir accès directement.
Exemples:
VMWare Server
VirtualBox
QEMU
Exemples:
KVM
XEN
VMWare ESX/ESXi
Microsoft Hyper-V Server
Types de virtualisation
Client Hyperviseur type 1
Utilisé dans le cadre de la virtualisation de stations de travail. Il s’agit d’un
logiciel léger, tournant sur une machine client et qui a pour fonction de
charger un système à partir d’un serveur distant. Il permet également de
fonctionner en mode « déconnecté ».
En mode « connecté » il prend en charge les mise à jour automatiques etc.
Exemple:
Virtual Computer NxTop
Virtualisation matérielle
La virtualisation peut être prise en charge en tout ou en partie par
le matériel, par exemple:
Virtualisation de l’accès à la mémoire
Protection du CPU contre l’exécution de certaines instructions de bas
niveau.