Virtualisation? «La virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d'exploitation comme s'ils fonctionnaient sur des ordinateurs distincts.» http://fr.wikipedia.org/wiki/virtualisation 1
Intérêt? 1.Moins de machines physiques : économie bon pour l environnement 2.Utilisation plus efficace de la machine physique souvent sous exploitée 3.Souplesse dans la gestion des serveurs virtualisés : puissance d une machine ajustable (mémoire, nb cœurs) 1 OS = 1 fichier ou 1 file system 4.Disponibilité 1.Plateforme de test 2
Virtualisation : nouveau concept? Dans les années 70, IBM faisait déjà de la virtualisation sur Mainframe. Vers 2000, Vmware a commencé la virtualisation sur architecture X86. Solutions pour la virtualisation VMWare (payant) HyperV (payant) : ex : dsmprt2 Citrix XenServer (payant) Virtual Box (gratuit) Xen (gratuit) Qemu (gratuit) KVM (gratuit) 3 architectures 1. Full virtualisation 2. Para-virtualisation 3. Virtualisation assistée par matériel 3
Anneaux de protection : processeur X86 Ring 3 Ring 2 Ring 1 Ring 0 Noyau http://fr.wikipedia.org/wiki/anneau_de_protection Ring 0 : Système d exploitation Ring 1 : non utilisé Ring 2 : non utilisé Ring 3 : Espace utilisateur où tournent les applications 4
Différents types de virtualisation Full Virtualisation OS Invité OS Invité Hyperviseur OS Hôte Matériel Ex : VirtualBox OS Invité Ring 3 Ring 0 Emulation total du matériel : nombre d OS supportés lenteur Emulation totale + binary translation chaque VM tourne directement sur la CPU de la machine hôte. les instructions privilégiées, «sensible/dangereuse» pour la machine hôte sont capturées puis émulées par l hyperviseur. pour celles qui ne peuvent pas être capturées (à cause de l architecture x86), on utilise le binary translation où l hyperviseur identifie et modifie directement les instructions dans la mémoire des VM. nombre d OS supportés lourdeur de l hyperviseur 5
Para-virtualisation Dom0 OS Privilégié Modifié Ring 0 Périphériques Disques Réseaux Ex : Xen Périphériques Disques Réseaux Ring 0 DomU OS Non privilégié Modifié CPU + Mémoire CPU + Mémoire DomU OS Non privilégié Modifié Ring 3 Hyperviseur Matériel VM modifiées : toutes les instructions privilégiées pour la CPU et la mémoire sont modifiées pour s adresser à l hyperviseur celles privilégiées pour les périphériques, disques et réseaux sont modifiées pour s adresser au Dom0. hyperviseur léger vitesses accès disques et réseaux proches d une machine réelle. les VM modifiées : un Dom0 modifié (non Windows) des DomU modifiés 6
Hardware Virtual (HVM) Matériel CPU Host mode Ex : KVM OS Hôte OS Invité Virtio Hyperviseur Matériel CPU Guest mode OS Invité Virtio Ring 3 Ring 0 nécessite les technologies Intel-VT ou AMD-V dans la CPU la VM fonctionne directement sur la CPU physique qui identifie les instructions privilégiées, les traite et redonne la main à l hyperviseur. l hyperviseur se charge de gérer la mémoire ainsi que les entrées/sorties disques, réseaux et périphériques. les nouveaux processeurs intègrent même la gestion de la mémoire. Et bientôt, même les entrées/sorties vont pouvoir être gérées en dur. 7
les drivers Virtio optimisés (inclus dans noyau Linux > 2.6.25) communiquent directement avec l hyperviseur et permettent une amélioration importante des entrées/sorties (disques et réseaux et périphériques). la para-virtualisation est localisée au niveau de l interface Virtio. Les OS invités n ont pas besoin d être modifiés, grâce à Virtio Avec les drivers Virtio, les vitesses d accès disques et réseaux sont proches de celle d une machine réelle Une partie de la CPU physique est utilisée pour gérer la virtualisation (pas très gênant si la machine hôte est dédiée à la virtualisation) Les drivers Virtio doivent être spécifiquement développés pour l OS invité 8
Quelle solution utiliser? Du gratuit et sous Linux : 2* = très bien 1* = bien 0* = pas bien Xen 3 ou 4 KVM + Virtio Vitesse I/O 1 1 Administration (virsh) 1 1 Mise en oeuvre 0 1 Mise à jour 0 1 Pérennité 1 2 Fonctionnalités 2? 1? * Ces notes sont données à titre personnel KVM + Virtio* 9
Exemples d utilisation Disponibilité (migration à chaud sans interruption de service) : migration DSM-NAS virtualisé #virsh migrate live \ dsm-nas \ Serveur2 DSM-NAS virtualisé spare Serveur 1 Bat 772 NFS NFS Serveur 2 Bat 524 synchro Disque réseau (NAS) Bat X Disque réseau (NAS) backup Bat Y 10
Exemples d utilisation Plateforme de test : Serveur virtuel KDC Serveur virtuel LDAP Regroupement de services : Poste virtuel Linux Help (OTRS) Dsm-sympa 11
Merci 12