virtualisation enim 02042014

120
La virtualisa+on des Systèmes d’Informa+ons 4/8/14 1

Upload: ismaelmadani

Post on 28-Dec-2015

64 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Virtualisation Enim 02042014

La  virtualisa+on  des  Systèmes  d’Informa+ons    

4/8/14   1  

Page 2: Virtualisation Enim 02042014

4/8/14   2  

Page 3: Virtualisation Enim 02042014

Introduction

“Virtualization is a term that refers to the abstraction of computer resources.” “[...] virtualization is a framework or methodology of dividing the resources of

a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or

complete machine simulation, emulation, quality of service, and many others.” *

“Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources.”**

La virtualisation est un processus qui va permettre de masquer les caractéristiques physiques d’une ressource informatique de manière à simplifier les interactions entre cette ressource et d’autres systèmes, d’autres applications et les utilisateurs. Elle va permettre de percevoir une ressource physique comme plusieurs ressources logiques et, inversement, de percevoir plusieurs ressources physiques comme une seule ressource logique. La virtualisation repose sur trois concepts fondamentaux:

1. L’abstraction des ressources informatiques ; 2. La répartition des ressources par l’intermédiaire de différents outils, de manière à ce que celles-ci puissent être utilisées par plusieurs environnements virtuels ; 3. La création d’environnements virtuels.

**Server Virtualization : Covrering today’s Server Virtualization topics. searchservervirtualization.techtarget.com/. * Amit Singh. An introduction to virtualization. www.kernelthread.com/publications/ virtualization/, Janvier 2004.

4/8/14   3  

Page 4: Virtualisation Enim 02042014

Par+e  I    

4/8/14   4  

Page 5: Virtualisation Enim 02042014

Virtualisation : Définitions

4/8/14   5  

•  La virtualisation est l’ensemble des techniques matérielles et logicielles permettant de: –  fournir un ensemble ou sous ensemble de ressources informatiques de manière

qu’elles puissent être utilisées adéquatement et indépendamment de la plateforme matérielle.

–  faire fonctionner plusieurs systèmes d’exploitation et/ou applications sur une même machine, séparément les uns des autres, comme s’ils fonctionnaient sur des machines physiques distinctes.

•  Elle peut être vue comme une surcouche permettant de créer sur mesure un environnement correspondant aux spécifications de traitements, par opposition à la nécessité d’adapter les spécifications aux contraintes matérielles.

•  « La virtualisation est une couche d’abstraction qui découple le système d’exploitation du matériel afin de délivrer une meilleure utilisation et flexibilité des ressources de traitement » (Vmware).

•  On parle de : –  Machine hôte = machine exécutant les différents systèmes virtuels –  Machine invitée:= machine virtuelle s’exécutant dans l’environnement de virtualisation

• 

Page 6: Virtualisation Enim 02042014

Virtualisation : Historique

4/8/14   6  

Page 7: Virtualisation Enim 02042014

Virtualisation : Historique

4/8/14   7  

Page 8: Virtualisation Enim 02042014

4/8/14   8  

Page 9: Virtualisation Enim 02042014

4/8/14   9  

Page 10: Virtualisation Enim 02042014

4/8/14   10  

Page 11: Virtualisation Enim 02042014

4/8/14   11  

Page 12: Virtualisation Enim 02042014

4/8/14   12  

Page 13: Virtualisation Enim 02042014

4/8/14   13  

Page 14: Virtualisation Enim 02042014

4/8/14   14  

Page 15: Virtualisation Enim 02042014

4/8/14   15  

Page 16: Virtualisation Enim 02042014

4/8/14   16  

Page 17: Virtualisation Enim 02042014

Par+e  II    

4/8/14   17  

Page 18: Virtualisation Enim 02042014

Pourquoi la virtualisation

4/8/14   18  

Page 19: Virtualisation Enim 02042014

Pourquoi la virtualisation

4/8/14   19  

Page 20: Virtualisation Enim 02042014

Pourquoi la virtualisation

4/8/14   20  

Page 21: Virtualisation Enim 02042014

Usages

4/8/14   21  

Page 22: Virtualisation Enim 02042014

Usages

4/8/14   22  

Page 23: Virtualisation Enim 02042014

Usages

4/8/14   23  

Page 24: Virtualisation Enim 02042014

Domaines de la virtualisation : Présentation

4/8/14   24  

•  La virtualisation de présentation permet d’exécuter une application sur un système et de l’afficher et contrôler à partir d’un autre.

•  Il s’agit de sessions virtuelles dans lesquelles l’application présente son interface utilisateur à distance :

–  Les traitements s’effectuent sur le serveur tandis que les affichages, le clavier, la souris et d’autres entrées/sorties s’effectuent via le terminal de l’utilisateur. Chaque session virtuelle exécute une seule application ou présente à l’utilisateur un bureau complet dans lequel il est possible d’exécuter plusieurs applications.

•  Exemple : Terminal Server, Citrix…

Page 25: Virtualisation Enim 02042014

•  La virtualisation d’application est une technologie logicielle qui va permettre d’améliorer la portabilité et la compatibilité des applications en les isolant du système d’exploitation sur lequel elles sont exécutées.

•  Elle consiste à encapsuler l’application et son contexte d’exécution système dans un environnement cloisonné. La virtualisation d’application va nécessiter l’ajout d’une couche logicielle supplémentaire entre un programme donné et le système d’exploitation ; son but est d’intercepter toutes les opérations d’accès ou de modification de fichiers ou de la base de registre afin de les rediriger de manière totalement transparente vers une localisation virtuelle (généralement un fichier).

•  Puisque cette opération est transparente, l’application n’a pas notion de son état virtuel. Le terme virtualisation d’application est trompeur puisqu’il ne s’agit pas de virtualiser l’application mais plutôt le contexte au sein duquel elle s’exécute (registres du processeur, système de fichiers,...).

Domaines de la virtualisation : Applications

4/8/14   25  

Page 26: Virtualisation Enim 02042014

•  La virtualisation d’applications a de nombreux avantages : –  Elle permet d’exécuter des applications qui ont été développées pour d’autres

environnements d’exécution (p. ex. Wine permet d’exécuter des applications Windows sur une plateforme Linux) ;

–  Elle protège le système d’exploitation hôte en s’assurant que l’application virtualisée ne viendra pas interagir avec les fichiers de configuration du système;

–  Elle évite de faire appel à une machine virtuelle qui consomme plus de ressources ; –  Elle autorise l’exécution de code incorrect (p. ex. une application pourrait vouloir

écrire un fichier dans un répertoire système dont elle ne possède que les droits en lecture).

Domaines de la virtualisation : Applications

4/8/14   26  

Page 27: Virtualisation Enim 02042014

•  De manière générale, la virtualisation des réseaux consiste à partager une même infrastructure physique (débit des liens, ressources CPU des routeurs,...) au profit de plusieurs réseaux virtuels isolés. Un VLAN (Virtual Local Area Network) est un réseau local regroupant un ensemble de machines de façon logique et non physique. Puisqu’un VLAN est une entité logique, sa création et sa configuration sont réalisées de manière logicielle et non matérielle. On distingue plusieurs types de réseaux virtuels :

•  Les réseaux virtuels de niveau 1, appelés réseaux virtuels par port (port-based VLAN), définissent un réseau virtuel en fonction des ports de raccordement sur le commutateur (switch). Ainsi, chaque port du commutateur est associé à un réseau virtuel, indépendamment de la machine qui y est physiquement raccordée. Le principal inconvénient d’un VLAN de niveau 1 est sa rigidité : si une station se raccorde physiquement au réseau par l’intermédiaire d’un autre port du commutateur, alors il est nécessaire de reconfigurer ce commutateur afin de réintégrer la station dans le bon réseau virtuel.

Domaines de la virtualisation : Réseaux

4/8/14   27  

Page 28: Virtualisation Enim 02042014

•  Les réseaux virtuels de niveau 2, appelés réseaux virtuels par adresse MAC (MAC address-based VLAN) , consistent à définir un réseau virtuel sur base des adresses MAC des stations. Une adresse MAC est un identifiant unique implémenté dans chaque adaptateur réseau. Ce type de VLAN est beaucoup plus souple que le précédent car il est indépendant de la localisation de la machine.

•  Les réseaux virtuels de niveau 3, incluent deux types de VLAN :

–  Les réseaux virtuels par adresse de sous-réseau (Network address-based VLAN) qui déterminent les réseaux virtuels sur base de l’adresse IP source des segments. Ce type de réseau virtuel est très flexible puisque les commutateurs adaptent automatiquement leur configuration lorsqu’une station est déplacée. En revanche, une légère dégradation des performances peut se faire ressentir puisque les segments doivent être analysés plus minutieusement.

–  Les réseaux virtuels par protocole (Protocol-based VLAN). Dans ce cas, les réseaux virtuels sont créés sur base des protocoles utilisés (TCP/IP, IPX,...) et les stations sont regroupées en réseaux virtuels suivant le protocole qu’elles utilisent.

Domaines de la virtualisation : Réseaux

4/8/14   28  

Page 29: Virtualisation Enim 02042014

•  Les avantages qu’offrent les réseaux virtuels sont les suivants :

–  une réduction du trafic de diffusion (broadcast) puisque celui-ci est à présent contenu au sein de chaque réseau virtuel;

–  une sécurité accrue puisque l’information est encapsulée dans une couche supplémentaire ;

–  une meilleure flexibilité puisqu’une modification de la structure des réseaux peut être réalisée en modifiant la configuration du commutateur.

Domaines de la virtualisation : Réseaux

4/8/14   29  

Page 30: Virtualisation Enim 02042014

•  La virtualisation de stockage est un procédé qui va séparer la représentation logique et la réalité physique de l’espace de stockage. Son but est de faire abstraction des périphériques de stockage utilisés et des interfaces qui leur sont associés (SATA, SCSI,...) afin de limiter l’impact des modifications structurelles de l ’architecture de stockage.

•  Ce type de virtualisation fait appel à une application d’administration de volumes logiques (Logical Volume Manager, LVM). Il s’agit d’une couche logicielle qui va permettre de regrouper plusieurs espaces de stockage, appelés volumes physiques, pour ensuite découper cet espace global suivant la demande en part i t ions virtuelles appelées volumes logiques.

Domaines de la virtualisation : Stockage

4/8/14   30  

Page 31: Virtualisation Enim 02042014

•  Ce processus de virtualisation peut être vu comme une extension du modèle de partitionnement classique des disques dur.

•  La virtualisation de stockage permet :

–  d’adjoindre un périphérique de stockage supplémentaire sans interruption des services;

–  de regrouper des unités de disques durs de différentes vitesses, de différentes tailles et de différents constructeurs;

–  de réallouer dynamiquement de l’espace de stockage. Ainsi, un serveur nécessitant un espace de stockage supplémentaire pourra rechercher des ressources non allouées, sur le disque logique. Inversement, un serveur nécessitant moins d’espace de stockage pourra libérer cet espace et le rendre disponible pour d’autres serveurs.

Domaines de la virtualisation : Stockage

4/8/14   31  

Page 32: Virtualisation Enim 02042014

Domaines de la virtualisation : Postes de travail

4/8/14   32  

•  VDI pour virtual Desktop Infrastructure, a pour objectif de relocaliser le poste de travail au sein du datacenter de l’entreprise, sur une infrastructure virtuelle, afin de bénéficier de tous les avantages qui y sont liés à savoir:

–  Une administration des postes centralisée et considérablement simplifiée

–  Possibilité de remplacer les postes utilisateurs traditionnels par des clients légers, plus fiables, moins chers et peu consommateurs en énergie.

–  Les postes de travail héritent de la sécurisation de l’infrastructure virtuelle sur laquelle ils sont hébergés (redondance, backup…)

–  Une mobilité accrue, le poste utilisateur est accessible hors de l’entreprise de façon permanente et sécurisé, point essentiel pour la population nomade.

Page 33: Virtualisation Enim 02042014

•  La virtualisation des serveurs consiste à masquer les ressources du serveur, c.-à-d.

le nombre et les caractéristiques de chaque machine physique, de chaque processeur et de chaque système d’exploitation pour les utilisateurs de ce serveur. L’administrateur du serveur va utiliser un logiciel grâce auquel il va diviser un serveur physique (constitué ou non de plusieurs machines distinctes) en plusieurs environnements virtuels isolés les uns des autres.

•  Ces environnements isolés sont parfois appelés serveurs privés virtuels, hôtes, instances, containeurs ou émulations.

•  La virtualisation de serveurs s’inscrit dans une tendance globale qui tend à promouvoir la virtualisation au sein des entreprises en faisant notamment appel `a la virtualisation de stockage et à la virtualisation de réseaux. Cette tendance est une composante dans le développement de systèmes autonomes. Un système est dit autonome si il est capable de s’auto-gérer sur base de l’activité qu’il perçoit, sans aucune intervention externe, et en conservant les détails de son implémentation invisibles pour l’utilisateur.

Domaines de la virtualisation : Serveurs

4/8/14   33  

Page 34: Virtualisation Enim 02042014

Par+e  III    

4/8/14   34  

Page 35: Virtualisation Enim 02042014

Principes de la virtualisation

•  Gerald J. Popek et Robert P. Goldberg sont deux chercheurs en informatique qui, en 1974, ont posé les bases de la virtualisation. Leur article, publié dans le Communications of the ACM (Association for Computing Machinery) de juillet 1974, discute les possibilités de virtualisation des architectures de troisième génération.

•  Avant de poursuivre notre analyse, il est nécessaire de définir deux termes qui seront largement utilisés dans la suite de ce document :

–  Une machine virtuelle (Virtual Machine, VM) : il s’agit d’une reproduction isolée

et efficace d’une machine physique. –  Un hyperviseur ou contrôleur de machine virtuelle (Virtual Machine Monitor,

VMM) : il s’agit d’un logiciel qui va créer et gérer l’exécution d’un certain nombre de machines virtuelles. Popek et Goldberg ont établi trois contraintes que doivent respecter les contrôleurs de machines virtuelles pour pouvoir être considérées en tant que tels.

4/8/14   35  

Page 36: Virtualisation Enim 02042014

Principes de la virtualisation: Vocabulaires

1. Critère d’équivalence : “Any program run under the VMM should exhibit an effect identical with that demonstrated if the program had been run on the original machine directly, with the possible exception of differences caused by the availability of system resources and differences caused by timing dependencies “

Ce critère impose que tout programme doit montrer un comportement similaire, qu’il soit exécuté au travers d’un système de virtualisation ou bien directement sur la machine physique, à l’exception d’une éventuelle indisponibilité des ressources ou de contraintes temporelles. Les contraintes temporelles sont dues à la couche logicielle de virtualisation qui intervient et à l’existence d’autres machines virtuelles.

4/8/14   36  

Page 37: Virtualisation Enim 02042014

2. Critère d’efficacité : « The second characteristic of a virtual machine monitor is efficiency. It demands that a statistically dominant subset of the virtual processor’s instructions be executed directly by the real processor, with no software intervention by theVMM ».

Cette contrainte exige qu’une majorité des instructions du processeur virtuel soient directement exécutées par le processeur physique et ce, sans intervention du système de virtualisation. La virtualisation matérielle permet de mieux répondre à cette contrainte. Ce critère exclut les systèmes purement logiciels (simulations) ainsi que l’émulation. 3. Critère de contrôle des ressources :

« The VMM is said to have complete control of these resources if it is not possible for a program running under it in the created environment to access any resource not explicitly allocated and it is possible under certain circumstances for the VMM to regain control of resources already allocated ».

Ce critère impose au système de virtualisation d’avoir un contrôle total des ressources. Un programme virtualisé ne doit pas avoir la possibilité d’accéder à une ressource autrement qu’au travers du système de virtualisation et ce dernier se réserve le droit de reprendre le contrôle d’une ressource à n’importe quel moment. Le terme ressource se réfère à la mémoire et aux autres périphériques, pas uniquement au processeur.

Principes de la virtualisation: Vocabulaires

4/8/14   37  

Page 38: Virtualisation Enim 02042014

Principes de la virtualisation : Prérequis

•  Les prérequis énoncés par Popek et Goldberg sont un ensemble de conditions nécessaires assurant à une architecture matérielle de supporter efficacement le processus de virtualisation. Le problème est de déterminer les caractéristiques que doit posséder le jeu d’instructions d’un processeur afin de répondre de manière efficace aux contraintes évoquées ci-dessus. Le jeu d’instructions (Instruction Set Architecture, ISA) est l’ensemble des instructions qu’un processeur est en mesure d’exécuter. Pour énoncer leurs théorèmes, Popek et Goldberg ont classé les instructions de l’ISA en 3 groupes :

•  Les instructions privilégiées : pour les exécuter, le processeur doit être dans un mode particulier, le mode privilégié. Si le processeur ne se trouve pas dans cet état, une interruption est déclenchée et l’instruction est piégée (trapped). L’interruption consiste en un changement de contexte au cours duquel le système (que ce soit l’OS hôte ou l’hyperviseur) décide de la suite à donner à cette instruction.

•  Les instructions sensibles à la configuration : ce sont les instructions qui ont la possibilité d’interroger ou de modifier la configuration du système comme par exemple le mode du processeur ou la quantité de mémoire allouée à un processus particulier.

•  Les instructions sensibles au comportement : il s’agit des instructions dont le comportement ou le résultat va dépendre de l’état ou la disponibilité des ressources (si le processeur se trouve en mode privilégié ou non,...).

4/8/14   38  

Page 39: Virtualisation Enim 02042014

Principes de la virtualisation : Théorèmes

•  Les résultats de l’analyse de Popek et Golberg peuvent s’énoncer suivant 2 théorèmes : Théorème 1:

“For any conventional third generation computer, a VMM may be constructed if the set of sensitive instructions for that computer is a subset of the set of privileged instructions »

De manière intuitive, le théorème annonce que pour construire un hyperviseur pour une architecture particulière, il est nécessaire que les instructions qui pourraient compromettre le bon fonctionnement de cet hyperviseur (instructions sensibles à la configuration) soient piégées et que le contrôle soit donné à l’hyperviseur. Ceci garantit le critère de contrôle des ressources. Les instructions non privilégiées, quant à elles, doivent être exécutées sans intervention de l’hyperviseur afin de garantir le critère d’efficacité. Remarquons que si les instructions sensibles à la configurations ne font pas partie des instructions privilégiées, alors, en vertu du critère d’efficacité, elles seront exécutées sans intervention de l’hyperviseur et par conséquent, le critère de contrôle des ressources n’est pas respecté. Théorème 2

“A conventional third generation computer is recursively virtualizable if 1) it is virtualizable and 2) a VMM [...] can be constructed for it”.

Le second théorème porte sur la possibilité de faire de la virtualisation récursive, c’est à dire d’exécuter une ou plusieurs machines virtuelles au sein d’une machine virtuelle. Ce théorème annonce que ce processus est réalisable pour autant que l’architecture matérielle réponde au premier théorème et qu’un hyperviseur puisse être développé pour cette architecture.

4/8/14   39  

Page 40: Virtualisation Enim 02042014

Principes de la virtualisation : Composants d’un hyperviseur

L’hyperviseur, ou programme de contrôle, est un logiciel constitué d’un ensemble de modules. Les modules d’un hyperviseur peuvent être regroupés en trois catégories : 1. Le régulateur (dispatcher) : il peut être considéré comme le module de contrôle de plus haut niveau de l’hyperviseur. Son rôle est de donner le contrôle à un des modules de la deuxième ou de la troisième catégorie. 2. L’allocateur : son rôle est de déterminer quelle(s) ressource(s) doivent être allouées aux applications virtualisées. Il est également du ressort de l’allocateur de ne pas donner une même ressource simultanément à deux environnements virtuels distincts. Le régulateur fera appel à l’allocateur chaque fois qu’un environnement virtuel tentera d’exécuter une instruction privilégiée qui aurait comme répercussion de modifier les ressources allouées à cet environnement virtuel. 3. Des interpréteurs : à chacune des instructions privilégiées (à l’exception de celles qui sont prises en charge par l’allocateur), on va associer une routine d’interprétation. Le rôle de ces routines est de simuler le résultat des instructions privilégiées qui sont piégées.

4/8/14   40  

Page 41: Virtualisation Enim 02042014

Les problèmes liés à la virtualisation

•  Les problèmes actuels de la virtualisation sont principalement liés à l’omniprésence de l’architecture x86 au sein des ordinateurs. Bien que largement répandu, le jeu d’instructions qui la compose n’est pas exempt de défauts. Si cette architecture se prête mal à la virtualisation, c’est à cause de 18 instructions dites critiques.

•  Ces instructions critiques sont des instructions sensibles à la configuration mais qui ne font pas partie des instructions privilégiées. D’un point de vue pratique, les instructions d’un processeur sont réparties en plusieurs catégories (ou niveaux d’abstraction) appelées anneaux.

•  Un processeur qui implémente l’architecture x86 dispose de quatre anneaux où chaque anneau correspond à un certain niveau de privilèges. Si nous appelons D(i) le niveau de privilège accordé aux applications qui s’exécutent sur l’anneau i, nous pouvons définir la relation suivante sur les anneaux :

4/8/14   41  

Page 42: Virtualisation Enim 02042014

•  Les instructions critiques nécessitent en théorie de s’exécuter au niveau de privilège le plus élevé, c.-à -d. à l’anneau 0. Le problème de 18 de ces instructions critiques, listées dans l’annexe A, est qu’elles peuvent également s’exécuter aux anneaux 1, 2 et 3. Cela constitue un réel problème pour les logiciels de virtualisation. En effet, il ne faut en aucun cas qu’un système virtuel ait la possibilité de modifier les ressources physiques de la machine. Il est donc du ressort de l’hyperviseur d’intercepter ces instructions critiques de manière à simuler leur comportement.

•  Du point de vue des instructions privilégiées, aucun problème ne se pose : ces instructions vont être piégées (puisque le système virtuel est exécuté à l’anneau 3) et l’hyperviseur pourra les traiter. Mais pour ces 18 instructions critiques, la situation est plus complexe. Comme elles ne seront pas piégées (puisqu’elles ne nécessitent pas un niveau de privilège très élevé), l’hyperviseur doit être en mesure de les détecter de manière à pouvoir les interpréter. Il en résulte évidemment une surcharge de calcul importante ainsi qu’une grande complexité de l’hyperviseur.

•  D’autre part, les systèmes d’exploitation sont conçus pour être exécutés au niveau de privilèges 0, puisqu’ils sont sensés disposer d’un contrôle total des ressources. Or, lorsqu’ils sont virtualisés les systèmes d’exploitation ne sont plus exécutés sur l’anneau 0, mais sur l’anneau 3.

Les problèmes liés à la virtualisation

4/8/14   42  

Page 43: Virtualisation Enim 02042014

Les problèmes liés à la virtualisation

•  L’hyperviseur doit donc être en mesure de leurrer le système d’exploitation virtualisé afin que celui-ci ne se rende pas compte qu’il s’exécute avec un faible niveau de privilèges . Au-delà des problèmes liés à l’architecture du processeur, la virtualisation se heurte également à des problèmes d’adressage mémoire. En effet, le système virtualisé suppose qu’il a accès à toute la mémoire, ce qui est faux puisqu’il la partage avec d’autres environnements virtuels et avec l’hyperviseur. Celui-ci doit donc également s’assurer que chaque environnement virtuel n’accède pas à un espace d’adressage mémoire qui ne lui appartient pas et effectuer la traduction dynamique d’adresses virtuelles en adresses physiques.

•  Enfin, les dispositifs d’entrées/sorties constituent à l’heure actuelle un problème majeur dans la plupart des logiciels de virtualisation. S’il est plutôt facile d’ajouter des unités de calcul sur un serveur physique afin d’améliorer les performances des environnements virtuels, il n’est pas possible d’augmenter le débit d’accès aux disques par exemple.

•  De plus, contrairement au CPU, une grande partie des périphériques sont émulés, ce qui signifie que chaque instruction d’accès au pilote d’un périphérique virtuel doit être traduite en une instruction d’accès à un périphérique physique, ce qui fait lourdement chuter les performances.

4/8/14   43  

Page 44: Virtualisation Enim 02042014

Par+e  IV    

4/8/14   44  

Page 45: Virtualisation Enim 02042014

Les différents types de virtualisation

On distingue 3 types de virtualisation : •  La virtualisation complète

•  La para virtualisation

•  La virtualisation au niveau OS

4/8/14   45  

Page 46: Virtualisation Enim 02042014

Virtualisation matérielle

•  Introduite pour la première fois par IBM sur ses systèmes 370, la virtualisation matérielle est une approche de la virtualisation qui vise à améliorer les performances des environnements virtuels en faisant appel aux capacités matérielles des composants de la machine physique, et plus particulièrement du processeur. Ce chapitre mettra donc l’accent sur les technologies matérielles de virtualisation implémentées au sein des processeurs.

•  La nécessité de développer des solutions de virtualisation assistées par le processeur a fait son apparition avec la prolifération des systèmes à base d’architecture x86. Cette architecture se prête très mal à la virtualisation et celle-ci nécessite un travail considérable de la part de l’hyperviseur. A l’aide de la virtualisation matérielle, l’hyperviseur est en mesure de virtualiser correctement l’ensemble des instructions de l’architecture x86, y compris les 18 instructions critiques qui posent problème.

•  Les deux principaux fabricants de processeurs sur le marché, Intel et AMD, ont rapidement compris l’intérêt de ces solutions et, en 2006, ils ont chacun inaugurés une nouvelle gamme de processeurs incluant une technologie d’aide matérielle à la virtualisation. Cette technologie est connue sous le nom de Intel VT-x (anciennement Vanderpool) et AMD-V (anciennement Pacifia). Globalement, les technologies des deux concurrents sont semblables et nous ne les différencierons pas.

4/8/14   46  

Page 47: Virtualisation Enim 02042014

Virtualisation matérielle

•  D’un point de vue pratique, ces processeurs incluent un nouveau mode d’exécution appelé, Extension de Machine Virtuelle (Virtual Machine Extension, VMX). Puisque l’hyperviseur et l’environnement virtuel ne peuvent pas se trouver au même niveau de privilèges, ce nouveau mode d’exécution va ajouter cinq anneaux supplémentaires regroupés en deux niveaux. Le premier, appelé niveau racine correspond à un anneau qui se trouverait sous l’anneau 03 (le niveau racine a donc un contrôle absolu des ressources). Le second, appelé niveau normal, correspond aux quatre anciens anneaux (ils sont donc regroupés au sein d’un niveau de privilège unique). Puisque l’hyperviseur doit gérer la répartition des ressources, il s’exécute au niveau racine tandis que les environnements virtuels s’exécutent au niveau normal.

•  Pour entrer dans le mode d’exécution virtuel, le processus exécute une instruction particulière (VMXON chez Intel) et, symétriquement, pour quitter le mode virtuel, le processus exécute l’instruction inverse (VMXOFF chez Intel). Lorsque l’hyperviseur est lancé , il peut passer du mode racine au mode normal (et donc, donner le contrôle à un environnement virtuel à l’aide d’une autre instruction (appelée VMLAUNCH chez Intel) et, symétriquement, l’hyperviseur reprendra le contrôle et passera au niveau racine au moyen de l’instruction inverse (VMRESUME chez Intel).

4/8/14   47  

Page 48: Virtualisation Enim 02042014

•  Les technologies de virtualisation matérielle d’Intel et AMD implémentent également des instructions qui permettent d’accélérer les sauvegardes et restaurations de contexte. En effet, lorsqu’un hyperviseur veut donner le contrôle à un autre environnement virtuel, il doit d’une part sauvegarder le contexte d’exécution de l’environnement virtuel actuellement actif et, d’autre part, restaurer le contexte d’exécution de l’environnement virtuel à qui il s’apprête à donner le contrôle .

•  Ainsi, à chaque environnement virtuel est associé un segment en mémoire de quelques KBytes qui contient les données importantes du contexte d’exécution de cet environnement. Il est lu à chaque activation d’un environnement virtuel et réécrit à chaque sortie de celui-ci. Chez AMD, ce segment s’appelle Bloc de Contrôle de la Machine Virtuelle (Virtual Machine Control Block, VMCB) ; chez Intel, ce segment s’appelle Structure de Contrôle de la Machine Virtuelle, (Virtual Machine Control Structure, VMCS).

Virtualisation matérielle

4/8/14   48  

Page 49: Virtualisation Enim 02042014

Virtualisation matérielle

4/8/14   49  

Page 50: Virtualisation Enim 02042014

Virtualisation complète (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.

•  Exemples: •  VirtualBox •  VMWare Server, VMWare Workstation •  MS VirtualPC, Virtual Server (arrêté)

4/8/14   50  

Page 51: Virtualisation Enim 02042014

virtualisation complète (hyperviseur type 1)  

•  Egalement connue sous le nom de machine virtuelle, cette stratégie de virtualisation consiste à créer des environnements virtuels qui sont une copie d’une machine physique (mémoire, disques,...). Les machines virtuelles se basent sur deux principes :

1. la traduction binaire des instructions que le noyau du système virtualisé souhaite exécuter; 2. l’exécution directe des instructions relatives aux applications utilisateurs.

•  La traduction binaire ne consiste pas à traduire les instructions d’un jeu d’instructions particulier vers un autre (p. ex. x86 ! RISC), mais plutôt de traduire les instructions d’un jeu d’instructions vers ce même jeu d’instructions (p. ex. x86 ! x86). Le code traduit est placé dans le cache de traduction. La traduction binaire d’une instruction issue d’un environnement virtuel pourrait par exemple consister à remplacer une instruction de manipulation du matériel physique en une instruction de manipulation du matériel virtuel associé à cet environnement, ou à remplacer une instruction privilégiée par une instruction non privilégiée (de manière à ce qu’elle soit piégée par l’OS hôte). La traduction binaire repose donc sur un travail d’analyse des instructions exécutées par le noyau du système invité. Cette traduction peut s’avérer indispensable pour assurer le maintien de la stabilité du système dans sa globalité.

4/8/14   51  

Page 52: Virtualisation Enim 02042014

•  Les instructions utilisateurs sont quant à elles exécutées directement car l’hyperviseur fait la supposition qu’elles ne sont pas dangereuses pour le système. Elle s’exécutent donc comme s’il n’existait aucune couche de virtualisation.

Avantages :

•  permet de faire fonctionner plusieurs systèmes différents sur la même machine physique ;

•  bonnes performances et stabilité.

Inconvénients : •  consommation importantes des ressources (la consommation est fonction du nombre

de machines virtuelles). Exemples : Microsoft Virtual PC, Microsoft Virtual Server, VirtualBox, VMware Workstation.

•  Selon VMware, la virtualisation complète est actuellement la stratégie de virtualisation la plus largement répandue et la plus fiable.

Virtualisation complète (hyperviseur type 1)  

4/8/14   52  

Page 53: Virtualisation Enim 02042014

Virtualisation assistée par matériel (Hyperviseur type 1)  

•  Il s'agit toujours d'un système de virtualisation complète 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.

•  Les logiciels cités au paragraphe précédent sont aujourd'hui capable de faire de la virtualisation assistée par matériel

4/8/14   53  

Page 54: Virtualisation Enim 02042014

Para-virtualisation (Hyperviseur 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 para-virtualisation: •  VMWare ESX •  Hyper-V •  Oracle VM •  Xen •  KVM

4/8/14   54  

Page 55: Virtualisation Enim 02042014

•  La para-virtualisation consiste pour le système d’exploitation virtualisé à communiquer plus efficacement avec l’hyperviseur de manière à accroître les performances du système.

•  La para-virtualisation implique une modification du noyau du système d’exploitation virtualisé afin de remplacer les instructions non virtualisables par des hyper-appels (hypercalls) qui vont communiquer directement avec la couche virtuelle de l’hyperviseur.

•  L’hyperviseur fournit également un ensemble d’interfaces d’hyper-appels pour d’autres opérations critiques du noyau telles que les opérations de gestion de la mémoire, des interruptions,...

•  La para-virtualisation est différente de la virtualisation complète où le système virtualisé n’est pas conscient de son état et les instructions critiques sont piégées et traduites. Le principal atout de la para-virtualisation réside dans ses faibles coûts de virtualisation, mais ses performances par rapport à la virtualisation complète dépendent fortement de la charge de travail de la machine physique.

Para-virtualisation (Hyperviseur type 2)  

4/8/14   55  

Page 56: Virtualisation Enim 02042014

•  Puisque la para-virtualisation ne supporte pas les systèmes non modifiés (et, par conséquent, les systèmes propriétaires tels que Microsoft Windows), sa portabilité et sa compatibilité sont réduites. La para-virtualisation introduit également des problèmes de maintenance et de support au sein d’environnements de développement puisqu’elle nécessite des modifications du noyau du système.

Avantages :

•  performances accrues et stabilité. Inconvénients :

•  Nécessite une adaptation du noyau des systèmes invités ; •  Usage limité aux systèmes libres (conséquence du point précédent)..

Para-virtualisation (Hyperviseur type 2)  

4/8/14   56  

Page 57: Virtualisation Enim 02042014

Virtualisation d'environnement (ou 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.

•  Au niveau de l'environnement, on utilise des logiciels comme : •  Jail BSD •  OpenVZ •  Chroot

•  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

4/8/14   57  

Page 58: Virtualisation Enim 02042014

•  La virtualisation au niveau du système d’exploitation est une stratégie qui consiste à réaliser le processus de virtualisation au niveau du noyau du système hôte (ce modèle ne fait donc pas intervenir de couche virtuelle supplémentaire). Cette forme de virtualisation consiste à créer des environnements virtuels (appelés conteneurs) qui vont chacun dupliquer certains composants du système d’exploitation hôte. Les capacités de virtualisation font dés lors partie intégrante du système hôte et non plus de l’hyperviseur. La principale contrainte de ce modèle de virtualisation réside dans le fait que les systèmes invités doivent impérativement être du même type que le système hôte.

•  Dans le modèle des machines virtuelles, chaque système virtualisé communique avec le matériel au travers d’une couche de virtualisation. Plus le nombre de machines virtuelles est important et plus le système est ralentit (il faut en effet traduire un grand nombre d’opérations virtuelles). Par contre, la virtualisation au niveau du système d’exploitation autorise les environnements virtuels à communiquer directement avec le système d’exploitation hôte, comme s’il n’existait aucune couche de virtualisation, ce qui améliore les performances. Comme les partitions de virtualisation au niveau du système d’exploitation sont généralement bien plus petites que les partitions des machines virtuelles, il est possible d’exécuter un grand nombre d’environnements virtuels en parallèle.

4/8/14   58  

Virtualisation d'environnement (ou processus )

Page 59: Virtualisation Enim 02042014

Avantages : •  permet de faire fonctionner plusieurs instances du même système de façon étanche. •  performances proches du mode natif.

Inconvénients : •  ne permet de faire fonctionner qu’un seul type de système.

4/8/14   59  

Virtualisation d'environnement (ou processus )

Page 60: Virtualisation Enim 02042014

Par+e  V    

4/8/14   60  

Page 61: Virtualisation Enim 02042014

•  Au cours des dernières années, la virtualisation semble s’être imposée comme un élément incontournable au sein des entreprises et ce sont principalement les serveurs qui sont au centre de toutes les attentions. La virtualisation présente les avantages suivants :

1.  Une optimisation de l’infrastructure. La virtualisation permet d’optimiser la charge de travail des serveurs physiques. En effet, il y a quelques années, la relation une application-un serveur était encore largement répandue. Cependant, comme le montre le schéma, cette relation introduit un gaspillage important des ressources puisqu’on estime que la charge moyenne d’un serveur se situe entre 5% et 15% [4].

Avantages de la virtualisation

4/8/14   61  

Page 62: Virtualisation Enim 02042014

L’idée et alors de récupérer ces ressources disponibles afin d’en faire bénéficier d’autres applications. La virtualisation va apporter une solution efficace: plutôt que de faire tourner une seule application sur le serveur physique, on va installer sur celui-ci plusieurs serveurs virtuels exécutant chacun une application bien précise, et c’est le logiciel de virtualisation qui se charge de répartir équitablement les ressources entre les différentes instances. De cette manière, comme le montre le schéma 5, on optimise le rendement de chacun des serveurs physiques.

Avantages de la virtualisation

4/8/14   62  

Page 63: Virtualisation Enim 02042014

2.  Une réduction de l’infrastructure physique et des économies d’énergies. Les centres de données sont d’importants consommateurs de ressources. VMware affirme qu’un serveur au repos consomme jusqu’`a 30% du pic de consommation électrique et selon Intel, 36,4% de l’énergie est utilisée par les composants physiques des serveurs (processeurs, mémoire,...) tandis que les 63,6% restants sont consommés par les équipements de climatisation. Ces chiffres sont interpelant et la virtualisation de l’infrastructure d’une entreprise doit devenir un de ses projets prioritaires. Puisque plusieurs applications peuvent à présent cohabiter de manière efficace sur un même système, les entreprises vont pouvoir réduire le nombre de machines de leur centre de données en investissant à nouveau dans d’importants mainframes avec lesquels réapparaît le modèle de centralisation de la puissance de calcul. Par conséquent, les entreprises font des économies en terme d’espace mais aussi en terme de frais de ventilation et d’alimentation. La réduction des coûts d’alimentation et de refroidissement s’inscrit également dans une tendance générale à la promotion du respect de l’environnement. Selon Gartner, une entreprise américaine de conseil et de recherche dans le domaine des techniques avancées, l’industrie informatique serait responsable de 2% des émissions mondiales de CO2. La virtualisation aurait permis d’économiser 5 milliards de kWh d’énergie électrique (source :VMware).

Avantages de la virtualisation

4/8/14   63  

Page 64: Virtualisation Enim 02042014

3.  Une reprise automatique lors des incidents. La virtualisation permet d’améliorer la prévention et la gestion des pannes ainsi que le plan de reprise de l’activité du système. En effet , les équipements virtuels étant constitués d’un ensemble de fichiers, il est très simple de les sauvegarder. Si un problème survient sur une machine physique, les fichiers qui ont été sauvegardés auparavant pourront rapidement être restaurés sur une autre machine physique, en attendant que la machine virtuelle initiale soit redémarrée.

4.  Une optimisation de la sécurité des données. Par la centralisation des ressources applicatives au sein du centre de données, la virtualisation contribue à sécuriser l’accès et l’usage des données de l’entreprise. Il est en effet beaucoup plus simple de contrôler l’accès aux données lorsqu’elles sont regroupées en un lieu que lorsqu’elles sont réparties sur l’ensemble des sites de l’entreprise, comme c’est le cas dans un modèle d’informatique distribué. Il est néanmoins indispensable de disposer d’un système de synchronisation qui permettra de sauvegarder l’ensemble des informations sur un site extérieur. De cette manière, on limite les risques liés à la destruction du centre de donnée initial.

Avantages de la virtualisation

4/8/14   64  

Page 65: Virtualisation Enim 02042014

5.  Une facilité de migration. La virtualisation apporte la possibilité de migrer facilement un environnement virtuel d’une machine physique vers une autre, facilitant ainsi la mise à jour du centre de donnée ou le remplacement de matériel défectueux. De nombreux outils d’aide à la migration ont été développés . Ils peuvent être regroupés en 3 grandes catégories : P2V (Physical toVirtual), V2P (Virtual to Physical) et V2V (Virtual to Virtual). Les outils P2V sont généralement utilisés dans les projets de virtualisation d’une infrastructure informatique. Ils consistent à convertir les serveurs physiques en serveurs virtuels. Les outils V2P, qui permettent de convertir des serveurs virtuels en serveurs physiques, sont peu demandés mais une telle fonctionnalité rassure les entreprises qui souhaitent utiliser de la virtualisation ; elle leur permet, si elles le désirent, de faire marche arrière. Enfin, les outils V2V, qui permettent de convertir des serveurs virtuels d’un format dans un autre, sont principalement utilisés au sein d’entreprises qui utilisent des gestionnaires de systèmes virtuels différents

6.  Flexibilité et compatibilité. La virtualisation est un outil efficace en terme de flexibilité et de compatibilité En effet, elle supprime toute dépendance entre une application donnée et l’aspect matériel de la machine sur laquelle elle est exécutée. Il devient alors possible d’exécuter sur un système une application qui a été développé à destination d’un autre système.

Avantages de la virtualisation

4/8/14   65  

Page 66: Virtualisation Enim 02042014

7.  Un cloisonnement. Le développement d’une application s’accompagne nécessairement de phases de tests au cours desquelles le programmeur s’assure du bon fonctionnement et de la stabilité de son logiciel. Néanmoins, il est parfois risqué d’exécuter une application lorsque l’on n’est pas certain du résultat qui sera produit. Pour réduire les risques liés à des applications peu fiables, la virtualisation peut être utilisée pour créer des environnements isolés et sécurisés qui vont servir de plateformes d’essai. Il devient dés lors possible d’itérer un grand nombre de fois un processus de test sans craindre de déstabiliser la machine physique sur laquelle s’exécute l’application.

Avantages de la virtualisation

4/8/14   66  

Page 67: Virtualisation Enim 02042014

1.  Un point de défaillance unique (SPOF) Il s’agit probablement du plus gros désavantage de la virtualisation. Puisque plusieurs environnements virtuels s’exécutent sur une unique machine physique, si cette machine tombe en panne, alors les services fournis par les environnements virtuels sont interrompus.

2.  Un recours à des machines puissantes. La virtualisation permet de réaliser des économies puisque moins de machines physiques sont nécessaires. Néanmoins, les outils de virtualisations sont des applications très gourmandes en ressources et nécessitent des machines puissantes. Il est évidemment possible d’utiliser la virtualisation sur des machines plus modestes, mais un manque de mémoire ou de capacité CPU peut faire chuter les performances de manière dramatique.

3.  Une dégradation des performances. Bien qu’elle soit implémentée sur des machines puissantes, la virtualisation peut réduire les performances des applications. Suivant le type de virtualisation envisagé, cette perte de performances peut ou non être significative. Ce problème est d’autant plus embarrassant qu’il est difficile d’estimer à l’avance l’impact qu’aura la virtualisation sur une application donnée. Dans certains cas, la dégradation des performances est telle qu’il est préférable de conserver l’application dans un environnement physique.

Inconvénients de la virtualisation

4/8/14   67  

Page 68: Virtualisation Enim 02042014

4.  Une complexité accrue de l’analyse d’erreurs. La virtualisation d’un serveur implique des changements importants dans l’infrastructure du système. La couche de virtualisation vient s’ajouter aux autres et apporte potentiellement avec elle un ensemble de nouveaux problèmes. La difficulté de cette couche additionnelle réside dans le fait que, si quelque chose ne fonctionne pas correctement, la localisation du problème peut demander des efforts considérables.

5.  Une impossibilité de virtualisation. Bien que, dans la plupart des cas, il n’est pas possible de prédire si une application se comportera normalement une fois virtualisée, il existe des applications qui sont connues pour rencontrer des difficultés lors de leur virtualisation. Les bases de données sont un exemple de telles applications. En effet, les bases de données ont recours à de nombreux accès disques et le délai d’accès supplémentaire introduit par la virtualisation peut dans certain cas rendre l’application inutilisable.

6.  Un déploiement massif de serveurs. Il ne s’agit pas réellement d’un désavantage de la virtualisation en tant que tel, mais d’un désavantage de la facilité de mise en place d’un nouvel environnement virtuel. En effet, certains administrateurs estiment qu’il est plus sécurisant de déployer un serveur dans un nouvel environnement virtuel, isolé des autres, plutôt qu’au sein d’un système d’exploitation qui exécute simultanément d’autres applications. Cependant, l’administration et les coûts d’une telle opération ajoutent une charge supplémentaire qu’il est difficile d’estimer `a l’avance.

7.  Un problème de standardisation. La virtualisation est une technologie largement répandue mais elle ne fait l’objet d’aucun protocole de normalisation. Il n’existe par conséquent aucun outil standard aux différentes formes de virtualisation.

Inconvénients de la virtualisation

4/8/14   68  

Page 69: Virtualisation Enim 02042014

4/8/14   69  

Page 70: Virtualisation Enim 02042014

4/8/14   70  

Page 71: Virtualisation Enim 02042014

4/8/14   71  

Page 72: Virtualisation Enim 02042014

4/8/14   72  

Page 73: Virtualisation Enim 02042014

4/8/14   73  

Page 74: Virtualisation Enim 02042014

4/8/14   74  

Page 75: Virtualisation Enim 02042014

4/8/14   75  

Page 76: Virtualisation Enim 02042014

4/8/14   76  

Page 77: Virtualisation Enim 02042014

4/8/14   77  

Page 78: Virtualisation Enim 02042014

Par+e  VI    

4/8/14   78  

Page 79: Virtualisation Enim 02042014

4/8/14   79  

Page 80: Virtualisation Enim 02042014

4/8/14   80  

Page 81: Virtualisation Enim 02042014

4/8/14   81  

Page 82: Virtualisation Enim 02042014

4/8/14   82  

Page 83: Virtualisation Enim 02042014

4/8/14   83  

Page 84: Virtualisation Enim 02042014

4/8/14   84  

Page 85: Virtualisation Enim 02042014

4/8/14   85  

Page 86: Virtualisation Enim 02042014

4/8/14   86  

Page 87: Virtualisation Enim 02042014

4/8/14   87  

Page 88: Virtualisation Enim 02042014

4/8/14   88  

Les solutions

Page 89: Virtualisation Enim 02042014

4/8/14   89  

Page 90: Virtualisation Enim 02042014

4/8/14   90  

Page 91: Virtualisation Enim 02042014

4/8/14   91  

Page 92: Virtualisation Enim 02042014

4/8/14   92  

Page 93: Virtualisation Enim 02042014

4/8/14   93  

Page 94: Virtualisation Enim 02042014

4/8/14   94  

Page 95: Virtualisation Enim 02042014

4/8/14   95  

Page 96: Virtualisation Enim 02042014

4/8/14   96  

Page 97: Virtualisation Enim 02042014

4/8/14   97  

Page 98: Virtualisation Enim 02042014

4/8/14   98  

Page 99: Virtualisation Enim 02042014

4/8/14   99  

Page 100: Virtualisation Enim 02042014

4/8/14   100  

Page 101: Virtualisation Enim 02042014

4/8/14   101  

Page 102: Virtualisation Enim 02042014

4/8/14   102  

Page 103: Virtualisation Enim 02042014

4/8/14   103  

Page 104: Virtualisation Enim 02042014

4/8/14   104  

Page 105: Virtualisation Enim 02042014

4/8/14   105  

Page 106: Virtualisation Enim 02042014

4/8/14   106  

Page 107: Virtualisation Enim 02042014

4/8/14   107  

Page 108: Virtualisation Enim 02042014

4/8/14   108  

Page 109: Virtualisation Enim 02042014

4/8/14   109  

Page 110: Virtualisation Enim 02042014

4/8/14   110  

Page 111: Virtualisation Enim 02042014

4/8/14   111  

Page 112: Virtualisation Enim 02042014

4/8/14   112  

Page 113: Virtualisation Enim 02042014

4/8/14   113  

Page 114: Virtualisation Enim 02042014

4/8/14   114  

Page 115: Virtualisation Enim 02042014

4/8/14   115  

Page 116: Virtualisation Enim 02042014

Conclusion

•  Nous avons vu que la virtualisation est une technologie aujourd’hui largement répandue au sein des entreprises. Elle peut prendre de nombreuses formes et est présente à tous les niveaux. Bien que ces solutions présentent un certain nombre d’inconvénients, les avantages qu’elles apportent peuvent s’avérer déterminants dans la politique d’acquisition, de structuration et de gestion des ressources informatiques.

•  Aujourd’hui, même s’il existe beaucoup de logiciels de virtualisation, ceux-ci peuvent être regroupés en trois grandes classes : la virtualisation complète, la para-virtualisation et la virtualisation au niveau du système d’exploitation.

•  Pour terminer, quel est l’avenir de la virtualisation ? L’avenir de la virtualisation dépend d’un grand nombre de facteurs. Tout d’abord, il est nécessaire de reconsidérer notre vision de la technologie afin de profiter pleinement des avantages liés à la virtualisation. L’informatique est une science en constante évolution et il est impératif de remettre en question un grand nombre de principes qui sont aujourd’hui largement répandus. Intel et AMD, bien qu’ils soient sur la bonne voie, ont encore des efforts à faire pour améliorer le support matériel de la virtualisation incluse dans leur processeurs, de manière à supporter plus efficacement les différentes technologies présentes sur le marché. Les constructeurs de périphériques d’entrées/sorties doivent établir de nouvelles formes pour permettre une simplification des interactions entre les environnements virtuels et les fichiers. Enfin, les développeurs sont tenus de standardiser les différentes technologies de virtualisation utilisées à l’heure actuelle afin de garantir des solutions plus accessibles dans le futur.

4/8/14   116  

Page 117: Virtualisation Enim 02042014

Les 18 instructions problématiques de x86

•  SGDT •  SIDT •  SLDT •  SMSW •  PUSHF •  POPF •  LAR •  LSL •  VERR •  VERW •  POP •  PUSH •  CALL •  JMP •  INT n •  RET •  STR •  MOVE

ANNEXE –A-

4/8/14   117  

Page 118: Virtualisation Enim 02042014

4/8/14   118  

Page 119: Virtualisation Enim 02042014

4/8/14   119  

Page 120: Virtualisation Enim 02042014

Webographie/Bibliographie

Ouvrages  (suite)    Server  Virtualiza8on  :  Covrering  today’s  Server  Virtualiza8on  topics.  searchservervirtualiza8on.techtarget.com/.  AllExperts.  Serveurs  et  Stockage.  www.zdnet.fr/actualites/it-­‐management/0,  3800005311,39711925,00.htm.  AnandTech.  Hardware  Virtualiza8on  :  the  Nuts  and  Bolts.  www.anandtech.com/IT/  showdoc.aspx?i=3263&p=1.  Arumtec.  Pourquoi  virtualiser  est  GREEN.  www.arumtec.net/fr/  laboratoire-­‐arumtec/faq/q5-­‐pourquoi-­‐virtualiser-­‐est-­‐green.  AMD  Company.  AMD  Nested  Paging.  Juillet  2008.  Alain  Devarieux.  Virtualisa8on  de  serveurs,  Solu8ons  Open  Source.  Gagnaire  Laure  et  Lahoudere  Fabien.  La  virtualisa8on.  D´ecembre  2007.  Bernard  Golden.  Virtualiza8on  for  Dummies.  Cynthia  E.  Irvine  John  Scoc  Robin.  Analysis  of  the  Intel  Pen8um’s  Ability  to  Support  a  Secure  Virtual  Machine  Monitor.  Août  2000.  Najmi.  Genera8ons  of  Computer.  Aoˆ  ut  2004.  Popek  and  Goldberg.  Formal  Requirements  for  Virtualizable  Third  Genera8on  Architectures.  Juillet  1974.  Inc.  Red  Hat.  Virtualiza8on  Guide  :  Red  Hat  Virtualiza8on.  2007.  Hardware  Secrets.  IntelVirtualiza8on  Technology  (VT)  Explained.  www.hardwaresecrets.  com/ar8cle/263/1.  Amit  Singh.  An  introduc8on  to  virtualiza8on.  www.kernelthread.com/publica8ons/  virtualiza8on/,  Janvier  2004.  Genesis  Mul8media  Solu8ons.  Virtualiza8on  Technologies.  Juin  2009.    Pascal  Verschaeve.  Trasys  -­‐  Service  Presenta8on  -­‐  Virtualiza8on  Service  O  erings.  Virtualiza8ondefrag.  The  Rise  of  Virtual  Systems  and  Virtualiza8on.  virtualiza8ondefrag.com/ar8cles/history-­‐of-­‐virtualiza8on/index.php,  2009.  VMware.  Understanding  Full  Virtualiza8on,  Paravirtualiza8on,  and  Hardware  Assist.  2007.  VMware.  Historique  de  la  virtualisa8on.  www.vmware.com/fr/overview/history.html,  2008.  ZDnet.  Serveurs  et  Stockage.  www.zdnet.fr/actualites/it-­‐management/0,  3800005311,39711925,00.htm.  

4/8/14   120