la virtualisation avec étude de cas 2 SOMMAIRE Terminologie....................

la virtualisation avec étude de cas 2 SOMMAIRE Terminologie......................................................................................................................................4 Introduction générale .........................................................................................................................6 1. Principe de la virtualisation........................................................................................................7 1.1. Introduction à la virtualisation ............................................................................................7 1.2. Historique ............................................................................................................................7 1.3. Pourquoi virtualiser? ...........................................................................................................8 1.3.1. La sécurité ....................................................................................................................8 1.3.2. Le coût..........................................................................................................................9 1.3.3. Criticité et performances ..............................................................................................9 1.3.4. Conclusion..................................................................................................................10 1.4. Les solutions techniques....................................................................................................11 1.4.1. Introduction ................................................................................................................11 1.4.2. La virtualisation au niveau du système d’exploitation...............................................12 1.4.3. La virtualisation totale................................................................................................13 1.4.4. La virtualisation matérielle assistée ...........................................................................14 1.4.5. La paravirtualisation...................................................................................................16 1.4.6. La virtualisation hybride ............................................................................................17 1.4.7. Arbre résumé et conclusion........................................................................................17 1.5. Les solutions commerciales...............................................................................................18 1.5.1. Les solutions propriétaires.............................................................................................18 1.5.2. Les solutions libres ........................................................................................................19 2. Pré requis à la compréhension de Xen .....................................................................................20 2.1. La notion d’anneau............................................................................................................20 2.1.1. Introduction ................................................................................................................20 2.1.2. Exemples ....................................................................................................................20 2.1.3. Application à la virtualisation ....................................................................................21 2.2. Les problèmes liés à l’architecture x86 et des solutions ...................................................22 2.3. Gestion de la mémoire.......................................................................................................23 2.3.1. Définition et intérêt de la pagination..........................................................................23 2.3.2. La segmentation.........................................................................................................25 2.3.3. Conclusion.................................................................................................................26 3 3. Présentation de Xen..................................................................................................................27 3.1. Introduction .......................................................................................................................27 3.2. Les interactions entre l’hyperviseur, les applications, et le système d’exploitation .........27 3.3. Les domaines.....................................................................................................................29 3.3.1. Domaine privilégié.....................................................................................................30 3.3.2. Domaines non-privilégiés...........................................................................................31 3.3.3. Domaines matériels assistés .......................................................................................31 4. L’architecture de Xen en paravirtualisation .............................................................................33 4.1. La gestion des informations système....................................................................................33 4.2 . La communication inter domaines ...................................................................................35 4.3. La gestion du temps ..............................................................................................................37 4.4. La gestion de la mémoire......................................................................................................38 4.4.1. Modèle de gestion de mémoire en para-virtualisation...................................................38 4.4.2. Mise à jour de la table des pages ...................................................................................40 4.4.3. La création d’un DomU : l’aspect mémoire ..................................................................40 4.4.4. Les gestions des fautes de pages....................................................................................41 4.5. La gestion de l'ordonnancement ...........................................................................................41 4.6. Le réseau sous Xen ...............................................................................................................44 Conclusion générale.........................................................................................................................45 Travaux cites....................................................................................................................................46 4 Terminologie BSD Berkeley Software Distribution Control sensitive instructions Instruction processeur altérant la configuration du matériel physique Domaine de virtualisation Appellation dans le cadre du projet Xen des systèmes d'exploitation invités Emulation Imitation du comportement physique d’un matériel par un logiciel GDT Global Descripton Table Hot Spare Serveur toujours sous tension servant à prendre le relai instantanément lorsque le serveur principal devient indisponible HVM Hardware Virtual Machine, machine virtualisée matériel assisté LDT Local Description Table Network Attached Storage Périphérique de stockage relié à un réseau NUMA Non Uniform Memory Access MMU Memory Management Unit MV Machine Virtuelle Open Source Dit d'un logiciel donc le code source est accessible et dont les modifications sont autorisées Popek et Goldberg Formal Requirements for Virtualizable Third Generation Architectures » publié dans Communications of the ACM Privileged instructions Instructions permettant d’accéder directement à des informations stockées dans des périphériques système ou de modifier la configuration du matériel RAM Random Access Memory Registre Emplacement mémoire interne au processeur Storage Area Network Réseau permettant de mutualiser des ressources de stockage par le biais des périphériques de stockages adressable par réseau par le biais de protocoles tels que le iSCSI 5 Système hôte Système d’exploitation non virtualisé qui dispose des outils permettant d’exécuter les systèmes d’exploitation invites System/360 Serveur d’applications lourdes (transaction financières, logiciels de gestion d’entreprise). Virtualisation récursive Principe par le biais duquel un système d’exploitation invité peut à son tour virtualiser d’autres systèmes d’exploitation. zSeries Dernière génération des mainframes d’IBM 6 Introduction générale Nous avons établi ce rapport dans le cadre d'une acquisition de connaissances encadré par le département des Systèmes d'Informations et de Télécommunications de l'Université de technologie de Troyes et plus particulièrement par Guillaume Doyen et Florent Retraint. Ce rapport qui a été rédigé tout au long du semestre d'automne 2008 traite de la virtualisation ainsi que du projet Xen. La virtualisation est un sujet d'actualité pour les acteurs de l'industrie des systèmes d'informations. Etant donnée notre entrée imminente sur le marché de travail, acquérir des connaissances dans ce domaine constitue une valeur ajoutée à notre formation. La virtualisation est applicable dans de multiples domaines des systèmes d'information. Cependant, nous ne traiterons ici uniquement de la virtualisation de systèmes d'exploitation. Dans le cadre de la première partie, nous effectuerons un tour d'horizon de la virtualisation. Nous détaillerons les avantages ainsi que les techniques existantes. Ensuite, nous clarifierons certaines notions relatives aux systèmes d'exploitation. Ces notions nous permettrons d'abord l'étude du projet Xen. Nous détaillerons la gestion mémoire, la gestion des informations du système ainsi que la gestion du temps de calcul. Afin d'effectuer une étude approfondie d'une technologie en informatique, les solutions libres sont le compromis idéal entre technicité et accessibilité de l'information. Actuellement, un des projets libres les plus soutenus par les grands acteurs des systèmes d'information est le projet Xen. C'est pourquoi il constituait un support idéal pour notre étude. 7 1. Principe de la virtualisation 1.1. Introduction à la virtualisation La virtualisation est une technique informatique consistant à faire fonctionner plusieurs environnements logiques indépendants séparément sur une même machine. Il s’agit d’une extension du principe d’émulation. L'émulation consiste à substituer un ou plusieurs éléments informatiques par une application. Appliquée à la virtualisation, un système prétend être plusieurs systèmes différents. La virtualisation fait appel au multiplexage des systèmes d’exploitation comme on le trouve au niveau des processus. Différents processus cohabitent indépendamment tout en se partageant les ressources physiques de la machine. Un processus ne peut pas monopoliser toutes les ressources de calcul puisque dans ce cas là le système d’exploitation reprendra le contrôle pour allouer des ressources à d’autres processus. Au niveau des ressources de stockage, chaque processus a son espace virtuel d’adresse en mémoire lui donnant l’impression qu’il est seul à utiliser la mémoire vive. 1.2. Historique Historiquement une grande partie des travaux de recherche ont été fait par IBM dans les années 1960 au centre de recherche de Grenoble aujourd’hui fermé. Ils développèrent un système expérimental faisant partie du projet System/360appelé VM/CMS (Virtual Machine / Conversation Monitor System). CMS est le système d’utilisation qui s’appuie sur VM. Une caractéristique de ce premier système de virtualisation était le fait que chaque CMS était attribué à un seul utilisateur, sachant que plusieurs CMS fonctionnaient sur la VM. Nous pouvons faire une analogie par rapport à la terminologie actuelle entre VM et hyperviseur ainsi qu’entre CMS et environnement logiciel invité. Le System/360 était déjà capable de gérer de la virtualisation récursive. La finalité de ce produit d’IBM était de pouvoir consolider les postes de travail liés. La dernière implémentation par IBM de VM est z/VM qui fonctionnait sur les zSeries. Figure 1: System/360 de IBM 8 Entre la fin des années 80 et le milieu des années 90 Commodore International commercialise l’Amiga qui est ordinateur personnel très populaire à l’époque. Il était aussi bien capable de lancer de lancer des pc X386, des Macintoshs 6800 et des solutions X11 en multitâches. Suite à l’Amiga on trouve des systèmes Unix basés sur l’architecture NUMA, qui est une architecture mémoire de systèmes multiprocesseurs. Cette architecture consiste à cloisonner et partitionner la mémoire, les accès se faisant via de multiples bus, un par processeur. En 1999 VMware proposa un système propriétaire de virtualisation de systèmes x86 à base de systèmes hôtes x86. D’autres projets libres ont suivi VMware, tels que QEMU, Xen, Bochs, kvm, VirtualBox ainsi que des logiciels gratuits mais propriétaires tels que VirtualPC, VMware Server, Virtual Server. Dans les années 2000 afin d’améliorer les capacités des solutions de virtualisation. Enfin dans l’année 2000 les fabricants de processeurs Intel et AMD ont implémenté des fonctions de virtualisation dans leurs processeurs permettant la prise en charge de systèmes d’exploitation non modifiés plus efficacement. 1.3. Pourquoi virtualiser? A l’époque où les ordinateurs n’étaient capables de ne faire exécuter qu’un seul processus en même temps, l’intérêt de se diriger vers un système supportant la gestion multiprocessus était de pouvoir optimiser les ressources de calcul. La virtualisation va plus loin encore, nous allons voir ici les différents intérêts qu’elle porte. Nous allons voir au cours de cette partie différents avantages que la virtualisation peut apporter. Nous aborderons différents points tels que la sécurité, le cout, ainsi que les performances. 1.3.1. La sécurité La virtualisation va permettre une isolation des différents environnements logiciels au niveau des ressources physiques. La communication entre les différentes machines virtuelles sera uniquement possible via des connexions réseau de manière identique à la communication entre deux machines physiques. L'isolation est telle que la compromission d’un système invité par du code malicieux ne pourra pas se propager à d’autres systèmes invités. Il sera donc tout à fait possible d'isoler chaque service sans devoir acheter un nouveau serveur à chaque fois. 9 Un problème de sécurité pourrait apparaitre si un système invité avait la possibilité de lire les données mémoire ou disque d'un autre système invité. De la même façon, si deux applications de deux systèmes invités tentent d'accéder à une même ressource physique, il se produira une interférence. Avec un système de virtualisation, il sera possible de gérer les accès aux ressources physique de manière à éviter les conflits. Ceci pourra se faire soit par l'allocation de temps d'accès soit par l'allocation exclusive. Une autre application très intéressante pour les professionnels et les chercheurs en sécurité est l'observation de logiciels malveillants à travers de systèmes d'exploitation invités surveillés. Ce type d'utilisation permettra de suivre l'évolution de l'infection d'un système. En outre, il sera uploads/Management/ la-virtualisation-avec-etude-de-cas 1 .pdf

  • 35
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jul 08, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 3.1348MB