Virtualisation d'un réseau intranet( Télécharger le fichier original )par Bonhomie BOPE Institut supérieur de techniques appliquées - Ingénieur en génie électrique 2010 |
CHAPITRE III. : LES SOLUTIONS DE VIRTUALISATION DESSERVEURSIII.1. INTRODUCTIONIl existe plusieurs solutions de virtualisation dans le monde libre sous GNU/Linux. Dans ce chapitre, nous ne verrons que les solutions le plus en vogue et qui se basent sur les technologies vues dans le chapitre II. Outre Bochs et VMware Serveur basé sur la virtualisation complète c'est-à-dire que ces logiciels sont capables d'émuler le processeur, le BIOS et les périphériques usuels : Entrées/Sorties, nous parlerons que de QEMU, KVM, Linux-VServer, OpenVZ, Xen. III.2. VIRTUALISATION AVEC QEMU III.2.1. Aperçu sur QEMU QEMU Virtualization complete Paravirtualisation Hyperviseur x Cloisonnement QEMU est une machine virtuelle ou émulateur de système, libre qui permet de faire tourner un ou plusieurs systèmes d'exploitation13 ou seulement des processus sur un système d'exploitation déjà installé sur la machine. QEMU utilise la virtualisation complète et isolée sur une même machine physique comme illustre la figure 11. Fig. 11. Solution avec QEMU 13 http://fr.wikipédia.org/wiki/QEMU, http://www2.wwweball.com/wiki/page.php/QEMU visité le 25 juillet 2011 à 19h30' QEMU fonctionne sur les plateformes x86-64, PPC, Sparc et ARM et sous les systèmes d'exploitation Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Unix et Windows. Les systèmes invités partagent ainsi les ressources de la machine physique et n'ont pas « conscience » d'être virtualisés. Ils n'ont donc pas besoin d'être adaptés pour fonctionner sur QEMU. QEMU est un module pour le noyau linux qui permet d'accélérer l'émulation sur les systèmes d'exploitation linux en contournant certaines couches d'abstraction du système se rapprochant ainsi des performances natives du système hôte lorsque le processeur ne possède pas de fonctions matérielles dédiées à la virtualisation. QEMU permet d'exécuter le code de l'instance virtuelle de système d'exploitation invité directement sur le processeur hôte comme nous montre la figure 12. Applications utilisateur QEMU X86 Pilotes Système Hôte: Linux, Windows QEMU Matériel A hit Applications utilisateur Système invite QEMU X86 Pilotes Fig.12. La technologie QEMU Le système invité est géré comme une image disque complète par le système hôte et grossit au fur et à mesure que le système invité remplit l'espace réservé à la création. III.2.2. La Gestion du réseau par QEMUQEMU offre plusieurs modes de fonctionnement pour la connexion de système invité au réseau. La première méthode, la plus simple, consiste à laisser un accès limité au réseau depuis la machine virtuelle. Dans ce mode, appelé user mode networking, QEMU offre un réseau privé au système invité, et filtre les communications. Du point de vue du système invité, il y a un réseau privé simple, avec un serveur DHCP qui attribue dynamiquement des adresses IP et une passerelle pour accéder à Internet. Ce mode est totalement indépendant du système hôte, le DHCP et la passerelle sont émulés par QEMU. Le déroulement du processus est le suivant :
Du point de vue du système hôte, QEMU est un programme comme un autre, y compris pour l'accès au réseau. Cette particularité fait que la configuration user mode est très simple, QEMU se chargeant de tout. Par contre , il n'est pas possible de faire fonctionner un programme hébergeant un service réseau comme le serveur Web avec ce mode, sauf à dire explicitement à QEMU d'écouter sur un port donné et d'avoir l'autorisation du système hôte pour écouter sur ce port. Ce mode est donc réservé aux tests rapides, ou aux cas d'utilisation ne nécessitant qu'un usage basique de l'accès à Internet. - Le deuxième mode proposé est le mode TAP ou tuntap. Dans cette configuration, une interface réseau virtuelle est créée sur le système hôte. Cette interface virtuelle est ensuite reliée à l'interface physique par un pont (bridge), qui servira à faire passer le trafic réseau de l'une vers l'autre. QEMU relie alors le système invité à l'interface virtuelle. Une autre particularité intéressante de QEMU est la possibilité de relier les systèmes invités entre eux, indépendamment du réseau physique sous-jacent. Chaque instance de QEMU démarrée peut se voir préciser un numéro de VLAN. De cette manière, seules les machines virtuelles partageant le même numéro de VLAN14 peuvent communiquer entre elles. QEMU dispose d'énormément de possibilités en ce qui concerne la gestion du réseau, mais ce n'est pas son seul point fort. En effet, il y a quantité d'options paramétrables au lancement du programme, qui contrôlent le type de matériel émulé, la connectivité au réseau, les disques et répertoires à rendre accessibles au système invité, etc. III.2.3. Conclusion sur QEMU QEMU est sous la licence GNU/GPL et reste une solution intéressante dans les cas d'utilisation où l'on a simplement besoin de tester le comportement d'un programme ou d'un système. Les options d'interconnexion qu'il offre, tant avec le système hôte qu'avec d'autres machines du réseau sont très intéressantes, et permettent de mettre au point des architectures très complexe, impossibles à réaliser avec des machines physiques. QEMU, de par sa robustesse et ses fonctionnalistes étendues est réutilisé dans plusieurs solutions de virtualisation comme : > KVM : la partie utilisateur utilise une version légèrement modifiée de QEMU ; > Xen : QEMU est la machine virtuelle se chargeant des E/S lorsque Xen utilise les processeurs supportant les instructions de paravirtualisation ; > Virtualbox : se base sur QEMU pour la réalisation des E/S. Ainsi, QEMU offre des performances insuffisantes par rapport à la puissance de la machine hôte pour des serveurs destinés à offrir des grandes capacités dans le réseau. 14Un VLAN ou Réseau Local Virtuel est un réseau local regroupant un ensemble de machines de façon logique. Présenté par : Bonhomie BOPE bonhomie.bope@ista.ac.cd 243 851 796 942, 243 898 297 100 III.3. VIRTUALISATION AVEC KVM III.3.1. Aperçu sur KVM KVM, kernel Based Virtual Machine est une solution de virtualisation complète sur linux. Elle est basée sur les architectures x86 possédant les extensions matérielles de virtualisation Intel VT ou AMD-V. Elle consiste en un module chargeable du noyau qui fournit le coeur de virtualisation kvm.ko et module spécifique dépendant du processeur soit kvm-intel.ko pour les processeurs Intel soit kvm-and.ko pour les processeurs ADM. Le schéma ci-dessous illustre la solution de virtualisation utilisé par KVM
KVM Fig. 13. La technologie KVM pour la virtualisation Les outils QEMU sont aussi nécessaires au fonctionnement de KVM pour les manipulations sur les fichiers images des instances de s systèmes d'exploitation. Techniquement, la solution KVM se compose : - D'un module noyau qui utilise les instructions de virtualisation et communique avec le processeur ; - D'un programme utilisateur, qui utilise le module noyau pour toutes les opérations privilégiées. Avec la solution KVM, chaque machine virtuelle est un processus standard du noyau linux serré par l'ordonnanceur. Un processus normal de système GNU/LINUX peut être exécuté selon deux modes : noyau (kernelspace) ou utilisateur (userrspace). KVM ajoute un troisième mode : le mode invité qui possède ses propres modes noyau et utilisateur. La partie utilisateur de KVM est une version légèrement modifiée de QEMU, simplement adaptée pour que les opérations pouvant bénéficié des instructions de virtualisation du processeur fassent appel au module noyau. |
|