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



Documents pareils
Systèmes Embarqués Modulaires M2 SRI Machines Virtuelles

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

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

Windows Server Chapitre 1: Découvrir Windows Server 2008

Virtualisation open source État de l'art

Qu est ce qu un un serveur?

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

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

SMB137 - Cinquième partie

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

A propos de la sécurité des environnements virtuels

Présentation OpenVZ. Marc SCHAEFER. 9 janvier 2009

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

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

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

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

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

Atelier : Virtualisation avec Xen

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

Systèmes informatiques

Présentation d HyperV

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

Un exemple de cloud au LUPM : Stratuslab

L état de la virtualisation

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

La virtualisation, si simple!

Chapitre IX : Virtualisation

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

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

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

Virtualisation des Serveurs et du Poste de Travail

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

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

Introduction aux environnements de virtualisation d'oracle Solaris 11.1

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

VMWare Infrastructure 3

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

Systèmes d exploitation

Eric Maillé Comparatifs des hyperviseurs Vmware ESX / Microsoft HyperV

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

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

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

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

La Continuité d Activité

Dynamiser et optimiser votre IT avec la Virtualisation du poste

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

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

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

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

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

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

Windows serveur 2008 installer hyperv

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

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

NEC Virtual PC Center

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

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

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

Installation d une architecture VMware Infrastructure 3 : Bilan et perspectives

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

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

Virtualisation de serveurs Solutions Open Source

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

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?

Virtualisation : explorez le champ des possibles avec VMware

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

Virtualisation & Sécurité

Xen. Quelques notes autour de Xen

Webinar ORACLE LE LICENSING ORACLE Quel type de licensing choisir?

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

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

Présentation Windows 7 &

Configuration du serveur ESX

Le concept de virtualisation regroupe

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

Déploiement et Configuration d une infrastructure virtuelle

Consolidation. Grid Infrastructure avec la 11gR2

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

2 - VMWARE SERVER.doc

CONTEC CO., LTD. Novembre 2010

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

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

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

Retour d expérience de la plateforme de virtualisation sous Proxmox VE à l IPHC journée SysAdmin du 04/12/2014 à l INRA de Toulouse

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

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

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


Manuel d installation serveurs

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

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

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

Transcription:

Plan Systèmes Embarqués Modulaires M2 SRI 2007-2008 Machines Virtuelles 1 Historique Taxonomie Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 2 Plan Virtualisation: intérêt à la hausse.../... Outils Utilisations Référence: Virtual Machines, versatile platforms for systems and processes J.E. Smith, R. Nair, Ed: Elsevier Src: Google Trends 23 Janvier 2007 3

Mais il faut raison garder Les technologies de virtualisation semblent «populaires» Src: Google Trends 23 Janvier 2007 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) Définition (Goldberg) Bare Machine Privileged software nucleus Basic Machine Interface Bare Machine Virtual Machine Monitor Virtual Machines Basic Machine Interface User program Extended Machines Extended Machine Interfaces User program User program Privileged software nucleus #1 Extended Machine Interfaces #1 User program Extended Machines Privileged software nucleus #2 User program Extended Machine Interfaces #2 User program 9 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 Historique Taxonomie Plan Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 12

Virtualisation? Oh, Virtualisation! Virtual Networking? Intel VT? UML? IBM/? Virtual Server? ware? Transitive QuickTransit? Java, J? Application Virtualization? Pascal Pcode? Platespin? AMD S? TransMeta Crusoe? Virtual Solutions? SIMICS? Softricity? QEMU? Dynamo? VirtualPC? Virtual Reality? Virtual Storage? FX!32?c 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 Inter-opérabilité Mac Apps. Windows Apps. Linux Apps. Systèmes construits avec 3 composants principaux Mac Windows Linux Avantages: PowerPC X86 X86 Tâches de conception indépendantes Applications portables Problèmes: Composants non inter-opérables Applications ISA Mac Apps. Mac Windows Apps. Linux L'existant limite l'innovation Difficulté d'optimisation Hardware Courtesy E. Smith Courtesy E. Smith X86 X86 15 16

Machine Virtuelle Applications. Composition de Machines Virtuelles Applications. Apps Applications. Applications. Apps ISA ISA translation ISA Optimisation ISA Replication Coupling Software Real Machine Virtual Machine Apps Apps Courtesy E. Smith 17 Courtesy E. Smith ISA Composition 18 Interfaces Système Application Software System calls Operating System Application Software System calls 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 Machines Virtuelles Processus (ABI) Multiprogrammation Tout 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 QuickTransit TM 19 20

Machines Virtuelles Processus (ABI) Machines Virtuelles Système (ISA) Optimiseurs Binaires Dynamiques HP Dynamo: optimises PA-8000 on PA-8000! High-Level Language 's: Pascal (P-code), Java, Microsoft Common Language Infrastructure 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' et les applications sur une plate forme avec ISA différente Co-Designed 's Transmeta Crusoe 21 22 Taxonomy (dérivée de E. Smith) System Level (ISA) s Process Level (ABI) Une autre Taxonomie possible s System s Process s Replication (Same ISA) Translation (#ISA or possibly same ISA) (Same ISA) (Possibly different ISA) (Same ISA) (Possibly different ISA) Classic Whole System (Simics, Bochs, QEMU) Multiprogrammed Systems Dynamic Translators Multitask Classic Dynamic ISA Translators Dynamic ABI Translators (#ISA) (==ISA) (==) (#) (==) (#) Native, Type I Paravirtualized (Xen, VLX) Transparent (ware ESX, HW assist: Xen, VLX) Hosted, Type II (ware WS, K) Multitask Virtual Servers Virtuozzo, Solaris Zones Translator WABI, WINE ISA & ABI Translator FX!32 ISA & Translator Transitive High Level Language Java Virtual Servers (Virtuozzo, Solaris Zones) Para-virtualized (Xen, VLX) Native, Type I Hosted, Type II (ware WS, K) Transparent (ware ESX, HW assist: Xen, VLX) Whole System (Simics, Bochs, QEMU) High Level Language (Java) ISA & ABI Translator (FX!32) ISA & ABI Translators (==) (#) ISA & Translator (Transitive) Translator (WABI, WINE)

Historique Taxonomie Plan Système Classique Serveurs Virtuels 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 Système Classique Permet d'exécuter 2 (ou +) invités (guest ) simultanément sur la même machine 2 approches: Native: les s'xécutent sur un M ou hyperviseur Apps M ISA Apps Apps Apps HT ISA «Hébergé» (Hosted): On a besoin d'abord d'un M nécessite un hôte (host ) ou non Type I: Standalone M VmWare ESX. IBM/, HP SuperDome... Xen, VLX, Denali, Disco, Type II: M nécessite un hôte ware Workstation, Serenity SVISTA, MSFT VirtualPC, Parallels UML, co-linux Les qui s'exécutent dans une sont "invités" (guest ) 27 28

Système Classique Exécuter directement image binaire d'un Translation binaire dynamique : ware Assistance matérielle (Intel VT): K, VLX-VT Technique de «paravirtualisation» Adapter l' pour exécution + efficace dans Inclut [drivers de ] périphériques virtuels Xen, VLX, UML Problèmes Les 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 : masquage interruptions, programmation MMU,... en agissant au niveau machine virtuelle pas nécessairement au niveau physique. 29 30 Solutions Virtualisation CPU Instructions privilégiées But: exécuter le binaire de l' invité en mode non-privilégié (il a été écrit pour s'exécuter mode privilégié) Moyens: Réservées au mode superviseur () Exception si exécutées en mode utilisateur Instructions dites «hardware-sensitive» Interagissent avec ressources matérielles Virtualisation transparent ou native: Pas de modification préalable du binaire de l' Traduction binaire dynamique Processeurs totalement virtualisables Para-virtualisation Modification des parties dépendantes machines control-sensitive: change configuration ressources behaviour-sensitive: depend de la configuration Instructions inoffensives Non hardware-sensitive Exécutables dans tous les modes 31 32

Processeurs Virtualisables Virtualisation CPU 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. 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 33 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 source Ring 3 Ring 1 Ring 0 Application Unmodified Operating System Binary Patching Application Operating System Driver Front End Virtual Machine Monitor Non Root Mode Root Mode Intel Virtualization Technology (VT-x) 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 Ring 0 Ring 3 Ring 0 Application Unmodified Operating System Application Unmodified Operating System Virtual Machine Monitor Traduction Binaire Dynamique Fonctionne sur processeur sans support de virtualisation Exécute 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 Hardware Hardware 35 36

Virtualisation Mémoire 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 Guest à chaque processus 4 GB sur Intel IA-32 Chaque guest 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 Guest 37 38 Virtualisation Mémoire Virtualisation Mémoire 2000 6000 1000 4000 Page virtuelle non mappée 1000 5000 39 1000 7000 8000 1 P1.1 P1.2 0 2 P2.1 Page virtuelle mappée Page réelle mappée Page réelle non mappée Page physique 3000 7000 Mémoire physique Espace virtuel Processus 1000 3000 Mémoire réelle de M peut swapper pages réelles d'une Page virtuelle non mappée par Guest Page réelle ne doit pas être mappée par M Respecter défauts de page du Guest Défauts de page réelle transparents au Guest Pages réelles peuvent être partagées par M entre plusieurs Guest 40

Ex: User Mode Linux Ex: User Mode Linux Inclus dans le noyau 2.6 Chaque processus "invité" s'exécute dans un processus Linux hôte Le Linux "invité" est un debogueur de ce processus 41 42 Ex: User Mode Linux Ex: User Mode Linux 43 44

Ex: User Mode Linux Ex: User Mode Linux / skas : Accès au système de fichiers via hostfs 45 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 Exemple: UMLinux 0xFFFFFFFF Guest app. Guest app. Guest 0xC0000000 0xbFFFFFFF 0x70000000 Host Guest Guest application Guest 4 1 M process UMLinux Kernel Guest machine process Host operating system Host hardware 0x6FFFFFFF Application Space Guest Application M 3 2 Host Operating System 0x0 UMLinux address space 47 48

Exemple: VmWare Workstation & GSX Exemple: VmWare Virtualisation des périphériques Type II (hosted) Network Packet Send Guest Supporte en binaire Pas de modifications Configuration avec pilotes de périphériques appropriés Seulement sur X86 hébergés s'exécutent en mode utilisateur App's Host Appl driver Physical Machine Applications Operating Systems Virtual Machine Monitor Out to I/O port Context Switch Return to App Syscall Bridge code M M Driver M App Net Driver Host Ethernet Driver Out to I/O port Ethernet H/W 49 50 Exemple: VmWare Virtualisation des périphériques Network Packet Receive Ethernet H/W Host, Appl, Driver Virtual Machine Virt. NIC M Net Driver Physical Machine Virtual Machine Virt. NIC M Virtual Network Hub (Bridged) Virtual Bridge Phys. NIC Device Interrupt Host Ethernet Driver Bridge Code Net Driver Return from select() M App Memcpy to memory ask M to raise IRQ M Raise IRQ In/Out to I/O port Context Switch Guest M Driver Return from IOCTL App Exemples: VmWare ESX Type I (native) Supportes en binaire: Pas de modifications Configuration avec pilotes de périphériques appropriés X86 seulement hébergés en mode utilisateur 51 52

Exemple: VmWare ESX Exemple: ware 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 hébergé peut gérer directement un disque physique. 53 Supporte SMP et NUMA Jusqu'à 8 CPU virtuels par CPU Physique Réécrit dynamiquement certaines parties de l' 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 Exemple: Xen Paravirtualization Terme créé par projet Denali Modifications de l' hébergé (pas des applications) Minimise le nombrer d'instructions à virtualiser But : capacité de tourner + de 100 But de Denali: tourner + de 1000's supporté: Ilwaco : exokernel libs + 1 application Paravirtualization de la gestion Mémoire Can't install fully privileged segments Can't overlap with top end of linear address space Guest : 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. 55 56

Exemple: Xen Exemple: Xen Paravirtualization of CPU Guest must run at lower privilege than Xen Ring 1 on x86 Guest 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 may install fast syscall handler w/o indirection through ring 0 Guest aware of both real and virtual time(s). 57 Paravirtualization of Device I/O Virtual devices(only) Data transfer through asynchronous I/O rings Event mechanism instead of hardware interrupt 58 Exemples: Xen Exemple: Xen Notifications from Xen to the Guest pending events are stored in a per-guest bitmask. is done using asynchronous mechanism. is sent when the flags associated with certain events like data received, I/O complete etc. are set. Domain0 Handles device virtualization Created at boot time Control interface: create/terminate domains Domain properties: Scheduling, memory allocation.. X E N Control Plane Software Guest XenoLinux Domain0 control interface User Software Guest XenoLinux Virtual x86 CPU User Software Guest XenoLinux Virtual memory H/W (phy mem, x86 CPU) User Software Guest XenoLinux Virtual devices 59 60

Xen Performances Plan Historique Taxonomie Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 61 62 Virtuozzo Linux-VServer http://www.linux-vserver.org/ Une instance unique d' 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/ 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' 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 63 64

Plan Historique Taxonomie Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 65 É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 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(?) 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. Qemu http://fabrice.bellard.free.fr/qemu/ CPU cibles: X86, ARM, PowerPC, SPARC CPU hôtes: x86, PowerPC, ARM, SPARC,... hôtes: LINUX, WINDOWS, Mac 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. 67 68

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/ 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 69 70 Plan 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 Historique Taxonomie Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 72

HLL 's Plan 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 Historique Taxonomie Système Classique Serveurs Virtuels Langage haut-niveau Autres 's.../... 74 Autres 's Exemple: FX!32 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 Collecte les profils pendant l'exécution Transforme les images en tenant compte des profils x86 Applications. Transparency Agent X86 image Runtime & Emulator Translated images Binary Translator Execution Profiles DB registry Server Windows ALPHA ISA 75 76

Autres 's Autres 's ABI & Translation: Transitive QuickTransit: http://www.transitive.com/ Supporte applications ISA1 'x' sur ISA2 '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) HP Dynamo: optimise des applications PA9000 sur PA9000 Génère du code pour les "points chauds" 77 78 Exemples: Dynamo Exemples: Dynamo 79 80

Autres 's Exemples: Crusoe 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 mm 2 TM 5400: L1: 32KB, L2: 256KB, Die Size: 73 mm 2 Less power consumption, less heat dissipation Code Morphing Exécution de code x86 sur processeur VLIW 4 atomes de type RISC Matériel simplifié: Mobile PIII L1: 32KB, L2: 256KB, Die Size: 106 mm 2 TM 5400 L1: 32KB, L2: 256KB, Die Size: 73 mm 2 FADD ADD LD BRCC FPU 128-bit molecule Integer ALU #0 Plus faible consommation, moins de dissipation de chaleur Load/Store Unit Branch Unit 81 82 Exemples: Crusoe Plan Crusoe Code Morphing Software BI Code Morphing.../... Outils Utilisations VLIW engine Software Appls 83 84

Outils : Xen Outils : VmWare 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 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 85 86 Outils: VmWare Outils: HP 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 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 ( unique multiplexé) 87 88

Plan Utilisations des Machines Virtuelles.../... Outils Utilisations 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 89 90 Utilisations des Machines Virtuelles 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) Sécurité: Journalisation sécurisée, Détection et prévention des intrusions Honeypot, Firewalls 91 92

Utilisations des Machines Virtuelles Utilisations des Machines Virtuelles Haute disponibilité Haute disponibilité Backup de serveurs 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 93 94