Systèmes Embarqués Modulaires M2 SRI 2007-2008. Machines Virtuelles



Documents pareils
Plan. Systèmes Embarqués Modulaires M2 SRI Machines Virtuelles. Plan. Virtualisation: intérêt à la hausse

Concept de machine virtuelle

Chapitre 2 : Abstraction et Virtualisation

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

Virtualisation sous Linux L'age de raison. Daniel Veillard

Qu est ce qu un un serveur?

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Virtualisation open source État de l'art

Windows Server Chapitre 1: Découvrir Windows Server 2008

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

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

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

SMB137 - Cinquième partie

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

A propos de la sécurité des environnements virtuels

en version SAN ou NAS

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

HSCS 6.4 : mieux appréhender la gestion du stockage en environnement VMware et service de fichiers HNAS Laurent Bartoletti Product Marketing Manager

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

Atelier : Virtualisation avec Xen

Hyper-V v2 : une évolution majeure des services de virtualisation

Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009

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

Systèmes informatiques

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

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Présentation d HyperV

Un exemple de cloud au LUPM : Stratuslab

Virtualisation des Serveurs et du Poste de Travail

L état de la virtualisation

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

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Table des matières 1. Introduction. 1. Avant-propos Remerciements Chapitre 1 Virtualisation de serveurs

La virtualisation, si simple!

Chapitre IX : Virtualisation

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

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

Virtualisation des ressources serveur. Exemple : Systèmes partitionnés sous HP-UX et Oracle

Vulnérabilités engendrées par la virtualisation. Jean-Marie Petry / jean-marie.petry@rbs.fr Chef de Projet / Ingénieur ISIAL

Systèmes d exploitation

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

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

Mathieu Rivoalen. Etude d'approfondissement des réseaux RICM 5 Option Réseaux

Eric Maillé Comparatifs des hyperviseurs Vmware ESX / Microsoft HyperV

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

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

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

VMWare Infrastructure 3

La Continuité d Activité

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

Dynamiser et optimiser votre IT avec la Virtualisation du poste

Sébastien Geiger IPHC Strasbourg

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

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

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

Virtualisation de serveurs Solutions Open Source

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

..seulement 5% des serveurs x86 sont virtualisés!

La plate forme VMware vsphere 4 utilise la puissance de la virtualisation pour transformer les infrastructures de Datacenters en Cloud Computing.

Installation d une architecture VMware Infrastructure 3 : Bilan et perspectives

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

Windows serveur 2008 installer hyperv

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

Génération de code binaire pour application multimedia : une approche au vol

NEC Virtual PC Center

Xen. Quelques notes autour de Xen

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai Cloud Computing & Green IT : nuages ou éclaircies?

Table des matières. A - Introduction 13. B - Qu'est-ce que la virtualisation? 13

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

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer

Virtualisation & Sécurité

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

VMotion ne peut fonctionner qu avec une architecture de stockage centralisé de type SAN FC, iscsi ou NAS.

Webinar ORACLE LE LICENSING ORACLE Quel type de licensing choisir?

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Présentation Windows 7 &

Système Principal (hôte) 2008 Enterprise x64

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

Configuration du serveur ESX

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

Le concept de virtualisation regroupe

Virtualisation : explorez le champ des possibles avec VMware

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

Consolidation. Grid Infrastructure avec la 11gR2

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

Infrastructure technique de géodonnées. Technische Geodateninfrastruktur. Cédric Moullet Forum e-geo.ch, 15. November 2013

Sécurité & Virtualisation Istace Emmanuel

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

Déploiement et Configuration d une infrastructure virtuelle

Les hyperviseurs leaders du marché qui ont fait leurs preuves en production

2 - VMWARE SERVER.doc

CONTEC CO., LTD. Novembre 2010

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Plan de cette matinée

Virtualisation et sécurité Retours d expérience

Virtualisation et Sécurité

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

Transcription:

Systèmes Embarqués Modulaires M2 SRI 2007-2008 Machines Virtuelles 1

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 2

Plan.../... Outils Utilisations Référence: Virtual Machines, versatile platforms for systems and processes J.E. Smith, R. Nair, Ed: Elsevier 3

Virtualisation: intérêt à la hausse Src: Google Trends 23 Janvier 2007

Mais il faut raison garder Src: Google Trends 23 Janvier 2007

Les technologies de virtualisation semblent «populaires» Src: Google Trends 23 Janvier 2007

Historique Apparues durant les années 60 chez IBM Sujet à la mode durant les années 60 et 70 Survey of Virtual Machine Research (Goldberg, 1974) Virtual Machines have finally arrived. Dismissed for a number of years as merely academic curiosities, they are now seen as cost-effective techniques for organizing computer systems resources to provide extraordinary system flexibility and support for certain unique applications 72 papiers publiés de 1966 à 1973 7

Historique Définition de Goldberg (60-70) : Simulateur du jeu d'instruction X sur le jeu d'instructions G Ralentissement de 1000 pour 1 Quand X == G Ralentissement de 20 pour 1 Quand X == G, utilisation de G(réel) autant que possible, pour être plus efficace. Virtual Machine systems (s) Simulator = Virtual machine monitors (M)mostly 8

Définition (Goldberg) Bare Machine Privileged software nucleus Basic Machine Interface Extended Machines User program Extended Machine Interfaces User program 9

Définition (Goldberg) Bare Machine Basic Machine Interface Virtual Machine Monitor Virtual Machines Privileged software nucleus #1 Privileged software nucleus #2 Extended Machine Interfaces #1 User program Extended Machine Interfaces #2 Extended Machines User program User program User program 10

Historique Années 80: Pas d'activité visible sur le sujet Fin des années 90, 2000: Résurgence des avec Java HLL-'s : High-Level Language Résurgence des systèmes classiques: Vmware (Intel), Connectix (Initially: PC simulation on Mac's) Partitionnement des serveurs SMP/Numa Physique ou Logique : IBM, HP, Sun, Bull Serveurs Virtuels: (Virtuozzo, LVS, jail,...) Utilisés pour hébergement de sites Web 11

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 12

Virtualisation? Oh, Virtualisation! Virtual Networking? ware? Intel VT? Virtual Server? UML? IBM/? Transitive QuickTransit? Java, J? Application Virtualization? AMD S? Platespin? TransMeta Crusoe? SIMICS? Softricity? Dynamo? VirtualPC? Virtual Reality? FX!32?c Pascal Pcode? Virtual Solutions? QEMU? Virtual Storage?

Différentes classes de virtualisation Traduction (Emulation) X apparaît comme Y Quelque fois X et Y sont identiques => duplication Aggrégation N ressources apparaissent comme 1 Grilles / Clusters / Single System Image... Partition 1 ressource apparaît comme N Moniteurs de machines virtuelles 14

Architecture Système Systèmes construits avec 3 composants principaux Avantages: Tâches de conception indépendantes Applications portables Applications Problèmes: Composants non inter-opérables OS L'existant limite l'innovation Hardware Difficulté d'optimisation ISA Courtesy E. Smith 15

Inter-opérabilité Mac Apps. MacOS Windows Apps. Linux Apps. Windows Linux PowerPC X86 Mac Apps. X86 Windows Apps. MacOS Linux X86 X86 Courtesy E. Smith 16

Machine Virtuelle Applications. Applications. OS OS Coupling Software Virtual Machine Real Machine Courtesy E. Smith 17

Composition de Machines Virtuelles Applications. Applications. Apps OS OS Apps OS OS ISA ISA translation ISA Optimisation ISA Replication Apps OS Courtesy E. Smith Apps OS ISA Composition 18

Interfaces Système Application Software Application Software System calls System calls Operating System Operating System System ISA User ISA ISA System ISA User ISA ABI Hardware Hardware Courtesy E. Smith 's can provide an ISA interface System level 's can provide an ABI interface Process level 19

Machines Virtuelles Processus (ABI) Multiprogrammation Tout OS multi-tâches fournit une à chaque processus qu'il supporte. Émulation et Traducteurs Binaires Dynamiques Digital FX!32: exécute Wintel apps sur Win/Alpha Transitive QuickTransitTM 20

Machines Virtuelles Processus (ABI) Optimiseurs Binaires Dynamiques HP Dynamo: optimises PA-8000 on PA-8000! High-Level Language 's: Pascal (P-code), Java, Microsoft Common Language Infrastructure 21

Machines Virtuelles Système (ISA) Replication de la plate forme matérielle VmWare, Xen, Denali, IBM/360 Différenciées principalement par l'implémentation système complète (whole system 's) Supporte l'os et les applications sur une plate forme avec ISA différente Co-Designed 's Transmeta Crusoe 22

Taxonomy (dérivée de E. Smith) System Level (ISA) s Process Level (ABI) System s (Same ISA) Process s (Possibly different ISA) Classic OS Whole System (Simics, Bochs, QEMU) (Same ISA) Multiprogrammed Systems (==OS) (#OS) (Possibly different ISA) Dynamic Translators (==OS) (#OS) Native, Type I Paravirtualized (Xen, VLX) Transparent (ware ESX, HW assist: Xen, VLX) Hosted, Type II (ware WS, K) Multitask OS OS Translator WABI, WINE Virtual Servers Virtuozzo, Solaris Zones ISA & ABI Translator FX!32 ISA & OS Translator Transitive High Level Language Java

Une autre Taxonomie possible s Replication (Same ISA) Multitask OS Translation (#ISA or possibly same ISA) Classic OS Dynamic ISA Translators Dynamic ABI Translators (#ISA) Virtual Servers (Virtuozzo, Solaris Zones) Native, Type I Para-virtualized (Xen, VLX) Hosted, Type II (ware WS, K) Transparent (ware ESX, HW assist: Xen, VLX) Whole System (Simics, Bochs, QEMU) High Level Language (Java) ISA & ABI Translators (==OS) ISA & ABI Translator (FX!32) (#OS) (==ISA) OS Translator (WABI, WINE) ISA & OS Translator (Transitive)

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 25

Système Classique A virtual machine () provides a faithful implementation of a physical processor s hardware running in a protected and isolated environment. Virtual machines are created by a software layer called the virtual machine monitor (M) that runs as a privileged task on a physical processor. A virtual machine may implement the instruction set for any processor. If it implements the instruction set for the physical processor on which it is running, it is called a hypervisor. 26

Système Classqiue Permet d'exécuter 2 (ou +) OS invités (guest OS) simultanément sur la même machine 2 approches: Native: les OS s'xécutent sur un M ou hyperviseur Apps Apps OS OS Apps Apps OS HOST ISA M ISA «Hébergé» (Hosted): On a besoin d'abord d'un OS 27

Système Classique M nécessite un OS hôte (host OS) ou non Type I: Standalone M VmWare ESX. IBM/, HP SuperDome... Xen, VLX, Denali, Disco, Type II: M nécessite un OS hôte ware Workstation, Serenity SVISTA, MSFT VirtualPC, Parallels UML, co-linux Les OS qui s'exécutent dans une sont "invités" (guest OS) 28

Système Classique Exécuter directement image binaire d'un OS Translation binaire dynamique : ware Assistance matérielle (Intel VT): K, VLX-VT Technique de «paravirtualisation» Adapter l'os pour exécution + efficace dans Inclut [drivers de ] périphériques virtuels Xen, VLX, UML 29

Problèmes Les OS ont été conçus avec l'hypothèse que ce seriat le seul logiciel controllant l'intégralité des ressources physiques de la machine: Mémoire, CPU, Interruptions, horloges, périphériques... Nécessité de détecter et résoudre les conflits entre ces différents OS: masquage interruptions, programmation MMU,... en agissant au niveau machine virtuelle pas nécessairement au niveau physique. 30

Solutions But: exécuter le binaire de l'os invité en mode non-privilégié (il a été écrit pour s'exécuter mode privilégié) Moyens: Virtualisation transparent ou native: Pas de modification préalable du binaire de l'os Traduction binaire dynamique Processeurs totalement virtualisables Para-virtualisation Modification des parties dépendantes machines 31

Virtualisation CPU Instructions privilégiées Réservées au mode superviseur (OS) Exception si exécutées en mode utilisateur Instructions dites «hardware-sensitive» Interagissent avec ressources matérielles control-sensitive: change configuration ressources behaviour-sensitive: depend de la configuration Instructions inoffensives Non hardware-sensitive Exécutables dans tous les modes 32

Processeurs Virtualisables Problème: Y a-t-il des instructions dont le comportement diffère ou devrait différer entre mode privilégié et mode non privilégié? Instructions sensibles: Trap en mode superviseur si exécutée en mode utilisateur : OK Ex: cli, sti (Intel x86) trap quand exécutée en mode utilisateur Non-op: not OK: Ex: POPF (Intel x86): Indicateur masquauge IT pas affecté en mode utilisateur Obtenir état système / matériel: pas OK Ex: Lecture CR3 (Intel x86) retournerait info physique et non pas virtuelle. 33

Virtualisation CPU Problème des instructions dites critiques Instructions hardware-sensitive NON privilégiées Ex: Intel IA-32 popf avec bit masquage interruptions en mode utilisateur, pas d'effet MAIS pas d'exception Doivent être détectées et virtualisées par M Remplacées par un «trap» vers M (patching) Instruction remplacée est interprétée par M Opère sur version logicielle ressources physiques 34

Fully Virtualizable Processors Hardware assisted virtualization Existing Solutions Existing solutions utilize concepts such as binary patching or para-virtualization Drawbacks include the complexity of binary patching and the requirement for having OS source Ring 3 Ring 1 Application Unmodified Operating System VT-enabled Intel CPUs integrate a new execution mode, enabled by an instruction set and control structure Allows for two new operating modes and a set of hardware-based triggers to switch between them Ring 3 Application Operating System Driver Front End Binary Patching Ring 0 Intel Virtualization Technology (VT-x) Virtual Machine Monitor Non Root Mode Ring 0 Root Mode Ring 3 Application Unmodified Operating System Application Unmodified Operating System Virtual Machine Monitor Ring 0 Hardware Hardware 35

Traduction Binaire Dynamique Fonctionne sur processeur sans support de virtualisation Exécute OS binaire non modifié en mode moin sprivilégié (ex: ring 3 au lieu de ring 0 sur x86) Traduction Binaire Dynamique (ex: ware sur x86) M ré-écrit dynamiquement les instructions privilégiées qui s'exécuteraient silencieusement en mode utilisateur Instructions ré-écrites à la demande, dans un cache Permet de «réorganiser» le code Impact consommation mémoire Impact sur le détermisnisme temporel Solution transparente mais complexe La complexité réside dans le M 36

Virtualisation Mémoire Mémoire Physique Mémoire de la machine physique Mémoire Réelle Mémoire attribuée par M à une mémoire réelle peut-être > mémoire physique Mémoire Virtuelle Espace mémoire attribué par un GuestOS à chaque processus 4 GB sur Intel IA-32 37

Virtualisation Mémoire Chaque guest OS gére ses tables de pages Translation adresse virtuelle <-> adresse réelle M gére mémoire physique Translation adresse réelle <-> adresse physique adresse réelle adresse physique M maintient une copie des tables de translations de chacun des GuestOS 38

Virtualisation Mémoire 1000 1000 1000 1000 2000 3000 4000 6000 5000 7000 8000 1 P1.1 P1.2 Page virtuelle mappée Page virtuelle non mappée 0 2 3000 7000 Mémoire réelle de Page réelle mappée Page réelle non mappée P2.1 Mémoire physique Espace virtuel Processus Page physique 39

Virtualisation Mémoire M peut swapper pages réelles d'une Page virtuelle non mappée par GuestOS Page réelle ne doit pas être mappée par M Respecter défauts de page du GuestOS Défauts de page réelle transparents au GuestOS Pages réelles peuvent être partagées par M entre plusieurs GuestOS 40

Ex: User Mode Linux Inclus dans le noyau 2.6 41

Ex: User Mode Linux Chaque processus "invité" s'exécute dans un processus Linux hôte Le Linux "invité" est un debogueur de ce processus 42

Ex: User Mode Linux 43

Ex: User Mode Linux 44

Ex: User Mode Linux : Accès au système de fichiers via hostfs 45

Ex: User Mode Linux / skas Pour éviter: 4 changements de contexte par appel système, que la protection (mémoire) du Linux hébergé ne ralentisse le système, Problèmes pour déboguer les processus invités, Problèmes de synchronisation On permet à un processus Linux (hôte) d'avoir plusieurs espaces d'adressage Tous les processus et le noyau Linux ihébergés sont alors différents espaces d'adressage d'un même processu hôte unique. 46

Exemples: UMLinux 0xFFFFFFFF Host OS 0xC0000000 0xbFFFFFFF Guest app. Guest app. Guest OS M process Guest machine process Guest OS 0x70000000 0x6FFFFFFF Application Space UMLinux Kernel Host operating system Guest Application Host hardware 0x0 UMLinux address space 47

Exemple: UMLinux Guest application 1 Guest OS M 4 3 2 Host Operating System 48

Exemple: VmWare Workstation & GSX Type II (hosted) Supporte OS en binaire Pas de modifications Configuration avec pilotes de périphériques appropriés Seulement sur X86 OS hébergés s'exécutent en mode utilisateur 49

Exemple: VmWare Virtualisation des périphériques Network Packet Send Guest OS Out to I/O port M Applications Context Switch Operating Systems M Driver Return to App App's Appl Virtual Machine M App Syscall Host OS driver Monitor Net Driver Bridge code Physical Machine Host Ethernet Driver Out to I/O port Ethernet H/W 50

Exemple: VmWare Virtualisation des périphériques Network Packet Receive Ethernet H/W Device Interrupt Host Ethernet Driver Virtual Machine Virtual Machine Bridge Code Net Driver Virt. NIC M Virt. NIC M Virtual Network Hub (Bridged) Host OS, Appl, Driver Return from select() M App Memcpy to memory ask M to raise IRQ M Raise IRQ Net Driver Virtual Bridge Guest OS In/Out to I/O port M Physical Machine Context Switch Phys. NIC Driver Return from IOCTL App 51

Exemples: VmWare ESX Type I (native) Supportes OS en binaire: Pas de modifications Configuration avec pilotes de périphériques appropriés X86 seulement OS hébergés en mode utilisateur 52

Exemple: VmWare ESX Couche de Virtualisation Basé sur un noyau Linux maison? Dixit ware forum Gestion Mémoire Virtuelle Swap Out / In Machines Virtuelles Partage de pages basé sur le contenu Notion de "part de memoire" Exporte fichiers FS comme des disques virtuels FS visible as /vmfs dans Service Console OS hébergé peut gérer directement un disque physique. 53

Exemple: ware ESX Supporte SMP et NUMA Jusqu'à 8 CPU virtuels par CPU Physique Réécrit dynamiquement certaines parties de l'os invité (binary translation) pour insérer des appels au M Implémente versions "double" de structures systèmes Tables de Pages Maintient cohérence=> coût à la création de processus 54

Exemple: Xen Paravirtualization Terme créé par projet Denali Modifications de l'os hébergé (pas des applications) Minimise le nombrer d'instructions à virtualiser But : capacité de tourner + de 100 But de Denali: tourner + de 1000's OS supporté: Ilwaco : exokernel libs + 1 application 55

Exemple: Xen Paravirtualization de la gestion Mémoire Can't install fully privileged segments Can't overlap with top end of linear address space Guest OS: read access to page table, updates batched and validated by hypervisor No paging by M => isolation between 's. Xen is mapped in 64 MB section at the top of every address space Ballooning (as in ESX) is used to free extra memory. 56

Exemple: Xen Paravirtualization of CPU Guest OS must run at lower privilege than Xen Ring 1 on x86 Guest OS must register exception handlers. Aside from page faults real and virtual handlers are identical Cannot access to CR2 from ring1 Store it on stack before invoking ring1 handler. Guest OS may install fast syscall handler w/o indirection through ring 0 Guest OS aware of both real and virtual time(s). 57

Exemple: Xen Paravirtualization of Device I/O Virtual devices(only) Data transfer through asynchronous I/O rings Event mechanism instead of hardware interrupt 58

Exemples: Xen Notifications from Xen to the Guest OS pending events are stored in a per-guest OS bitmask. is done using asynchronous mechanism. is sent when the flags associated with certain events like data received, I/O complete etc. are set. 59

Exemple: Xen Domain0 Handles device virtualization Control User User User Plane Software Software Software Software Created at boot time Control interface: GuestOS GuestOS GuestOS XenoLinux XenoLinux XenoLinux XenoLinux create/terminate domains Domain properties: Scheduling, memory allocation.. GuestOS X E N Domain0 control interface Virtual x86 CPU Virtual memory Virtual devices H/W (phy mem, x86 CPU) 60

Xen Performances 61

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 62

Virtuozzo Une instance unique d'os Ressources isolées Root file system, IP tables, Process for signals Autres exemples: FreeBSD jail Linux chroot http://www.sw-soft.com/en/products/virtuozzo/ve/ 63

Linux-VServer http://www.linux-vserver.org/ Ne pas confondre avec Linux Virtual Server (LVS)! LVS exporte plusieurs serveurs physique comme un seul, en utilisant du "load balancing" Linux-VServer Machine unique, instance unique d'os Noyau Linux modifié pour isoler les # instances Indépendant de la plat forme matérielle Utilisable en conjonction avec d'autres méthodes de virtualisation 64

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 65

Simulateurs Émule complètement une architecture (ISA) sur une autre Exemple: Intel on Sparc Bochs (LGPL), http://bochs.sourceforge.net/ 386, 486, Pentium, Pentium Pro, AMD64 Périphériques I/O courants, Bios Sur Unix ou Windows Pour mémoire : Plex86 (LGPL?) 66

Simulateurs FAUmachine (GPL) Successeur de UMLinux (GPL)(# de UML(GPL)!) Possibilités d'injection de fautes Outil pour automatiser des tests, expériences. Mode utilisateur, supporte des noyaux Linux natifs(?) OS hôtes: Linux, en progrès : BSD, Windows Ressemble à une extension d'umlinux avec précompilateur ou compilateur JIT pour convertir les instructions privilégiées en appels au simulateur. 67

Simulateurs Qemu http://fabrice.bellard.free.fr/qemu/ CPU cibles: X86, ARM, PowerPC, SPARC CPU hôtes: x86, PowerPC, ARM, SPARC,... OS hôtes: LINUX, WINDOWS, Mac OS X Émulation mode utilisateur seulement ou totale Utilise translation dynamique vers code natif pour des performances raisonnables. Supporte code auto-modifiant. Le CPU virtuel CPU se présente comme une librairie. 68

Simulateurs PearPC (GPL): Émulation PowerPC sur Linux/Windows http://pearpc.sourceforge.net/about.html EM86: émulation x86 sur Linux / Alpha http://www.cs.rose-hulman.edu/~donaldlf/em86/index.html SkyEye: émulation ARM7TDMI, ARM720T,StrongARM, Xscale sur Linux /Windows http://www.skyeye.org/ 69

Simulateurs SIMH (modified X-Windows license):http://simh.trailing-edge.com/ Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11, PDP-15, VAX Data General Corporation Nova, Eclipse IBM Corporation 1130, 1401, 1620, System 3 GRI Corporation GRI-909 Honeywell Corporation H316/516 Hewlett Packard Corporation HP2116, HP2100, HP21MX Interdata Corporation 16b systems, 7/32, 8/32 Scientific Data Systems SDS-940 MITS Altair 8080, Altair Z80 Royal-Mcbee LGP-30, LGP-21 70

Simulateurs Simics http://www.virtutech.com/ Simulateur complet de: Alpha, ARM, IA-64, MIPS, PowerPC, SPARC V9, x86, et AMD64. Simulation de machines SMP et de "clusters". Utilisable pour simuler de nouveaux jeux d'instructions Tourne sur Linux, Windows, Solaris,... 71

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 72

HLL 's Java Définit une architecture ISA (bytecode) Définit une "ABI" Fournit une abstraction "portable" des ressources physiques sous-jacentes Pas spécialement dédiée à la "replication" 73

Plan Historique Taxonomie Système Classique Serveurs Virtuels Simulateurs Langage haut-niveau Autres 's.../... 74

Autres 's Simple ABI Digital FX!32: supporte des applications Windows x86 sur Windows Alpha But: Rendre des applications existantes disponibles sur un "nouveau" processeur rapide avec un minimum de dégradations de performances 75

Exemple: FX!32 Collecte les profils pendant l'exécution Transforme les images en tenant compte des profils x86 Applications. Runtime & Emulator Transparency Agent Translated images Windows OS DB registry Execution Profiles Server X86 image ALPHA ISA Binary Translator 76

Autres 's ABI & OS Translation: Transitive QuickTransit: http://www.transitive.com/ Supporte applications ISA1 OS 'x' sur ISA2 OS 'y' ISA1: MIPS, x86, PPC, Mainframes ISA2: Itanium, x86, Opteron, PPC Principalement pour la migration de vieilles applications binaires vers de nouveaux systèmes Gain de performance attendu: ("très" vieux matériel -> matériel neuf, très rapide) 77

Autres 's HP Dynamo: optimise des applications PA9000 sur PA9000 Génère du code pour les "points chauds" 78

Exemples: Dynamo 79

Exemples: Dynamo 80

Autres 's Co-Designed : Transmeta Crusoe http://www.transmeta.com/ Code Morphing Execution of x86 code on VLIW processor Simplified Hardware: Mobile PIII: L1: 32KB, L2: 256KB, Die Size: 106 mm2 TM 5400: L1: 32KB, L2: 256KB, Die Size: 73 mm2 Less power consumption, less heat dissipation 81

Exemples: Crusoe Code Morphing Exécution de code x86 sur processeur VLIW 4 atomes de type RISC 128-bit molecule FADD Matériel simplifié: FPU Mobile PIII ADD LD Integer Load/Store ALU #0 Unit BRCC Branch Unit L1: 32KB, L2: 256KB, Die Size: 106 mm2 TM 5400 L1: 32KB, L2: 256KB, Die Size: 73 mm2 Plus faible consommation, moins de dissipation de chaleur 82

Exemples: Crusoe Crusoe Code Morphing Software BIOS Code Morphing VLIW engine Appls OS Software 83

Plan.../... Outils Utilisations 84

Outils : Xen Domaine 0: dédié à la gestion des Domaines créés et chargés depuis le domaine 0 Crée, construit, démarre, arrête, détruit les autres domaines Console Système gérée par le domaine 0 Migration de domaines actifs, même entre machines physiques distinctes 85

Outils : VmWare Vtools: Assistant P2V: Aide / automatise la migration de serveurs Physique vers Virtuel Copie de disque physique Re-configure système (IP/ Interface réseau, Drivers,...) Crée la avec la copie de disque 86

Outils: VmWare Virtual Center (C) Gère les serveurs comme un ensemble unique de ressources Installe Instant Servers, provisione la plate-forme Monitor serveurs Virtuels Vmotion: Permet de migrer un serveur d'une machine hôte physique vers une autre sans interruption du serveur Répartition de charge, maintenance physique 87

Outils: HP WorkLoad Manager (hp/wlm) Partitioning Continuum Hyperplex: gère les partitions physiques d'un cluster composé de plusieurs noeuds. Npartitions: Permet partition physique au sein d'une seule machine Vpar: Partition logicielle (virtualisation) au sein d'une partition physique PRM: virtualisation de serveur au sein d'une Vpar (OS unique multiplexé) 88

Plan.../... Outils Utilisations 89

Utilisations des Machines Virtuelles Hébergement d'hôtes Virtuels, Développement, Debug, test, Réseaux virtuels, Pratique de récupération en cas désastre Que faire après: #rm -rf / Éducation 90

Utilisations des Machines Virtuelles Consolidation des Serveurs: Arrêter la prolifération des processeurs Intel, Permettre aux utilisateurs de consolider les machines Maximiser utilisation des ressources serveurs Réduire le TCO (Total Cost of Ownership) 91

Utilisations des Machines Virtuelles Sécurité: Journalisation sécurisée, Détection et prévention des intrusions Honeypot, Firewalls 92

Utilisations des Machines Virtuelles Haute disponibilité Backup de serveurs 93

Utilisations des Machines Virtuelles Haute disponibilité Migrer environnement du bureau à la maison Implémentation des détecteurs de défaillance "Cluster" In A Box Replication active de l'état d'un OS 94