WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE III. : LES SOLUTIONS DE VIRTUALISATION DES

SERVEURS

III.1. INTRODUCTION

Il 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
Système invite

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 QEMU

QEMU 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 :

1. QEMU est initialisé en user mode Networking ;

2. Le système invité démarre ;

3. à l'initialisation du réseau, le système invité effectue une requête DHCP pour configurer la carte réseau ;

4. la pile user mode de QEMU répond à la requête DHCP et attribue une adresse IP à la carte réseau du système invité ;

5. une fois la carte configurée, le système invité peut émettre du trafic sur le réseau virtuel, comme s'il était connecté à un véritable réseau ;

6. quand le système invité émet du trafic, QEMU récupère le trafic réseau et le passe au système hôte, qui se charge alors de l'émettre sur le véritable réseau physique.

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

Virtualisation complète

X

Paravirtualisation

 

Hyperviseur

 

Cloisonnement

 

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.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Et il n'est rien de plus beau que l'instant qui précède le voyage, l'instant ou l'horizon de demain vient nous rendre visite et nous dire ses promesses"   Milan Kundera