Virtualisation
Transcription
Virtualisation
Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation Virtualisation Table des matières Virtualisation..............................................................................................................................................................................1 I- Principes de la virtualisation............................................................................................................................2 1- Introduction..............................................................................................................................................................2 2- Virtualisation totale (hyperviseur type 1)......................................................................................3 3- Virtualisation assistée par matériel (Hyperviseur type 1)...............................................3 4- Para-virtualisation (Hypervision de type 2)................................................................................4 5- Virtualisation d'environnement (ou de processus)..............................................................4 6- Virtualisation purement matérielle....................................................................................................5 II- Hyperviseur (exemple avec Hyper-V).....................................................................................................6 1- Partage de ressources..................................................................................................................................6 2- Disques virtuels et stockage...................................................................................................................6 3- Réseaux virtuels.................................................................................................................................................7 III- Migrations : P2V – V2P - V2V...........................................................................................................................9 1- P2V....................................................................................................................................................................................9 2- V2P..................................................................................................................................................................................9 3- V2V.................................................................................................................................................................................9 IV- Maintenance et sauvegardes...................................................................................................................10 1- Clichés.........................................................................................................................................................................10 2- Sauvegardes........................................................................................................................................................10 Dernières modifications le 31/10/12 - Page 1 - Nicolas Dewaele [email protected] http://adminrezo. fr Virtualisation I- Principes de la virtualisation 1- Introduction En informatique, on essaye toujours de distinguer deux mondes : Le monde du matériel et le monde du logiciel. Le premier fournit les équipements physiques, le second fournit les données et les applications. La virtualisation a été inventée dans le but de s'affranchir au maximum de la couche matérielle de l'informatique, le matériel étant cycliquement obsolète et tombant régulièrement en panne. Dans un système non virtualisé, quand le matériel tombe en panne, la couche logicielle n'est pas toujours migrable. Il arrive fréquemment que l'on soit dépendant du matériel et donc obligé de garder en vie du matériel dépassé. Dernières modifications le 31/10/12 - Page 2 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation 2- Virtualisation totale (hyperviseur type 1) La virtualisation complète utilise un système d'exploitation hôte classique (Linux, Windows dont les noyaux ne sont pas modifiés) et un logiciel de virtualisation qui émule un matériel virtuel. Les machines virtuelles installent des systèmes d'exploitation invités qui utilisent des pilotes pour gérer le matériel virtuel. Logiciel de virtualisation O.S. VM O.S. VM ... Pilotes VM Pilotes VM ... Matériel émulé VM 1 Matériel émulé VM 2 ... VM x O.S. hôte Pilotes hôte Matériel hôte Exemples : – VirtualBox – VMWare Server, VMWare Workstation – MS VirtualPC, Virtual Server (arrêté) 3- Virtualisation assistée par matériel (Hyperviseur type 1) Il s'agit toujours d'un système de virtualisation totale mais une amélioration importante est ajoutée : Le VMM est capable d'utiliser les fonctionnalités avancées des processeurs gérant la virtualisation (voir chapitre sur la virtualisation matérielle) : Intel-VT et AMD-V. Moniteur de machine virtuelle (VMM) O.S. VM O.S. VM ... Pilotes VM Pilotes VM ... Matériel émulé VM 1 Matériel émulé VM 2 ... VM x O.S. hôte Pilotes hôte Matériel hôte Les logiciels cités au chapitre précédents sont aujourd'hui capable de faire de la virtualisation assistée par matériel. Dernières modifications le 31/10/12 - Page 3 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation 4- Para-virtualisation (Hypervision de type 2) La para-virtualisation évite d'utiliser un système hôte complet pour faire la virtualisation. A la place, un noyau très léger de système d'exploitation hôte est utilisé. Les performances sont bien meilleures en para-virtualisation qu'en virtualisation complète. Exemples de systèmes de paravirtualisation : – VMWare ESX – Hyper-V – Oracle VM – Xen – KVM O.S. VM O.S. VM ... API API ... Matériel émulé VM 1 Matériel émulé VM 2 ... VM x O.S. de virtualisation Pilotes hôte Matériel hôte 5- Virtualisation d'environnement (ou de processus) La virtualisation d'environnement concerne uniquement la partie applicative. Il n'y a qu'un système d'exploitation utilisé mais l'application ou l'environnement utilisateur ou logiciel est cloisonné de sorte que les processus soient indépendants. O.S. VM O.S. VM ... Au niveau de l'environnement, on Environnement 1 Environnement 2 Env x utilise des logiciels comme : Système hôte – Jail BSD Pilotes hôte – OpenVZ – Chroot Matériel hôte Au niveau applicatif, de nombreux logiciels sont capables de créer des processus virtuels comme : – les hôtes virtuels d'Apache – les hôtes virtuels de Postfix – ... Dernières modifications le 31/10/12 - Page 4 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation 6- Virtualisation purement matérielle Comme nous l'avons vu dans la virtualisation assistée par matériel, les constructeurs de processeurs comme AMD et Intel ont intégré depuis plusieurs années des fonctions de virtualisation directement dans l'architecture de leurs processeurs. Cette technologie permet au processeur de faire fonctionner sur une même puce plusieurs systèmes d'exploitation en parallèle. Les VMs peuvent utiliser le matériel directement, sans que l'hyperviseur leur en donne l'autorisation. Les gains de performances sont très importants avec un processeur gérant la virtualisation. http://sites.amd.com/fr/business/it-solutions/virtualization/ http://www.intel.com/content/www/fr/fr/virtualization/intel-virtualizationtransforms-it.html Dernières modifications le 31/10/12 - Page 5 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation II- Hyperviseur (exemple avec Hyper-V) 1- Partage de ressources Le rôle principal de l'hyperviseur est de dédier des ressources matérielles à chaque VM. Parmi ces ressources on peut citer : – Un nombre de processeurs ou de cœurs de processeur (le CPU doit gérer la virtualisation) – Une quantité de RAM – Un disque dur virtuel – Un lecteur de CD/DVD – Une carte réseau virtuelle 2- Disques virtuels et stockage Dans une VM, les données sont stockées sur un disque dur virtuel. Ce disque dur se présente sous forme de fichier dans le système de fichiers de l'hôte : – VHD chez Microsoft – VDI chez Oracle – VMDK chez VMWare – OVF pour le format ouvert Dernières modifications le 31/10/12 - Page 6 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation Tous les formats de disques durs virtuels (VDI, VHD, VMDK, OVF) sont transformables dans d'autres sont difficulté particulière. Par exemple les outils en ligne de commande de Virtualbox le permettent. Les disques virtuels peuvent être statiques ou dynamiques. Dans le premier cas, si vous créez un disque de 50 Go, le fichier de disque virtuel fera 50 Go sur votre système hôte (attention pour les sauvegardes !). Avec un disque dynamique, le fichier de disque virtuel se remplit au fur et à mesure qu'il est utilisé. Un disque de 50 Go dans lequel il n'y a pas de données ne pèsera dans le système de fichiers hôte que quelques octets. En cas de besoin, ces disques virtuels peuvent être ouverts par le système hôte, par exemple un fichier VHD peut s'ouvrir dans le gestionnaire des disques de Windows 2008 (et ultérieur) et il peut également s'ouvrir avec le logiciel libre 7-Zip. 3- Réseaux virtuels Les machines virtuelles doivent pouvoir accéder au réseau mais seule la machine hôte est directement connectée au réseau. Il existe plusieurs techniques pour permettre aux VMs d'accéder au réseau. La technique la plus simple consiste à faire un pontage (bridging) de la carte réelle vers une carte virtuelle. L'hyperviseur agit alors comme un switch sur lequel sont connectées toutes les VMs. L'hyperviseur peut également prendre en charge l'appartenance aux VLANs si besoin. L'autre technique est d'utiliser le NAT comme le ferait un routeur. Cela rend difficile (ou impossible selon le logiciel choisi) l'accès en tant que serveur d'une VM (il faut translater le ou les ports nécessaires). Enfin les VMs peuvent être connectées à un réseau interne complètement fermé à l'extérieur (comme si le switch virtuel n'était connecté à aucun autre switch). Dernières modifications le 31/10/12 - Page 7 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation Technique du pontage (carte virtuelle faisant office de switch) : Réseau virtuel Carte virtuelle Carte physique Réseau physique Technique du NAT (carte virtuelle faisant office de routeur NAT) : Réseau virtuel Carte virtuelle Carte physique Réseau physique Technique du réseau interne (Réseaux virtuels et physiques séparés) : Réseau virtuel Carte virtuelle Carte physique Réseau physique Dernières modifications le 31/10/12 - Page 8 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation III- Migrations : P2V – V2P - V2V 1- P2V Le P2V est la transformation d'une machine physique vers une machine virtuelle (Physical to virtual). O.S. VM P2V V Pilotes VM Matériel émulé VM O.S. origine O.S. de virtualisation Pilotes origine Pilotes hôte Matériel origine Matériel hôte Sous Windows, le logiciel Disk2VHD transforme un disque physique en disque VHD. D'autres logiciels plus complets peuvent être achetés. Dans tous les cas, les contraintes d'une telle transformation sont fortes, et ce processus n'est pas toujours réalisable dans de bonnes conditions. Il est fortement conseillé de supprimer tous les pilotes spécifiques (cartes vidéo, cartes réseau, Raid, …) avant de virtualiser. Le premier redémarrage est conseillé en mode sans échec pour vérifier que tout fonctionne et pour corriger les erreurs. 2- V2P Il s'agit de transformer une machine virtuelle en machine physique. Cette opération est beaucoup moins commune car les environnements sont aujourd'hui en grande partie virtualisés. Il existe néanmoins des outils, par exemple chez VMWare et Virtualbox permettant de réaliser cette opération. 3- V2V Cette opération est très commune, il s'agit de migrer une VM d'un environnement virtuel un à autre... – soit parce que le système hôte a changé (passage de MS VirtualServer à Hyper-V, par exemple) – soit parce que la solution de virtualisation a changé (migration vers VMWare, vers Hyper-V, vers Xen, …). Comme toujours, des solutions existent chez tous les éditeurs. Dernières modifications le 31/10/12 - Page 9 - Nicolas Dewaele [email protected] http://adminrezo.fr Virtualisation IV- Maintenance et sauvegardes 1- Clichés Les clichés de disques durs ne sont pas des sauvegardes. Les deux systèmes sont complémentaires. Un gros avantage de la VM est de pouvoir revenir en arrière quand un événement se produit. Les données des VMs étant dans des fichiers sur le disque de l'hôte, il suffit de garder une copie du disque d'origine avant de se lancer dans une opération de maintenance. Les clichés de disques virtuels sont des images du disque à un instant t pour y revenir en cas de besoin. Le schéma suivant illustre ce principe : + 15 janvier Disque d'origine 17 janvier Cliché 1 18 janvier Crash 2- Sauvegardes Les machines virtuelles ont quelques particularités qui les rendent spécifiques à sauvegarder : – – Premièrement, les données à sauvegarder sont forcément plus importantes (on sauvegarde toutes les partitions intégralement). Deuxièmement, les données sont toujours vivantes puisque le système d'exploitation des VMs ne s'arrête jamais. Il faut donc utiliser des logiciels professionnels prenant bien en charge la virtualisation. Dernières modifications le 31/10/12 - Page 10 -