2012W OS03 Virtual Machines
Transcription
2012W OS03 Virtual Machines
System Software Winter 2012 Opera&ng Systems Virtual Machines Virtualisierung System X‘‘ System X‘ System X „Virtualiza&on s a framework oMaschine r Maschine Yi‘‘‘ Y‘‘ methodology of dividing the resources of a computer into mul&ple execu&on environments, by applying one or more concepts or technologies such as hardware and soAware par&&oning, &me-‐sharing, par&al or complete machine simula&on, emula&on, quality of service, and many others.” Maschine Y‘=Y VirtualisierungssoAware Maschine Y Amith Singh (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 1 System Software Winter 2012 Vorteile • Server-‐Konsolidierung • Testen und Debugging • Isola&on – Sandboxing – Fault / Error Containment • Ausführung von Legacy SoAware – Alte Anwendungen – Alte Betriebssysteme • Indirek&onsstufe – – – – – Migra&on Quality of Service Lastverteilung Administra&on Automa&sierung • Schulungen • Auslieferungsmedium für Anwendungen – Einsichten in neue SoAware Nachteile • Zeit-‐ und Platzeffizienz • Schlecht virtualisierbare Hardware • Bereits im Gast-‐OS genutzte Virtualisierung (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 2 System Software Winter 2012 Serverkonsolidierung • Hardwarekonzentra&on und Servervirtualisierung • Vorteile – – – – – – – – – Verbesserte Hardwareauslastung Skalierbarkeit auf Mul&prozessorsystemen Schnelle und flexible virtuelle Vernetzung Geringere Kosten Planbarkeit der Last Höhere Verfügbarkeit Quality of Service Migra&on Gute Virtualisierbarkeit • Keine „exo&sche“ Hardware Bedeutung • 75% of enterprises aware of virtualiza&on • 34% implemen&ng virtualiza&on by mid-‐2006 • 60% increasing virtualiza&on in the next year Forrester, Februar 2006 (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 3 System Software Winter 2012 Technik ist recht verbreitet! • Virtualisierung einzelner Ressourcen – Terminal = Window • Ak&ves Fenster hat Fokus (=Keyboard und Maus) – CPU = Thread – Adreßraum Speicher = Virtual Memory – … • Virtualisierung ganzer Rechner – 16 Bit Windows und DOS-‐Anwendungen • Ausführung in einer virtuellen Maschine – Virtuelle Maschinen unterschiedlichster Bauart Ressourcen-‐Virtualisierung • Bessere Ausnutzung – Kontextwechsel bei blockierendem Aufruf – Nebenläufige Anwendungen profi&eren von Mul&prozessoren • … aber laufen auch auf Monoprozessoren • Eliminieren von Engpässen – Mehr Speicher durch Paging – Jede Anwendung bekommt ihr eigenes Terminal • Schutz / Isola&on – Anwendungen untereinander isoliert – Betriebssystem vor defekten/bösar&gen Anwendungen geschützt (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 4 System Software Winter 2012 Beispiel „Virtueller Speicher“ Stack Heap Data Code Page Table • Abbildungsverfahren – Ort jeder genutzten virtuellen Seite im Speicher Realer Adreßraum Virtueller Adreßraum MMU • Mehrwert – Isola&on von Adreßräumen – Schutz – Bessere Speichernutzung • Overhead wird durch speziellen Cache (Transla&on Lookaside Buffer) minimiert Historische Wurzeln • 1959 bis 1970, IBM federführend, aber auch MIT u.a. • Geburtsstunde des Mul&-‐Programming und Time-‐Sharing – Atlas Project, Manchester (1961) – Mul&cs, MIT (1963) – m44/44X, IBM 704 Serie, CTSS, CP-‐40, CP-‐67, VM/370 IBM (ca. 1965) • Mehrere iden&sche Kopien der Hardware • Kommende OS-‐Genera&on noch zu jung und instabil • Schnelle Nutzung der besser werdenden Hardware • Etablierte und zuverlässige Betriebssysteme miwels virtuellen Maschinen replizieren (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 5 System Software Winter 2012 Virtualisierungsarten • Emula&on – Vollständige Simula&on anderer CPU und Hardware • Na&ve Virtualisierung (Full Virtualiza&on) – Keine Änderung des Gastsystems (=Transparenz) • Paravirtualisierung – Gastsysteme sind sich ihrer Virtualisierung bewußt – Transparenz oberhalb des Gastes • OS-‐Level-‐Virtualisierung – Betriebssystem virtualisiert mehrere Instanzen seiner selbst • Anwendungsvirtualisierung Emula&on • Interpreta&on – MS Virtual PC für PPC – Emulatoren für Atari, VC64, Apple II, … • Übersetzung – Rosewa (MAC OS X, PPC auf Intel) – WOW64 (32 Bit Windows auf Itanium 2) – … • Performanz (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 6 System Software Winter 2012 Na&ve Virtualisierung • Befehlssatz Gast = Befehlssatz Host • Voraussetzungen Anwendung Nicht-‐Privilegiert – Privilegierter und nicht-‐privilegierter Modus – Gut virtualisierbare CPU ;-‐) Gast-‐OS Nicht-‐Privilegiert • Gast-‐OS führt privilegierte Instruk&on aus Anwendung Virtuelle Nicht-‐Privilegiert Hardware – VMM interpre&ert Befehl im Kontext der virtuellen Hardware VMM OS Privilegiert • Wechsel zu virtueller Hardware für Gast-‐OS unsichtbar Hardware Typ-‐1 und Typ-‐2 Type-2 VMM Gast 1 Gast 2 VMM Gast 1 Gast 2 Host OS VMM Hardware Hardware • Beispiele – – – – Type-1 VMM (Hypervisor) VMware Worksta&on VMware GSX Server MS Virtual PC MS Virtual Server (c) Peter Sturm, University of Trier, D-54286 Trier, Germany • Beispiele – VMware ESX Server 7 System Software Winter 2012 Beispiele • Berühmtester Vertreter: VMware – Fortgeschriwene Konzepte • • • • Drag and Drop Schnappschüsse Clones Diverse Mul&mediafähigkeiten (Sound, experimentelles 3D, …) • Virtuelle Rechnernetze • MicrosoA Virtual PC und Virtual Server • Parallels für Apple-‐Hardware – Anwendungsfenster unabhängig vom Desktop • Virtual Box von Sun Kri&sche Instruk&onen • Reale CPUs mehr oder weniger gut virtualisierbar • x86 eher weniger J • Gründe – Nicht-‐privilegierte Instruk&onen geben AuskunA über privilegierte Hardware-‐Informa&onen (Interrupts, …) – Instruk&onsresultat abhängig vom Ausführungsmodus – Instruk&onen verändern versteckten Prozessorzustand • Insgesamt 17 kri&sche Instruk&onen – Ausführung löst keine Excep&on aus – Für VMM schwer erkennbar (z.B. aufwendige Filterung) (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 8 System Software Winter 2012 Paravirtualisierung • Gast-‐System muß angepaßt werden • Vorteile – Für Virtualisierung ungüns&ge Hardware-‐EigenschaAen abschwächen bzw. au}eben – Kri&sche Instruk&onen vermeiden – Geringe Effizienzverluste • Nachteile – Zugang zum Sourcecode notwendig • Bedeutendster Vertreter: Xen • Starkes Interesse seitens VMware und MicrosoA Xen Host Gast 1 Gast n Dom0 Dom1 Dom n Xen Hypervisor Hardware • Open Source Projekt der Universität Cambridge • Volle Virtualisierung mit HW-‐Unterstützung möglich • Spezielles Hostsystem in Dom0 – stellt in der Regel Treiber für E/A bereit – Führt diverse Xen-‐Prozesse aus • Gäste greifen über virtuelle Treiber und Host auf Geräte zu – Shared Memory und Events (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 9 System Software Winter 2012 User-‐Mode Linux (UML) • Por&erung des Linux-‐Kernels auf virtuelle Architektur um • arch/um bildet Funk&onalität auf System Calls ab ⇒ UML besteht aus mehreren Linux-‐Prozessen Anwendungen Linux Anwendungen arch/um Linux arch/i386 Hardware i386 Hardware um OS-‐Level Virtualisierung • Dünne Virtualisierungsschicht oberhalb des Betriebssystems • Jedes Server-‐OS bietet entsprechende Möglichkeiten – Virtual Environments, Virtual Private Servers, Jails, vservers, Zones, Containers, … • Kommerzielle Lösungen • Bemerkungen – Leichtgewich&g – Vergleichsweise komplex – Meist fangen vorgeschaltete Kerneltreiber alle Aufrufe ab Service 1 Service 2 Service 3 OS X OS X OS X Virtualisierungsschicht OS X Hardware (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 10 System Software Winter 2012 Produkte Wikipedia ABI/API-‐Virtualisierung • WINE – Windows API auf UNIX/Linux und X • CrossOver – Kommerzielle Wine-‐Version • SUN WABI – Windows Applica&on Binary Interface – für x86 – Emula&on auf SPARC • … (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 11 System Software Winter 2012 Applica&on Virtualisierung • Viel Ähnlichkeit mit Emula&on, aber … – keine Nachbildung eines vorhandenen Befehlssatzes – sondern eigenständige, problemspezifische Lösung • Meist deutlich höhere Abstrak&onen als CPU-‐Instruk&onen • Wich&gste Vertreter – Java Virtual Machine (JVM) – .NET Common Language Run&me (CLR) • DIE Laufzeitpla~ormen der Gegenwart Beispiele Wikipedia (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 12 System Software Winter 2012 Weitere Beispiele • Web-‐Server – Virtual Directory – Virtual Host • Applica&on Server – Enterprise JavaBeans – Weitere Indirek&onsstufe • WPF und WF aus .NET 3.0 – Instruk&onssätze • XAML • XAML Presenta&on • XOML MicrosoA • Diverse Ansätze seit mindestens 1995 in Benutzung • Virtual DOS Machine (VDM) – DOS-‐Anwendungen unter Windows ausführen • WOW32, WOW64 – Unterstützung für 16-‐Bit-‐Anwendungen auf 32-‐Bit-‐Windows und 32-‐Bit-‐ Anwendungen auf 64-‐Bit-‐Windows • ABI/API-‐Emula&onen für OS/2 und POSIX • Applica&on Virtualiza&on – SQL Server, IIS, Exchange Server, Terminal Server, …. • Aktuelle Produktlinie • Ziel: Paravirtualisierte Windows-‐Betriebssysteme, Hypervisor (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 13 System Software Winter 2012 Windows Enlightenment • Paravirtualisierbare Windows-‐Betriebssysteme • Seit Longhorn (Codebase Vista für Server) • Verlagerung der Treiber in Gast-‐OS – Virtualiza&on Provider – Virtualiza&on Client – Direkter HW-‐Zugang für Gäste • Direct3D bzw. DirectX für Gäste zugänglich !!! Sicherheit • VMWare SoAware – Remote Heap Exploit in vmnat.exe – Angreifer kann eine virtuelle Maschine verlassen und Host kompromieren • Angriffe auf JVM und .NET CLR durch Fehler in der Speicherverwaltung – S. Govindavajhala, A.W. Appel, Princeton, 2003 (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 14 System Software Winter 2012 Blue Pill Awack • Joana Rutkowska, COSEINC • Nutzt Hardwareunterstützung für Virtualisierung – Malware wird kleiner Hypervisor – OS kommt in eine virtuelle Umgebung und wird kontrollierbar – Geht „On the fly“ • Exploit auf AMD64 SVM über Vista • Schutz mit zusätzlicher HW-‐Unterstützung möglich – Authenifizierung auf HW-‐Ebene beim Einrichten neuer VMs Matrix und Blue Pill TRENDS (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 15 System Software Winter 2012 Trends • Mehr Funk&onalität – Migra&on virtueller Maschinen im laufenden Betrieb – Konver&erung • Aus realer Installa&on wird virtuelle Installa&on • Aus virtueller Installa&on wird reale Installa&on • Zwischen verschiedenen virtuellen Formaten • Mehr Standards – Offenlegung der Formate virtueller Festplawen – Management komplexer virtueller Infrastrukturen • Mehr Hardwareunterstützung – Paravirtualisierung bei Hardwaretreibern • Zugriff auf 3D-‐Features moderner Graphikkarten in der virtuellen Maschine – Direkter Support in modernen CPUs Visionen?! • Virtuelle Maschinen werden immer „billiger“ – Ausreichend viele CPUs vorhanden – Kompakte Images • Snapshots werden als Deltas gespeichert • Mehrere VMs nutzen gleiche Codebasis • Hypervisor + Virtuelle Maschinen wird Normalfall • „Wenn der Prophet nicht zum Berg kommt, …“ – Betriebssysteme erlauben saubere Anwendungsstrukturen – Aber viele Anwendungen werden „unsauber“ realisiert – Jede Anwendung bekommt eigene virtuelle Hardware • Virtuelle Maschinen werden Einheiten des Deployments (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 16 System Software Winter 2012 Virtuelle Zeiten • Anwendungen werden als vorkonfigurierte virtuelle Maschinen ausgeliefert – – – – Bessere Isola&on Weniger Wechselwirkungen Erhöhte Flexibilität Erhöhte Mobilität • Viele VMs laufen auf jeweils einem Rechner – Zeit-‐ und Platzeffizienz • Renaissance in Forschung und Entwicklung • Virtualisierungstechniken sind neuer alter Trend Trend 1: OnBoard Hypervisor • ESX Server 3i – 32 MB klein – Kein Linux mehr als Basis à BareMetal • ESX Server 3i in Flash-‐Baustein auf Mainboard – Dell, Fujitsu Siemens, HP, IBM, NEC – Voraussichtlich ab Ende 2007 verfügbar – BIOS-‐ähnliches Handling • Updates – Firmware-‐Update Mainboard (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 17 System Software Winter 2012 Trend 2: Business Model ändert sich • Hypervisor werden güns&ger – ESX Server 3i einzeln für 495 $ (ehemals 1000 $) – MicrosoA Hyper-‐V • • • • Ex-‐Veridian VHD-‐Spezifika&on à Citrix-‐ und Xen-‐kompa&bel Unterstützt Linux-‐Gäste 28$ (sic!) • Management wird wich&ger – ESX Server 3i enthält keine eigene Mgmt-‐Konsole mehr – VMWare fokussiert auf Management-‐Tools • Strategie – Virtualisierung allgegenwär&g machen à Management-‐Bedarf wächst à Integrierte Lösungen verkaufen Trend 3: Hypervisor wandelt sich • 1. Genera&on – Hosted Typ-‐2-‐Hypervisor Hardware Host Betriebssystem Hypervisor Gast Betriebssystem Applika&on (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 18 System Software Winter 2012 Aktuelle Genera&on • Na&ve Typ-‐1-‐Hypervisor Hardware Hypervisor Gast Betriebssystem Applika&on Trend … • Managed Code Hardware Hypervisor Gast Betriebssystem Managed Run&me Environment Applika&on (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 19 System Software Winter 2012 Trend 4: Gast-‐OS wandelt sich • Beispiel ESX Server 3i – Teilmenge der POSIX OS-‐API – VSockets über VMCI (zukünAig) – Microkernel++? • Canonical JeOS – Just Enough Opera&ng System – Minimal-‐Ubuntu für Virtual Appliances – Für ESX Server 3i Hypervisor HW HV RTE • BEA Liquid VM – JVM für den Hypervisor – Für Virtual Appliances Applika&on • MicrosoA Server Core – Konfigurierbarer minimal Windows Server ohne GUI Oder noch schlimmer ... • ... Browser ist das Betriebssystem – Vergleichbar JVM oder CLR • Beispiel Chrome • Trend „Rich Internet Applica&ons“ (RIAs) – Aspekt verteilter Systeme – Integra&on von Clouds bzw. *aaS HW Minimal OS Browser RIA (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 20 System Software Winter 2012 Trend 5: HW Support • Hypervisor in Flash-‐Baustein auf Mainboard • IO-‐Controller mit Virtualisierungs-‐Support • Verbesserte CPU Unterstützung – Nested Page Tables – VM-‐Switch in ZukunA effizienter Hardwareunterstützung • Support für virtuelle Maschinen – Unzulänglichkeiten der x86-‐Architektur bzgl. Virtualisierung besei&gen – Intel VT (früher Vanderpool) – AMD V (früher Pacifica) • IOMMU – – – – Virtuelle Adreßabbildung und Schutz bei DMA-‐Zugriffen Legacy 32-‐Bit-‐Support auf 64-‐Bit-‐Systemen Direkter aber geschützter Zugriff virtueller Gäste auf Hardware Direkter aber geschützter Zugriff von Anwendungen augf Hardware (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 21 System Software Winter 2012 Intel VT VM Entry Host-‐State Area Guest-‐State Area VM Exit • Zwei Realisierungen – x86-‐Architektur: VT-‐x – Itanium: VT-‐i • VM Exits sind konfiguierbar – – – – Welche Excep&on soll Exit auslösen? Welcher I/O-‐Zugriff? Welche maschinenspezifischen Register sind geschützt? Welche kri&schen Instruk&onen? Trend 6: VM als Einheit des Deployment • Open Virtual Machine Format (OVF) – Portabel und HV-‐unabhängig – XML-‐basierter Standard zum Austausch virtueller Maschinen – Unterstützt „Virtual Appliances“ / „SoAware Appliances“ • „Nicht nur Betriebssysteme sondern Applika8onen“ • Virtual Appliances – VM-‐Ensembles als einheitliche Applika&on – Beispiel CRM-‐Applika&on • Web Server, Datenbank-‐Server, Frontend, … • Jede Komponente eine VM – Einfache „Installa&on“ (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 22 System Software Winter 2012 OVF Details… • Standardisierungsprozess – Distributed Management Task Force (DMTK) • Dell, HP, IBM, MicrosoA, VMWare, XenSource et al. – Aktuell Entwurf-‐Status – VMWare Infrastructure bietet bereits Support für OVF Beispiel: OVF Import (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 23 System Software Winter 2012 Beispiel: OVF Import Beispiel: Virtual Appliance (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 24 System Software Winter 2012 Virtual Appliances heute • Vorteile für SoAware-‐Provider und Kunden – – – – Verminderte Heterogenität Minimierung der Setup-‐ und Konfigura&onsprobleme „Never touch a running system“-‐Syndrom Kunden wird Angst vor Upgrade genommen • Forrester Research – Viele hundert Appliances am Markt – „Insbesondere für kleine Unternehmen mit 5 – 100 Anwendern interessant da häufig kein eigenes IT-‐Personal“ Konver&erung • Xen kann VMware-‐Images umwandeln • VMware Converter (vorher „Virtual Machine Importer“) • … Abbildung VMware (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 25 System Software Winter 2012 Standards • Image Spezifika&onen – Interne Repräsenta&on der virtuellen Laufwerke offengelegt • VMware • MicrosoA • Zusammenarbeit bei – Defini&on eines Paravirtualisierungs-‐APIs • Windows auf Xen ohne Sourcecode und HW möglich – Einheitliche Management-‐APIs • Ums&eg von Apple auf Intel-‐CPUs hat Szene belebt – VMware wird Produkt für Apple im 1. HJ 2007 anbieten – Parallels ist ein flinker kleiner „David“ Offene Fragen • Gast-‐OS – Hat Anwender Zugriff? – Lizenz? – Full-‐Fledged OS? • Update-‐Prozess – Wie genau gestaltet? – Daten innerhalb der Appliance-‐VMs? • Sicherheit – Wer trägt Kosten? – HaAung? (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 26 System Software Winter 2012 Trend 7: VMs werden erwachsen • Nicht mehr nur bloßes „Nachahmen“ realer HW – VMs können viel mehr • Beispiele – Physical-‐2-‐Virtual – Virtual-‐2-‐Physical – VMo&on • Live Migra&on Record/Replay • Komplewe Kontrolle der Zeit aus Sicht einer VM – Vollkommen determinis&sche Ausführung • Einsatzszenarien – SoAware-‐Tests / Debugging • • • • Exakte Reproduzierbarkeit von Fehlern Race-‐Condi&ons Als Log an Entwickler liefern Debugger nachträglich einhängen – Consumer • Recovery im täglichen Einsatz? • VM-‐basierte Wiederherstellungspunkte? (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 27 System Software Winter 2012 DISKUSSION These 1: HW-‐Hypervisor wird Standard • Innova&onen im IT-‐Bereich – Professional à Prosumer à Consumer • Server von heute = Worksta&on von morgen? – Siehe RAID, SCSI, Mul&core, Virtualisierung … • Preise für Hypervisor im Sturzflug – 28 $ ≈ 16 € für MicrosoA Hyper-‐V – Gehen in Mainboard-‐Kosten unter • In ZukunA Hypervisor auf jedem Mainboard? – Liegt im Interesse der Hersteller (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 28 System Software Winter 2012 These 2: Virtualisierung wird Normalfall • Legacy-‐Berg wächst auch beim Anwender • In ZukunA SoAware nur noch als virtuelle Maschine – Beschreibung benö>er (virtueller) Hardware bspw. In OVF – XML-‐basiert und Hypervisor-‐unabhängig • Na&ve Applika&onen auf einige (wenige) Domänen beschränkt • In ZukunA – „Na&v“ = Direkt auf Hypervisor? These 3: Schlanke Gast-‐Betriebssysteme • Full-‐Fledged Betriebssystem zu schwergewich&g – Memory-‐ und Disk-‐Footprint – Lizenzproblema&k – Sicherheitsaspekte • In ZukunA abgespeckte Varianten für wenige Dollar – Werden mit SoAware mitgeliefert • Windows Server Core und JeOS erste Schriwe in diese Richtung Betriebssystem (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 29 System Software Winter 2012 Referenzen • AMD – hwp://www.amd.com/de-‐de/Processors/ProductInforma&on/0,,30_118_8796_14287,00.html • Amit Singh, An Introduc&on to Virtualiza&on – hwp://www.kernelthread.com/publica&ons/virtualiza&on/ • Intel – hwp://www.intel.com/technology/virtualiza&on/index.htm • MicrosoA – hwp://www.microsoA.com/whdc/system/plaàorm/virtual/default.mspx • XEN 3, A. Radonic, F. Meyer, Franzis Professional Series, 2006 • Wikipedia Referenzen (2) • Matrix – Die Filme von Andy Wachowski & Larry Wachowski • Simulacron 3 – SF-‐Roman von Daniel F. Galouye, 1964, USA – Verfilmung von R.W. Fassbinder „Welt am Draht“ – Verfilmung von R. Emmerich „The Thirteen Floor“ (c) Peter Sturm, University of Trier, D-54286 Trier, Germany 30