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