Virtualisation de Systèmes Principes et Mise en œuvre

Transcription

Virtualisation de Systèmes Principes et Mise en œuvre
Virtualisation de Systèmes
Principes et Mise en œuvre
Joel Falcou
LRI, Equipe PARALL - Université Paris Sud XI
Virtualisation de Systèmes, Principes et Mise en œuvre
1 / 13
Virtualisation
Motivation
Montée en charge de serveur sous-utilisé
Emulation matérielle croisée
Retrocompatibilité
Evolutivité
Virtualisation de Systèmes, Principes et Mise en œuvre
2 / 13
Virtualisation
Motivation
Montée en charge de serveur sous-utilisé
Emulation matérielle croisée
Retrocompatibilité
Evolutivité
Mise en œuvre
Emulation Logicielle
Compatibilité OS à OS
Para-virtualisation
Virtualisation de Systèmes, Principes et Mise en œuvre
2 / 13
Para-virtualisation
Principes
Interface logicielle optimisé pour la virutalisation
By-pass de l’émulateur
Meilleur performance
Code spécifique
Virtualisation de Systèmes, Principes et Mise en œuvre
3 / 13
Para-virtualisation
Principes
Interface logicielle optimisé pour la virutalisation
By-pass de l’émulateur
Meilleur performance
Code spécifique
Mise en œuvre
Notion d’hyper-appel
Support matériel possible
Nécessite un portage spécifique de l’OS
Virtualisation de Systèmes, Principes et Mise en œuvre
3 / 13
Métriques Utiles
Performances
Quatre ressources : CPU, mémoire, disque, réseau
Latence d’exécution
Isolation processus
Communication inter-VM
Virtualisation de Systèmes, Principes et Mise en œuvre
4 / 13
Métriques Utiles
Performances
Quatre ressources : CPU, mémoire, disque, réseau
Latence d’exécution
Isolation processus
Communication inter-VM
Utilisabilité
Facteur de repliement
Temps de démarrage
Empreinte mémoire
Virtualisation de Systèmes, Principes et Mise en œuvre
4 / 13
Mise en œuvre
Stratégies usuelles
Isolateur
Noyau en Mode Utilisateur
Machine Virtuelle/Emulateur
Hyperviseur
Virtualisation de Systèmes, Principes et Mise en œuvre
5 / 13
Isolateur
Virtualisation de Systèmes, Principes et Mise en œuvre
6 / 13
Isolateur
Principes
Isole les processus dans des contextes d’exécutions
Performance élevée car aucune couche intermédiaire
Environnement non-sécurisés
Spécificité Linux
Virtualisation de Systèmes, Principes et Mise en œuvre
7 / 13
Isolateur
Principes
Isole les processus dans des contextes d’exécutions
Performance élevée car aucune couche intermédiaire
Environnement non-sécurisés
Spécificité Linux
Exemple
Linux-VServer : isolation des processus en espace utilisateur
chroot : isolation changement de racine
BSD Jail : isolation en espace utilisateur
OpenVZ : libre, partitionnement au niveau noyau sous Linux
Virtualisation de Systèmes, Principes et Mise en œuvre
7 / 13
Noyau en Espace Utilisateur
Virtualisation de Systèmes, Principes et Mise en œuvre
8 / 13
Noyau en Espace Utilisateur
Principes
Noyeau executé comme applciation user-space
Contient un user-space interne
Peu performant car empilement des noyaux
Limité au développement de noyau alternatif
Virtualisation de Systèmes, Principes et Mise en œuvre
9 / 13
Noyau en Espace Utilisateur
Principes
Noyeau executé comme applciation user-space
Contient un user-space interne
Peu performant car empilement des noyaux
Limité au développement de noyau alternatif
Exemple
User Mode Linux : noyau tournant en espace utilisateur
Cooperative Linux ou coLinux : noyau coopératif avec un hôte Windows
Adeos : micro noyau RT faisant tourner Linux en kernel-space non-RT
L4Linux : micro noyau RT faisant tourner Linux en kernel-space non-RT
Virtualisation de Systèmes, Principes et Mise en œuvre
9 / 13
Machine Virtuelle/Emulateur
Virtualisation de Systèmes, Principes et Mise en œuvre
10 / 13
Machine Virtuelle/Emulateur
Principes
Logiciel stand-alone exécutant un OS invité
L’invité voit ses appels matériels reroutés
Acces direct cependant au CPU et à la mémoire
Performances dépendantes du niveau d’émulation
Virtualisation de Systèmes, Principes et Mise en œuvre
11 / 13
Machine Virtuelle/Emulateur
Principes
Logiciel stand-alone exécutant un OS invité
L’invité voit ses appels matériels reroutés
Acces direct cependant au CPU et à la mémoire
Performances dépendantes du niveau d’émulation
Exemple
Microsoft VirtualPC et Microsoft VirtualServer
PearPC, VirtualBox, VMware
Parallels
QEMU
Virtualisation de Systèmes, Principes et Mise en œuvre
11 / 13
Hyperviseur
Virtualisation de Systèmes, Principes et Mise en œuvre
12 / 13
Hyperviseur
Principes
Noyau système léger
Forward d’appel noyau sans surcharge
Support pour la para-virtualisation
Flexible mais onéreuse
Virtualisation de Systèmes, Principes et Mise en œuvre
13 / 13
Hyperviseur
Principes
Noyau système léger
Forward d’appel noyau sans surcharge
Support pour la para-virtualisation
Flexible mais onéreuse
Exemple
Xen
VMWare
Hyper-V
Oracle VM
ProxMox
Virtualisation de Systèmes, Principes et Mise en œuvre
13 / 13