Etude de la virtualisation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Etude de la virtualisation - Presentation Transcript

    1. AC - Virtualisation Semestre Automne 2008 Antoine Benkemoun Romain Hinfray
    2. Introduction   Cadre du projet   Choix de Xen   Quatre parties   Tour d’horizon de la virtualisation   Pré-requis à la compréhension de Xen   Présentation de Xen   Architecture de Xen
    3. Sommaire 1ère partie   1 Tour d’horizon   Historique   Pourquoi virtualiser ?   Solutions techniques   Solutions commerciales   II Pré-requis à la compréhension de Xen   La notion d’anneau   Les problèmes liés à l’architecture x86   Gestion de la mémoire
    4. Sommaire 2ème partie   III Présentation de Xen   Interactions entre l’hyperviseur, le système d’exploitation et les applications   Les domaines   IV Architecture de Xen   La gestion des informations système   La communication inter-domaines   La gestion du temps   La gestion de la mémoire   La gestion du temps   La réseau sous Xen   Conclusion
    5. Introduction à la virtualisation   Objectif   Faire fonctionner plusieurs environnements logiques indépendants séparément   Extension du principe d’émulation   Substitution de composants informatiques par une application   Multiplexage de systèmes d’exploitation
    6. Tour d’horizon : Historique   1960 : Composant VM/CMS du System/360 d’IBM   Cloisonnement d’environnements logiques   1990 : Amiga de Commodore International   Exécution des PC X386, Macintosh 6800 et X11   1990: Architecture NUMA (Non Uniform Memory Access)   Cloisonnement et partitionnement de la mémoire via des bus   1999 : VMWare   Virtualisation de systèmes x86   2000 à aujourd’hui : Développements de projet libres   QEMU, Bochs, Xen (2003), KVM (2007)
    7. Tour d’horizon : Pourquoi virtualiser ?  Trois types d’avantages   Sécurité   Coût   Criticité et performances
    8. Tour d’horizon : Pourquoi virtualiser ? (Sécurité)   Isolation   Ignorance de la présence d’autres environnements   Utilisation des protocoles conventionnels   Cloisonnement   Allocation de ressources physiques (exclusive ou temporelle)   Etude de sécurité   Contrôle et étude d’environnements infectés   Répétition de scénarios
    9. Pourquoi virtualiser ? (Coût)   Sous utilisation actuelle des serveurs   Coût de l’énergie électrique   Coût de l’espace en centre de données   Principe du cloisonnement des services   Mutualisation de ressources physiques tout en maintenant un cloisonnement des services
    10. Pourquoi virtualiser ? (Criticité et Performance)   Possibilité de mettre en pause et de copier un environnement logiciel complet   Sauvegarde   Clonage   Migration d’environnements logiciels   Transfert d’un environnement logiciel vers une autre machine physique   Allocation dynamique de ressources   Flexibilité de l’offre   Adaptabilité en cas de montée en charge
    11. Tour d’horizon : Les solutions techniques Virtualisation Systèmes Processus modifiés non modifiés Virtualisation au niveau du système d’exploitation Paravirtualisation Virtualisation totale Virtualisation matérielle assistée
    12. Tour d’horizon : Les solutions techniques La virtualisation au niveau du système d’exploitation   Un seul système d’exploitation, un seul noyau   Environnements utilisateurs entièrement cloisonnés   Allocation de ressources entre les différents environnements Environnement Environnement utilisateur cloisonné utilisateur cloisonné Couche logicielle Système d’exploitation avec noyau Matériel
    13. Tour d’horizon : Les solutions techniques La virtualisation totale   Emulation de machines physiques   Emulation de toutes les architectures possibles   Les systèmes invités croient être sur des machines physiques   Perte de performances importante Système d’exploitation Système d’exploitation invité invité Matériel émulé Matériel émulé Couche logicielle Système d’exploitation avec noyau Matériel
    14. Tour d’horizon : Les solutions techniques La virtualisation materielle assistée   Architecture processeur conçue pour la virtualisation   Emulation du matériel mais moins de pertes de performances   Systèmes d’exploitations invités non modifiés Système d’exploitation Système d’exploitation invité invité Matériel émulé Matériel émulé Virtual Machine Monitor Système d’exploitation avec noyau Matériel Intel-VT ou AMD-V
    15. Tour d’horizon : Les solutions techniques La paravirtulisation   Systèmes d’exploitations invités modifiés   Systèmes conscients d’être virtualisés   Pas de systèmes d’exploitation entre les systèmes invités et le matériel Système d’exploitation Système d’exploitation invité avec noyau invité avec noyau modifié modifié Hyperviseur Matériel
    16. Tour d’horizon : Les solutions techniques Bilan en terme de niveau d’émulation du matériel Virtualisation au niveau du système Paravirtualisation Virtualisation Virtualisation totale d’exploitation matériel assistée
    17. Tour d’horizon : Les solutions commerciales Les solutions propriétaires   1er éditeur VMWare   13 logiciels   Virtualisation totale et matérielle assistée   VMWare Server ESX : Hyperviseur ?   Virtual PC (Microsoft)   Gratuit   Virtualisation totale
    18. Tour d’horizon : Les solutions commerciales Les solutions Libres   Xen   Paravirtualisation   QEMU   Virtualisation totale   OpenVZ   Virtualisation au niveau du système d’exploitation   KVM   2 parties :   Un module dans le noyau Linux (communication avec le processeur)   Un module dérivé de QEMU   Gestion des instructions processeur liées à la virtualisation
    19. III Présentation de Xen   Les problèmes liés à l’architecture x86 et ces solutions   La notion d’anneau   Interactions entre l’hyperviseur, le système d’exploitation et les applications   Les domaines   Domaines privilégiés   Domaines non privilégiés   Domaines matériel assistés
    20. Les problèmes liés à l’architecture x86 et ces solutions   Selon Popek et Goldberg il existe 3 types d’instructions processeur problématiques pour la virtualisation :   Instructions privilégiées   Instructions sensibles à la configuration   Instructions sensibles de comportement   Nécessité de capter ces instructions en virtualisation   Certaines dérogent à la règle   Nous avons donc un problème pour mettre en place une architecture de virtualisation sur x86   Solutions :   VMWare : utilisation de la virtualisation totale   Xen : remplacer les instructions privilégiées par d’autres
    21. La notion d’anneau   Les anneaux identifient des niveaux de privilèges   Limitation des accès aux informations du système   Tous les systèmes actuels n’utilisent que 2 des 4 anneaux sauf quelques architectures spécifiques Anneau 3 Anneau 2 Anneau 1 Anneau 0 Noyau Pilotes Pilotes Applications Architecture x86 32 bits avec un système d’exploitation classique
    22. Interactions hyperviseur / applications / OS   Qu’est ce que Xen ?   Mise en place de la paravirtualisation   Motivation principale : remplacement des instructions   Positionnement des différents composants Anneau 3 Anneau 2 Anneau 1 Anneau 0 Hyperviseur Noyau Vide Domaines
    23. Interactions hyperviseur / applications / OS Adaptation d’un hyperviseur dans les architectures non conçues pour la virtualisation Anneau 3 Anneau 2 Anneau 3 Anneau 1 Anneau 0 Anneau 0 Applications Hyperviseur Hyperviseur Noyau Noyau Pilotes Applications Architecture x86 32 bits avec un hyperviseur Xen Architecture x86 64 bits avec un hyperviseur Xen
    24. Interactions hyperviseur / applications / OS   Apport des extensions de virtualisation Anneau 3 Anneau 0 Anneau -1 Hyperviseur Noyau Applications Architecture x86 64 bits et extensions processeurs liées à la virtualisation avec un hyperviseur Xen
    25. Interactions hyperviseur / applications / OS Système classique Paravirtualisation Noyau Anneau 0 Hyperviseur Anneau 1 Noyau Anneau 2 Application Anneau 3 Application Hypercall Appels système privilégié Appels système classique
    26. Les domaines   Système d’exploitation invité   Différents types de domaines pour différentes utilités   Domaine privilégié   Domaine non privilégié   Domaine matériel assisté
    27. Domaines privilégiés   Premier domaine exécuté au démarrage : Domaine 0   Accès aux fonctionnalités de l’hyperviseur   Gestion des autres domaines   Accès direct à la machine physique et à ses périphériques   Gestion de l’interface entre la machine physique et les domaines non privilégiés
    28. Domaines non privilégiés   Exécutés par le dom0   Limite de la capacité mémoire   Domaines de paravirtualisation   Accès aux périphériques à travers le dom0   Système d’exploitation invité « classique »
    29. Schéma résumé
    30. Domaine matériel assisté (HVM)   Type de domaine non privilégié   Virtualisation matérielle assistée   Utilisation du module QEMU exécuté dans le dom0
    31. Schéma résumé
    32. IV Architecture de Xen en paravirtualisation   La gestion des informations système   La communication inter-domaines   La gestion du temps   La gestion de l’ordonnancement   La gestion de la mémoire   La réseau sous Xen
    33. Gestion des informations système   Nécessité d’avoir des informations sur le matériel sous- jacent   Modificationdu mécanisme de récupération de ces informations système   Shared info pages – pages d’information partagée   Page d’information de démarrage   Page shared_info
    34. Communication interdomaines   Isolation totale pas envisageable   Nécessite d’accéder aux périphériques de la machine physique   Pilotes spécifiques dans le dom0   Cas de processus normaux   Zones de mémoire partagées   Hypercall grant_table_op   Allocation de zones   Transfert de zones
    35. Communication interdomaines Je voudrais accéder au bloc X du lecteur de DVD dom0 Ecriture des données dans la zone de mémoire partagée domU Ubuntu domU FreeBSD
    36. Gestion du temps   Nécessité de la gestion du temps   Ecoulement du temps   Lors de l’exécution   En dehors de l’exécution   Trois valeurs contenues dans shared_info   Heure initiale du lancement du domaine   Temps écoulé depuis le lancement du domaine   Time Stamp Counter (TSC)
    37. Gestion de l’ordonnancement   Gestion de l’allocation de ressources de calcul aux domaines   Ordonnanceurs   Deux types   SEDF (Simple Earliest Deadline First)   Credit Scheduler
    38. Gestion de l’ordonnancement   SEDF   Temps d’exécution défini   Périodicité définie
    39. Gestion de l’ordonnancement Temps : 4 ms Temps : 3 ms Temps : 5 ms Périodicité : 20ms Périodicité : 10ms Périodicité : 10ms Temps Allocation sur un VCPU
    40. Gestion de l’ordonnancement   Credit scheduler   Deux attributs :   Poids   Limite   Allocation de crédits   Exécution jusqu’à l’épuisement des crédits
    41. Gestion de l’ordonnancement Poids : 2 Poids : 2 Poids : 4 Limite : 25% Limite : 0 Limite : 0 U :2 U :1 U :1 U :1 F :2 F :3 F :2 F :3 D :4 D :4 D :9 D : 12 Temps
    42. La gestion de la mémoire dans un système classique La pagination Cadre de pages en mémoire Espace physique Tables des pages Tables des pages Adresse virtuelle Espace virtuel Espace virtuel d’un programme d’un programme
    43. La gestion de la mémoire dans un système classique La segmentation Table des pages du segment 0 Entrée de la table 0 Tables des descripteurs de segments Entrée de la table 1 Entrée de la table 2 Descripteur de segment 0 Entrée de la table 3 Descripteur de segment 1 Table des pages du segment 1 Descripteur de segment 2 Entrée de la table 0 Entrée de la table 1 Entrée de la table 2 Entrée de la table 3
    44. La gestion de la mémoire dans un système classique La segmentation   En architecture x86, il existe 2 types de tables de descripteurs de segments :   Global Description Table   Local Description Table   Nécessité d’un sélecteur de segment pour charger un descripteur dans un registre : Niveau de Numéro d’entrée dans la table GDT/LDT privilèges 0-3 13 bits 1 bit 2 bits
    45. La gestion de la mémoire dans Xen Modèle de gestion de mémoire en paravirtualisation Espace d’adressage de l’application A Espace d’adressage de l’application B Espace d’adressage du Dom U Espace d’adressage du Dom U Espace d’adressage physique géré par l’hyperviseur
    46. La gestion de la mémoire dans Xen Modèle de gestion de mémoire en paravirtualisation   Pourquoi 3 niveaux d’indirections   Problème lié au fait qu’un système croit que son espace d’adressage est continu et qu’il est seul sur la machine physique   Problème de la mise en pause d’une machine et d’un redémarrage sur une autre machine physique   Accès mémoire et mise à jour de la table des pages   Lecture et Ecriture uniquement via des hypercalls Intérêt : Aucun système invité ne modifie l’espace mémoire sans en avertir l’Hyperviseur
    47. La gestion du réseau   Toutes les communications passent par le Dom 0   2 tunnels entre un Dom U et le Dom 0   Un tunnel de service et un tunnel de données   Chaque tunnel composé de 2 zones mémoire distinctes   Tunnel de service permet de localiser les pages mémoires de données brutes   Communication réseau interdomaines gourmande en ressources processeur
    48. Conclusion sur Xen   Solution innovante et performante   Solution libre permettant l’accès à la connaissance   Support de l’industrie informatique   “IBM is a strong supporter of the open source community and has a long history with virtualization, having invented it for mainframe over 40 years ago.” – Rich Lechner,Vice Président d’IBM Entreprise Systems   Composante de base du « Cloud Computing »
    49. Conclusion du projet   Acquisition de connaissances sur un sujet d’actualité   Approfondissement des connaissances en système d’exploitation   Assimilation d’une méthodologie de rédaction   Clarification et formalisation de notions   Apport professionnel dans le domaine des systèmes d’information

    + Antoine BenkemounAntoine Benkemoun, 4 months ago

    custom

    576 views, 1 favs, 1 embeds more stats

    Etude de la virtualisation en plusieurs parties :
    more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 576
      • 469 on SlideShare
      • 107 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 21
    Most viewed embeds
    • 107 views on http://www.antoinebenkemoun.fr

    more

    All embeds
    • 107 views on http://www.antoinebenkemoun.fr

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories