Concept de machine virtuelle



Documents pareils
Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

SRS DAY: Problématique liée à la virtualisation

Module : Virtualisation à l aide du rôle Hyper-V

Chapitre 2 : Abstraction et Virtualisation

Virtualisation: définitions. Problème des datacenters actuels. Le DATA Center aujourd'hui. Le Data Center d'hier

Présentation d HyperV

EN Télécom & Réseau S Utiliser VMWARE

Point sur la virtualisation

Virtualisation de serveurs Solutions Open Source

VMWare. Vmware: machine virtuelle Un véritable pc avec : VmWare

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

Virtualisation sous Linux L'age de raison. Daniel Veillard

Les avantages de la virtualisation sont multiples. On peut citer:

Utilisation de matériels industriels avec des outils de virtualisation open source. Open Source dans le monde industriel

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

EN Télécom & Réseau S Utiliser VMWARE

Qu est ce qu un un serveur?

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

Systèmes d exploitation

Virtualisation open source État de l'art

Virtualisation et ou Sécurité

A propos de la sécurité des environnements virtuels

VMWare Infrastructure 3

La Virtualisation Windows chez CASINO. Philippe CROUZY Responsable Infrastructure Equipes Systèmes -Stockage

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

SMB137 - Cinquième partie

Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Communications performantes par passage de message entre machines virtuelles co-hébergées

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Virtualisation & Sécurité

Xen. Quelques notes autour de Xen

L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper

Anatomie d'un cloud IaaS Représentation simplifiée

A Libre Ouvert. Médiathèque Jacques Ellul. le

Virtual Box Mettez un PC dans votre... PC

CH.3 SYSTÈMES D'EXPLOITATION

NFE107 Urbanisation et architecture des systèmes d information. Juin «La virtualisation» CNAM Lille. Auditeur BAULE.L 1

Tutoriel déploiement Windows 7 via serveur Waik

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Systèmes informatiques

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Virtualisation et sécurité Retours d expérience

06/11/2014 Hyperviseurs et. Infrastructure. Formation. Pierre Derouet

Virtualisation Vserver et OpenVz en entreprise

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Virtualisation pour un data centre flexible. Imed Chihi Fedora 12 Release Party, 05 Décembre 2009 ISET Charguia, Tunis

Délivrer des postes de travail virtuels et des applications virtuelles en utilisant des technologies Open Source

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

Virtualisation et le hosting. Christophe Lucas Sébastien Bonnegent rouen.fr>

Windows serveur 2008 installer hyperv

2 - VMWARE SERVER.doc

LA GESTION DES SOLUTIONS TECHNIQUES D ACCÈS

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

Virtualisation. De la virtualisation des applications au Cloud computing. Paul Pinault. I.U.T. Informatique - Clermont-Fd Année

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Virtualisation et Sécurité

Installation de IBM SPSS Modeler Server Adapter

VirtualBox ou comment avoir le beurre et l argent du beurre

Atelier : Virtualisation avec Xen

Activité 1 : Création et Clonage d'une première machine virtuelle Linux OpenSuSE.

en version SAN ou NAS

Pourquoi installer un domaine Windows Active directory? E. Basier - CNIC S. Maillet - CRPP F. Palencia - ICMCB

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Le poste virtualisé. Vers la simplification du poste de travail. Stéphane Pichevin Responsable poste de travail virtualisé Sun Microsystems

Les méthodes de sauvegarde en environnement virtuel

Présentation Windows 7 &

vbladecenter S! tout-en-un en version SAN ou NAS

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Nouvelles stratégies et technologies de sauvegarde

Annexe : La Programmation Informatique

SafeKit. Sommaire. Un livre blanc de Bull Evidian

Programmation C. Apprendre à développer des programmes simples dans le langage C

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Chapitre I Notions de base et outils de travail

Logiciels libres et Open source

Hyper V et SC VMM. Virtualisation sous Windows Server 2008 R2. Résumé. Jean François APRÉA. ENI Editions - All rigths reserved

CREER UNE VM DANS WORKSATION. Créer un Virtual Machine dans VMware Workstation 9

Red Hat Enterprise Virtualization 3.0 Instructions d'installation et informations importantes

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Fiche Technique. Cisco Security Agent

Hyper-V R2 (Module 1) : Introduction

Plan de cet après-midi

Service de Virtualisation de la DSI UJF

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Technologie de déduplication de Barracuda Backup. Livre blanc

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Déploiement et Configuration d une infrastructure virtuelle

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

VMWARE VSPHERE ESXI INSTALLATION

Cours 3 : L'ordinateur

Transcription:

Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine abstraite Si cette machine est implémentée selon sa spécification sur deux architectures (réelles) différentes, alors on peut exécuter sur chacune d entre elles de manière identique un programme écrit en Java cette exécution est indépendante de l architecture sous-jacente Application JVM JVM OS 1 OS 2 HW 1 HW 2 Tout se paie: il n y a pas d accès à la mémoire, ni de programmation directe des E/S, en Java Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 2

Machine réelle vs machine virtuelle machine réelle = CPU mémoire (évt. avec MMU, protection mémoire) périphériques (e/s, gestion des interruptions) machine virtuelle: la même chose, mais réalisé par logiciel peut être entièrement interprétée: exemple Java Virtual Machine peut être partiellement interprétée (+ efficace) C est le cas considéré dans ce chapitre. Possible lorsque la machine virtuelle est très proche ou identique à la machine réelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 3 Quel intérêt à avoir une machine virtuelle identique à une machine réelle? permet de disposer de plusieurs exemplaires (virtuels) d'une même machine réelle sur un même HW, par exemple: machine réelle = PC système d'exploitation: Windows ou Linux? Il faut choisir (un seul à la fois) mieux: avec deux machines virtuelles identiques à la machine réelle (PC), on peut avoir simultanément Windows et Linux meilleure exploitation des ressources matérielles disponibles: en moyenne les ressources serveur sont employées à 15% confinement et isolement de services mutuellement méfiants ou incompatibles Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 4

Comment est-ce possible? il faut un logiciel qui réplique (ou virtualise) la machine réelle à l'identique ce logiciel est appelé Moniteur de Machine Virtuelle (MMV) dans l'exemple, le MMV définit deux machines virtuelles: MV1, sur laquelle s'exécute Linux MV2, sur laquelle s'exécute Windows MV1 même interface Windows ou Linux PC Linux MMV PC Win dows MV2 Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 5 Historique Concept développé dans les années 1960 et 1970 par IBM: CP-40: MMV développé pour une version modifiée de l'ibm 360/40 fin des années 60, début des années 70, IBM développe des processeurs virtualisables pour sa gamme IBM/360 et IBM/370 CP-67: MMV développé pour IBM 360/67 CP: dès 1972, MMV développé pour la série IBM/370 NB: CP = Control Program (terminologie IBM pour MMV) Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 6

Utilisation du concept par IBM offrir un environnement temps partagé (plusieurs utilisateurs interactifs) à partir du système mono-utilisateur (CMS: Conversational Monitor System) CMS CMS CMS CP offrir plusieurs systèmes d'exploitation simultanément sur la même machine CMS DOS/VS CMS BATCH CP DOS/VS CICS Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 7 Utilisation du concept par IBM tester en ligne une nouvelle version du moniteur de machine virtuel en test en exploitation CMS ' CMS ' CMS CMS CMS CP ' CP Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 8

Historique (suite) VM/386: MMV développé vers 1988 pour le processeur Intel 80386 et permettant de créer des machines virtuelles Intel 8086 (Intel 80386 permet de virtualiser Intel 8086) VMware (www.vmware.com): MMV développé fin des années 90 pour Intel x86 VMware permet d'exécuter simultanément Linux et Windows sur un PC Virtualisation des architectures Intel x86 sur SPARC Solaris Xen (open source) pour x86 et Linux Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 9 Principe de la virtualisation Le MMV peut être vu comme un système d'exploitation: système d'exploitation classique: définit l'abstraction processus MMV: définit l'abstraction machine virtuelle mémoire d'une machine virtuelle MV i : espace virtuel défini par le mécanisme de réimplantation dynamique de la machine réelle (identique à l'espace virtuel d'un processus dans un système comme Unix ou Windows 2000) CPU d'une machine virtuelle MV i : la plupart des instructions sont exécutées directement par la machine réelle certaines instructions sont interprétées par le MMV Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 10

périphériques d'une machine virtuelle MV i disque: le disque d'une machine virtuelle peut correspondre à une partition du disque de la machine réelle terminal d'une machine virtuelle: fenêtre sur l'écran du terminal de la machine réelle etc. les e/s se programment de la même manière sur une machine virtuelle que sur la machine réelle problème: sur des stations personnelles, maîtrise de la diversité des pilotes de périphériques Tout processeur est-il virtualisable? NON Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 11 Caractéristiques d un MMV (Popek &Goldberg, 1974) fidélité: les programmes exécutés au dessus d un MMV s exécutent exactement de la même manière que sur le hardware, aux contraintes de temps près performance: la plupart des instructions sont exécutées par le programme client directement par le hardware sans intervention du MMV sécurité: le MMV gère toutes les ressources matérielles. Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 12

Conséquence: virtualisation par «trap & emulate» (Goldberg 74) a) conditions générales: il existe au moins 2 modes d exécution pour le processeur (noyau, utilisateur): le MMV s'exécute avec le processeur en mode noyau la MV s'exécute avec le processeur en mode utilisateur la machine réelle dispose d un mécanisme de réimplantation dynamique d'adresses (permettant de réaliser la mémoire des MV) b) conditions sur le jeu d'instructions: toute instruction "sensible" doit provoquer une exception (TRAP) lorsqu'elle est exécutée en mode utilisateur Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 13 instruction "sensible": instruction qui consulte l'état de la machine (mode du processeur, registres qui définissent la fonction topographique) instruction qui modifie l'état de la machine instruction qui se comporte différemment selon le mode du processeur instruction liée aux e/s exemples: instruction qui lit ou écrit le registre d'état du processeur instruction qui lit ou écrit le registre de base de la table des pages instruction HALT (arrêt du processeur) Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 14

Traitement d'une instruction sensible instr. non privilégiées instr. privilégiée i exception interprétation de i instr. non privilégiées MV MMV Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 15 Exemple Considérons la machine réelle suivante: deux modes du processeur: noyau et utilisateur registre d'état du processeur SR, dont le bit S définit le mode (S=0: mode noyau; S=1: mode utilisateur) deux registres de sommet de pile, KSP pour le mode noyau et USP pour le mode utilisateur l'exécution en mode utilisateur d'une instruction "sensible" provoque une exception qui se déroule ainsi: PC et SR sont empilés sur la pile noyau PC et SR (avec le bit S forcé à 0) sont chargés avec vecteur associé à l'exception; le chargement de SR avec S=0 provoque le passage du processeur en mode noyau Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 16

Structure de donnée gérée par le MMV: MV: array 1..nb_MV of record sr: (* état du processeur, registre SR de la MV *) pc: (* registre PC de la MV *) ksp: (* registre KSP de la MV *) usp: (* registre USP de la MV *) regs: (* registres généraux REGs de la MV *) end record NB: majuscule pour les registres de la machine réelle, minuscule pour les variables qui représentent les registres d'une machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 17 Instructions de la machine réelle: MOVE_from_SR REG copie SR dans le registre REG (instruction sensible) MOVE_to_SR REG copie le contenu de REG dans SR (instruction sensible) Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 18

Interprétation de MOVE_from_SR REG par la MV i : sauvegarder les registres du processeur dans MV[i].regs; if MV[i].sr.bit_S=0 then MV[i].reg := MV[i].sr else ; restaurer MV[i].regs dans les registres du processeur; RTE Traitement du cas MV[i].sr.bit_S=1: compliqué! instruction privilégiée, donc provoque une exception si exécutée en mode utilisateur il faut simuler l'exception, c-à-d faire passer la MV i du mode utilisateur en mode noyau Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 19 Problème avec le concept l unité de production (hardware, OS, MMV) comme pour IBM avec les mainframes permet d optimiser le concept, notamment du point de vue performances mais jusqu à une époque récente, les processeurs courants sur le marché (Motorola, Intel) n étaient pas virtualisables exemples de problème avec le jeu d'instruction d'intel x86: PUSHF: SR pile: sensible, mais ne provoque pas d'exception si exécutée en mode utilisateur POPF: pile SR: sensible, mais ne provoque pas d'exception si exécutée en mode utilisateur (ne met toutefois pas à jour certains bits de SR, sauf si exécutée dans le mode du processeur le plus privilégié) 17 instructions sensibles ne provoquent pas d'exception en mode utilisateur Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 20

Evolutions récentes à partir de 1998: VMware développe une gamme de MMV pour les processeurs x86 sans appliquer le principe «trap & emulate» certaine projets utilisent d autres techniques (paravirtualisation de Xen) les fabricants de processeurs de la gamme x86 et suivants introduisent des adaptations au processeur permettant de mettre en œuvre le principe «trap & emulate» Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 21 Xen (projet open-source de l univ. de Cambridge) paravirtualisation de la gamme x86: le MMV s exécute dans l anneau de privilège 0 l OS client s exécute dans l anneau de privilège 1 une partie de l OS client doit être réécrite pour s adapter à la virtualisation les programmes client ne doivent pas être réécrits bonnes performances, bonnes conditions de confinement et de sécurité difficile à mettre en pratique avec des OS propriétaires Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 22

Xen (performances) Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 23 Nouvelles gammes de processeurs x86: nouvelles primitives exportées par le HW virtual machine control block guest mode nouvelles instructions vmrun et exit permet d écrire un MMV par «trap & emulate» directement du dessus du HW développements récents: les MMV sont expérimentaux, et ne sont pas nécessairement meilleurs du point de vue des performances Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 24

VMware (www.vmware.com) le processeur Intel x86 n'est pas virtualisable: où est le truc? deux gammes de produits: gamme serveurs: MMV basé sur une technique appelée «binary translation» gamme workstations: le MMV ne s'exécute pas directement sur la machine nue, mais au-dessus d'un système d'exploitation hôte (host OS); évite de devoir tout réécrire (réutilisation de la gestion de la mémoire virtuelle, des drivers, etc.) gamme de produits étendue permettant d exécuter simultanément plusieurs systèmes d exploitation sur un même PC: gestion de parc informatique développement de logiciels commerciaux outils pour transférer des données entre systèmes environnements sécurisés pour accès à Internet Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 25 Binary translation (serveurs) le code exécutable est traduit en temps réel source = binaire x86 dynamique: traduction + exécution en «parallèle» à la demande au niveau du système (pas d hypothèses sur le code au niveau user pour améliorer les performances) output = code «sûr» sous ensemble d instruction qui ne posent pas de problème de virtualisation adaptatif gestion de segments traduits en cache, intégration de la localité du programme Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 26

Gestion de la mémoire chaque MV voit une espace de mémoire physique commençant à l adresse 0000 le MMV maintient une table des pages pour traduire les ## pages de la MV en ## cases les accès aux composants de gestion de la mémoire physique (p.ex. TLB) sont interceptés par le MMV la mémoire réelle peut être surallouée par le MMV (overcommittment) gestion des demandes par un mécanisme de ballonnement problème de restitution de la mémoire surallouée le MMV installe un balon dans chaque MV qui s occupe de «réclammer» la mémoire en fonction des besoins Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 27 VMware Workstation (hosted architecture) MMV s exécute au dessus d un OS hôte est installé comme une application bénéficie de toute l infratsructure de l OS hôte (gestion de la mémoire et du HW, drivers des périphériques, etc.) peut rencontrer des problèmes de performances selon la politique de scheduling de l OS hôte le composant «VM driver» est installé comme un pilote dans l OS hôte et contrôle le MMV comme un composant privilégié qui s exécute directement au dessus du HW le contrôle passe du MMV à l OS hôte en fonction des besoins, notamment pour les e/s Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 28

Disque d'une machine virtuelle (2 options): la machine virtuelle monte une partition du disque physique un fichier sur l'os hôte constitue le disque de la machine virtuelle Accès réseau d'une machine virtuelle (3 options): pas d'accès réseau ; host-only networking: définit une interface réseau qui ne permet à la machine virtuelle de communiquer qu avec la machine hôte ; bridged networking: permet à la machine virtuelle d'avoir une adresse IP et d'accéder au réseau Internet (la machine virtuelle voit une carte réseau AMD Pcnet-II, indépendamment de la carte réseau de la machine réelle) Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 29 Accès réseau d une MV Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 30

Conclusions Avantages simplifie le développement de nouvelles versions de SE ou de nouveaux SE permet d implémenter des abstractions de haut niveau de manière homogène à travers des systèmes hétérogènes permet d exploiter simultanément plusieurs systèmes d'exploitation sur une même machine solution très intéressante pour le partage des ressources (avec confinement: protection et sécurité) Inconvénients Coût en termes de performances double réimplantation en mémoire: (1) au niveau du MMV et (2) au niveau de l'os de la MV: risque de double faute de page l optimisation HW (par exemple des accès aux disques qui sont très coûteux) n'a plus de sens Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 31