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

II.5. CONTRAINTE DE LA VIRTUALISATION

Bien que la virtualisation nous amène plusieurs avantages, nous allons évoquer ici quelques inconvénients :

a. Plusieurs serveurs virtuels sont sur une seule machine physique, C'est un risque potentiel ;

b. Si une VM a un problème de performance (100% CPU) alors les autres serveurs sont affectés (plus ou moins)

c. Perte de performance pour les disques durs

d. La facilité de création de VM implique une surconsommation des ressources

Ces inconvénients peuvent bien sûr être réglés par l'application de bonnes règles de gestion des machines virtuelles.

II.6. TECHNOLOGIES DE LA VIRTUALISATION

Il existe plusieurs catégories de virtualisation, utilisant chacune des technologies différentes. Les technologies les plus répandues sont :

> la virtualisation complète ou machine virtuelle ; > la para virtualisation ;

> la virtualisation assistée par le matériel ou hyperviseur ; > le cloisonnement ou isolation.

Chacune de ces technologies est une technologie de virtualisation, mais elles ne fonctionnent pas de la même façon. Les principes et particularités de chaque technologie seront détaillés dans les pages suivantes.

II.6.1. La virtualisation complète ou machine virtuelle

La virtualisation complète en anglais « full virtualisation » est une technologie qui consiste à émuler l'intégralité d'une machine physique pour le système invité. Le système invité « croit » s'exécuter sur une véritable machine physique. Le logiciel chargé d'émuler cette machine s'appelle « une machine virtuelle », son rôle est de transformer les instructions du système invité en instruction pour le système hôte. Ainsi, la machine virtuelle est un programme comme un autre du point de vue du système hôte, au méme titre qu'un navigateur Internet ou traitement de texte.

Les programmes utilisateur n'ont pas d'accès direct au matériel, mais uniquement aux couches d'abstraction. La machine virtuelle émule donc de manière logique tout le matériel habituel de l'architecture pour le système invite, ce dernier croit dialoguer directement avec l'édit materiel comme nous montre la figure 6 ci-dessous.

Fig. 6. Emulation des couches virtuelles

Cet empilage de couches est sensiblement identique pour tous les peripheriques emules par la machine virtuelle. On retrouve. Du plus bas au plus haut niveau :

1. Le materiel.

2. Le pilote du materiel pour le système hôte,

3. La couche d'abstraction du système hôte,

4. Le materiel emule par la machine virtuelle,

5. Le pilote du materiel pour le système invite,

6. La couche d'abstraction du système invité,

Le disque dur de la machine virtuelle est la plupart du temps gere comme un volumineux fichier pour le système hôte, alors que la memoire vive dont le système invite dispose, est reservee par le programme de la

machine virtuelle. Le reste de l'architecture de l'ordinateur peut varier grandement selon les implémentations, mais on retrouve généralement au moins une carte réseau, un clavier standard et une carte graphique.

Les systèmes s'exécutant dans la machine virtuelle est un système d'exploitation à part entière, tel qu'on pourrait en installer sur une machine physique : Microsoft Windows, GNU/Linux, Mac OS X. etc. Cette particularité est la caractéristique principale de la virtualisation complète : les systèmes invités n'ont pas à être modifiés pour être utilisés dans une machine virtuelle utilisant une technologie de virtualisation.

Le système invité à son tour peut exécuter n'importe quel programme prévu pour ce système, dans la mesure où il ne nécessite pas de matériel non fourni par machine virtuelle. Cette possibilité est due au fait que le système d'exploitation sert (entre autres) de couche d'abstraction entre le matériel et les applications s'exécutant par -dessus fonctionneront aussi. Cette technique isole bien les systèmes invités, mais elle a un coût en performance et en temps. Ces performances sont donc limitées par les performances de la couche d'abstraction du système hôte et par la qualité de l'émulation du matériel implémenté. En effet, la machine virtuelle ne peut pas, dans la plupart de cas, exécuter directement les instructions du système invité sur le système hôte.

Les instructions de manipulation de la RAM8, par exemple, doivent être interprétées par la machine virtuelle pour aboutir au résultat attendu, car c'est le processeur de la machine virtuelle qui est censé s'occuper de la gestion physique de la mémoire, et non le processeur de la machine hôte.

La machine virtuelle doit donc implémenter en logiciel une gestion complète de la mémoire de l'invité, en utilisant les couches d'abstraction de l'hôte pour accéder à la mémoire centrale.

Cet empilement de couches réduit significativement les performances, surtout en cas de forte pression sur la mémoire comme par exemple quand la mémoire est utilisée de manière intensive : lecture, écriture, déplacement de données, etc. la figure 7 détaille les couches d'abstraction entrant en jeu pour la gestion de la mémoire.

En échange cette technique permet de faire cohabiter plusieurs systèmes invités hétérogènes sur une même machine grâce à une isolation complète.

8 La RAM (Random Access Memory) ou mémoire vive de l'ordinateur est une mémoire volatile et à accqs aléatoire dans la quelle un ordinateur place les données lors de leur traitement.

Fig.7. couche d'abstraction pour la gestion de la mémoire

Du fait de l'empilement de couches d'abstraction et l'impossibilité pour la machine virtuelle d'accéder directement au matériel, les performances du système invité sont assez éloignées de celles d'un système « natif ». Selon les implémentations, diverses solutions sont utilisées pour accélérer les machines virtuelles, par exemple en passant la plupart des instructions destinées au processeur virtuel directement au processeur physique. Cela accélère la vitesse de calcul du système invité.

Il reste cependant le problème des Entrées/Sorties (E/S), c'est-à-dire les accès au disque, à la RAM, à la carte graphique, à la carte réseau, etc. D'une manière générale, on appelle Entre/Sorties (I/O Input/Output) tout ce qui intervient pour transférer des informations ou des données entre un périphérique et le système d'exploitation. Les E/S sont beaucoup plus dures à optimiser, car chaque système a une façon propre de gérer cela. Il faut donc cohabiter étroitement à la fois avec le système hôte pour accès réel au matériel et avec le système invité pour que ses accès au matériel soient le plus rapide possible. Cela amène une plus grande complexité de code, et une séparation en couches moins marquée que dans le modèle vu sur la figure 6. Cette « rupture » dans le modèle en couches est exploitée par une autre technologie de virtualisation appelé « Para- virtualisation »

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








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand