Virtualisierung
Präsentation unter:
http://www.coufal.info/presentations/virtualisierung.html
Klaus Coufal
Stand 2016
Übersicht
Einführung und Ziel
Idee
Vorteile
Nachteile
Virtualisierungsarten
Anwendungsbeispiele
Quellen und Links
Einführung und Ziel
Virtualisierung spielt heute in vielen Bereichen eine Rolle
Virtualisierung ist ein mehrdeutiger Begriff
Sowie eine Partition eine virtuelle Festplatte und ein VLAN ein virtuelles Netz darstellt, können auch komplette Computer virtualisiert werden
Ursprünglich entwickelt, um einem Benutzer auf einem Mehrbenutzersystem seine eigene Umgebung anbieten zu können (1960er Jahre)
Mögliche Virtualisierungsarten kennen und einsetzen können
Ihre Vor- und Nachteile kennen und beurteilen
Produkte für die Umsetzung kennen
Idee
Ein "vollwertiger" Computer wird mit Hilfe von Software auf ein Rechnersystem abgebildet
Dabei nutzt der virtuelle Computer mittels der Software die realen Ressourcen
Im Idealfall bemerkt der virtuelle Computer den Unterschied nicht
Dadurch können mehrere unterschiedliche Systeme auf einer Hardware ausgeführt werden
Mittels Emulation können auch unterschiedliche "Hardware"plattformen ausgeführt werden
Heute wird diese Technologie durch Hardwareerweiterungen unterstützt (VT-x, AMD-V, ...)
In professionellen Betriebssystemen direkt verfügbar (Hyper-V, KVM, XEN, ...)
Vorteile
Bessere Ausnutzung der Hardware
Weniger Systeme durch Hardwarekonsolidierung
Niedriger Stromverbrauch (weniger Systeme, weniger Kühlung)
Weniger Platz, einfachere Administration
Ausfallssicherheit und Restore
Verschiebung auf andere Hardware im laufenden Betrieb
Neue Systeme als Kopie einer Vorlage ("Template")
Rückkehrmöglichkeit zu einem "Snapshot"
Einfaches "Restore" des Gesamtsystems (=eine Datei)
Flexibilität
In der VM unabhängig von der Hardware (keine Treiberprobleme)
Unterschiedliche Versionen eines bzw. alte Betriebssysteme möglich
Einfache Isolation der Anwendungen
Nachteile
Leistungsverlust (je nach Art 2% - 10%)
Weiterreichen von Hardware (z.B.: Dongles, ...) problematisch
Kaum Grafikbeschleunigung
Bei Hardwareausfall mehrere Systeme betroffen
Lizenzen (Bestimmungen nicht eindeutig, Mehrfachlizenzen, ...)
Kosten für die Virtualisierungslösung
Zusätzliche Kenntnisse notwendig
Zusätzliche Fehlermöglichkeit
Virtualisierungsarten
Partitionierung (Großrechnerbereich)
Emulation
Desktop- ↔ Servervirtualisierung
Para- ↔ Vollvirtualisierung
Betriebssystemvirtualisierung (Container)
Hypervisor Typ-1- ↔ Hypervisor Typ-2-Virtualisierung
Verschachtelte Virtualisierung
Partitionierung
Hier werden schon von der Hardware Möglichkeiten angeboten
Ressourcen werden über die Firmware verwaltet
Jedes Teilsystem benötigt eigene Betriebssysteminstanz
Großrechnerbereich (z.B.: IBM zSeries)
Wird im x86-Bereich nicht eingesetzt
Emulation
Hier wird die gesamte Hardware in Software abgebildet
Daher kann auch eine andere Hardwarearchitektur zur Verfügung gestellt werden
Dadurch auch große Leistungseinbußen
Hohe Flexibilität (Komplettrechner in Software)
Einsatz für die Entwicklung (z.B.: Handyapps am PC, Embedded Anwendungen, ...)
Emulation älterer Systeme zur Steuerung (kein Softwaretransfer notwendig)
Produkte: Bochs, QEMU, MS Virtual PC für MacOS, ...
Auch Teilemulation existieren: z.B.: Wine emuliert nur Windowsschnittstellen
Desktopvirtualisierung
Servervirtualisierung weitverbreitet
Desktopvirtualisierung bisher nur ein Thema für wenige Interessierte
Oft nur Anwendungsvirtualisierung (z.B.: JVM, ...)
Heute zunehmend wichtig, da
Höhere Betriebssicherheit
Bessere Wartbarkeit
Abwärtskompatibilität (z.B.: XPMode in Win7)
zunehmend Aufbau von VDI (Virtual Desktop Infrastructure)
Produkte: Citrix, Wyse, Terminalserver, Browserbasierende Lösungen, Thin Client-Lösungen, ...
Para- ↔ Vollvirtualisierung
Paravirtualisierung
Angepasste Betriebssysteme
Hardwarenah und dadurch wesentlich performanter
nutzt Teile des Hypervisors mit (API des Hypervisors)
Weniger flexibel
Produkte: XEN, ...
Vollvirtualisierung
Beliebiges Standardbetriebssystem
Weniger Performance da Hardware virtualisiert ist
Von den Möglichkeiten vollkommen unabhängig von Hypervisor
höhere Flexibilität
Produkte: KVM, VMWare Server und Workstation, Virtual Box, ...
Betriebssystemvirtualisierung (Container)
Ein Betriebssystemkern
Mehrere Systemumgebungen (Laufzeitumgebungen)
Anwendungen laufen voneinander getrennt mit eigener Umgebung aber auf dem selben Kernel
Geringer Overhead (nur ein Betriebssystem)
Hohe Sicherheit durch die Trennung
Gerne von Providern eingesetzt (z.B.: virtuelle Rootserver)
Produkte: Docker, Jails, ...
Hypervisor Typ-1-Virtualisierung
Bare-metal (native, Typ-1) Virtualisierung
Produkte: KVM, VMWare ESX/ESXi, Hyper-V-Server, ...
Hypervisor Typ-2-Virtualisierung
Hosted (Typ-2) Virtualisierung
Produkte: Virtual Box, VMWare Workstation, VMWare Player, ...
Verschachtelte Virtualisierung
Hier wird in einer virtuellen Maschine wieder mit einem Hypervisor gearbeitet
Damit sind selbstverständlich hohe Leistungseinbußen verbunden
Daher nur in Spezialfällen (Testbetrieb, Übungsbetrieb) sinnvoll
Meist Verschachtelungen des gleichen Typs
Es können aber auch die Typen gemischt werden
Theoretisch auch Mehrfachverschachtelungen denkbar
Nicht von allen Produkten unterstützt
Nested Hypervisor Typ-1-Virtualisierung
Nested Bare-metal (native, Typ-1) Virtualisierung
Produkte: s.o.
Nested Hypervisor Typ-2-Virtualisierung
Nested Hosted (Typ-2) Virtualisierung
Produkte: s.o.
Anwendungsbeispiele
Virtualisierung am Desktop
XP Mode unter Windows 7
Servertest am Desktop
Vorführung Virtual PC
Vorführung Virtual Box
Vorführung VMWare
Servervirtualisierung
Beim Provider (Viele Kundenserver, wenig Hardware)
Einfacher Transfer auf neue Hardware (z.B.: nach Hardwareschaden)
Bessere Hardwareauslastung
Ausfallssicherung
Cloudlösungen
Quellen und Links
S5: A Simple Standards-Based Slide Show System
Mein Informationsportal (www.coufal.info)
Wikipedia: Liste der Virtualisierungsprodukte
Virtualbox Startseite
VMWare Startseite
Fragen
?
Danke für Ihre Aufmerksamkeit