Le document contient des exercices sur la virtualisation. Il définit la virtualisation et ses avantages et inconvénients. Il explique le rôle d'un hyperviseur et ses types. Il décrit également les techniques pour résoudre les problèmes de virtualisation comme l'émulation et la traduction binaire.
100%(2)100% ont trouvé ce document utile (2 votes)
786 vues5 pages
Le document contient des exercices sur la virtualisation. Il définit la virtualisation et ses avantages et inconvénients. Il explique le rôle d'un hyperviseur et ses types. Il décrit également les techniques pour résoudre les problèmes de virtualisation comme l'émulation et la traduction binaire.
Le document contient des exercices sur la virtualisation. Il définit la virtualisation et ses avantages et inconvénients. Il explique le rôle d'un hyperviseur et ses types. Il décrit également les techniques pour résoudre les problèmes de virtualisation comme l'émulation et la traduction binaire.
Le document contient des exercices sur la virtualisation. Il définit la virtualisation et ses avantages et inconvénients. Il explique le rôle d'un hyperviseur et ses types. Il décrit également les techniques pour résoudre les problèmes de virtualisation comme l'émulation et la traduction binaire.
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5
CORRECTION DES EXERCICES DE VIRTUALISATION ET CLOUD
PARTIE VIRTUALISATION
Exercice 1 :
1- Définir la virtualisation, et citer 4 avantages et 3 inconvénients de
la virtualisation La virtualisation est un ensemble de technologies matérielles et/ou logicielles permettant de faire fonctionner plusieurs applications et/ou plusieurs OS sur une même machine, de façon indépendante comme sur des machines physiques distinctes. Elle présente plusieurs avantages dont entre autres : La diminution des coûts de maintenance des serveurs ; Une bonne utilisation des ressources des serveurs ; Offre la sécurité et l’isolation des services ; Permet une migration et une portabilité simple des services ; Etc. En plus de ces avantages, la virtualisation possède quelques inconvénients qui sont entre autres : Si la machine physique hôte tombe en panne, on perd tous les OS et applications virtuels ; Il nécessite d’avoir un serveur puissant en termes de CPU, mémoire,… Les applications des OS invités consomment beaucoup de ressources ; Etc.
2- Quel est le rôle principal d’un hyperviseur, expliquer le
fonctionnement de chaque type d’hyperviseur Le rôle principal d’un hyperviseur est la gestion des machines virtuelles. Il permet à plusieurs VMs de partager des ressources communes. Il existe deux(2) types d’hyperviseurs : Un hyperviseur de type 1 : Encore appelé hyperviseur natif, ce type d’hyperviseur est directement placé sur le matériel. Il est un OS allégé et optimisé contenant le strict nécessaire pour la gestion des VMs. Avec ce type d’hyperviseur, les noyaux des OS doivent être modifiés afin de pouvoir collaborer avec lui. Un hyperviseur de type 2 : Encore appelé hyperviseur de type 2, cet hyperviseur est placé sur l’OS hôte. Avec cet hyperviseur, les OS invités n’ont pas consciences d’être virtualiser et toutes les instructions des OS invités qui touchent au matériel sont interceptés par cet hyperviseur. 3- Quelles sont les différentes catégories d’instructions utilisées dans le domaine de la virtualisation. Donner un exemple pour chaque catégorie Dans le domaine de la virtualisation, il existe deux(2) catégories d’instructions : Les instructions sensibles : ce sont des instructions qui ont accès au matériel. Exemple : halt (pour éteindre), modification des registres,… Les instructions non sensibles : Exemple : Les instructions arithmétiques normales. 4- Quelle est la différence entre un CPU virtualisable et un CPU non-virtualisable. - Définir une instruction critique Un CPU virtualisable est un CPU dans lequel toutes les instructions sensibles sont privilégiées. Par contre, dans un CPU non-virtualisable, il existe des instructions sensibles qui sont non privilégiées. Une instruction critique est une instruction sensible et non privilégiée. 5- Expliquer le problème rencontré avec l’architecture non- virtualisable. Quelles les techniques utilisées pour résoudre ce problème Dans une architecture non virtualisable, les instructions critiques ne peuvent pas être interceptées par la VMM puisqu’elles sont non privilégiées. Le problème existe dans le fait que, ces instructions touchent au matériel (elles sont sensibles) et peuvent corrompre son état puisque la VMM n’intervient pas. Pour résoudre ce problème, plusieurs solutions ont été envisagées dont notamment : La traduction binaire : La traduction binaire permet de faire la traduction des instructions critiques en des instructions privilégiées qui pourront être interceptées par la VMM. L’Emulation totale : Cette technique consiste en ce que la VMM fasse une traduction binaire dynamique de toutes les instructions sensibles (qu’elles soient privilégiées ou non) en instructions privilégiées. Ainsi elle pourra intercepter les instructions sensibles ; Virtualisation matérielle assistée : La virtualisation assistée par le matériel ajoute une intelligence au matériel permettant de gérer les instructions critiques sans faire de la traduction binaire. Exercice 2 :
1- Expliquer la technique d’émulation. Donner un exemple
d’émulation totale. L’émulation est une technique qui consiste à substituer un matériel informatique par un logiciel dont le comportement est similaire. Comme exemple d’émulation totale, on peut citer l’émulation de vieilles consoles de jeux. 2- Dessiner l’emplacement des éléments suivants : « OS invité, hyperviseur et applications » dans les anneaux de protection : - D’une architecture de x86-32 - D’une architecture de x86-64 qui ne supporte pas la virtualisation mutuelle assistée. - D’une architecture de x86-32 qui supporte la virtualisation mutuelle Assistée. L’architecture x86_32 est constituée de quatre (4) anneaux de protection (anneau 0, 1,2 ,3) ; L’architecture x86_64 (sans virtualisation matérielle assistée) est constituée de deux anneaux (anneau 0 et 3) ; L’architecture x86_64 avec virtualisation matérielle assistée est composée de 3 anneaux (anneau -1, 0 et 3) ; (Voir schémas dans les pages 45, 48 et 49 du chapitre 1). 2- Dessiner la classification des techniques de virtualisation (Voir polycopié : Chapitre 2, Page 6) 4- Définir la traduction binaire - Expliquer comment la traduction binaire est utilisée dans le domaine de virtualisation La traduction binaire est une technique de l’émulation qui consiste à traduire le jeu d’instructions d’une architecture vers une autre. Dans la virtualisation, elle permet de faire la traduction des instructions sensibles en des instructions privilégiées afin d’être interceptées par la VMM. Il permet de résoudre également le problème des CPU non virtualisables. 5- Quelles sont les solutions les plus utilisées pour la virtualisation de la mémoire ? Expliquer le mécanisme de fonctionnement de chaque solution. Le problème de la virtualisation de la mémoire réside en la traduction des adresses physiques des VMs vers les adresses virtuelles de la machine physique. Et pour ce faire, plusieurs solutions sont implémentées à savoir les Shadow Page Tables(SPT) qui est une solution Software et le Nested Page Tables(NPT) qui est une solution Hardware. Il existe également l’Extended Page Tables , mais cette dernière a le même fonctionnement que le NPT. SPT : La mise à jour de cette table est faite par la VMM. Cette dernière met une protection d’écriture sur les tables de pages des pages des VMs. Chaque tentative de modification de ces fichiers lèvera une exception qui sera interceptée par la VMM qui à son tour validera cette opération tout en mettant à jour le SPT. NPT : Est une amélioration des coûts générés par les SPT. Il permet une synchronisation du TLB (Translation LookAside Buffer) en faisant le mapping ‘’gPA to MA’’. MA étant le mapping gPAhvAhpA. Exercice 3 : 1- Expliquer le fonctionnement de l’outil « Citrix XEN », - Décrire son architecture - Comment XEN peut faire tourner des OS non modifiés comme Windows L’outil Citrix Xen fonctionne avec le mécanisme de redirection de la Paravirtualisation. Il consiste à rediriger toutes les instructions des OS ne contenant pas le driver Front-End vers l’OS contenant le driver Back- End qui par la suite accèdera au matériel. Dans son architecture, l’OS contenant le driver Back-End est appelé dom0 et les autres sont appelés domU. Les domU pour accéder au matériel doivent passer par le dom0. Et de plus, tous les OS doivent être xénifiés (modifiés). Pour pouvoir faire tourner des OS non modifiés comme Windows, il faut qu’il y ait une architecture supportant la virtualisation matérielle assistée, car dans ce cas les OS ne sont pas modifiés ou xénifiés. 2- Définir la virtualisation des réseaux Citer les 3 types de réseaux virtuels qu’on peut créer avec KVM et libvirt et expliquer le fonctionnement de chaque type La virtualisation de réseaux consiste en la création de plusieurs réseaux logiques à partir d’un réseau physique. Libvirt donne la possibilité de faire de créer trois types de réseaux virtuels qui sont : Réseau isolé : Dans ce type de réseau, les VMs ne voient entre elles et peuvent communiquer avec la machine hôte. Par contre une communication de l’intérieur vers l’extérieur ou de l’extérieur vers l’intérieur n’est possible. Réseau naté : Dans ce type de réseau, les VMs communiquent entre elles, communiquent avec la machine hôte et communiquent avec l’extérieur via un NAT configuré sur le Switch virtuel. Aucune communication de l’extérieur vers l’intérieur n’est possible. Réseau ponté : Dans ce réseau, les VMs communiquent avec l’extérieur (dans les deux sens) moyennant des bridges physiques connectés à Internet. 3- Définir les architectures de stockage « DAS, SAN et NAS « et expliquer les différences entre elles. DAS : signifie de l’anglais « Direct Attached Storage » est un système de stockage de données en attachement direct. Dans cette architecture, le périphérique de stockage est relié aux ordinateurs via un Host Bus Adapter (HBA). Seuls les ordinateurs connectés directement au DAS peuvent accéder au périphérique de stockage. Et il n’y a aucune connexion à un réseau. NAS : signifie « Network Attached Storage » est un est un serveur de fichiers autonomes relié à un réseau. Son rôle principal est de fournir un accès aux données en mode fichier en un volume centralisé pour des clients homogènes. Il permet aux clients d’accéder aux fichiers comme si ces derniers étaient en locaux. Pour accéder au périphérique de stockage NAS, il faut nécessairement passer par un réseau. SAN : signifie « Storage Are Network » est un réseau spécialisé qui permet de mutualiser des ressources de partages. Contrairement aux autres architectures, il permet un accès en mode bloc aux fichiers, ce qui permet aux serveurs d’accéder aux volumes SAN avec leurs propres systèmes de fichiers. Ceci permet aux serveurs de considérer ces volumes comme leurs propres disques durs.