Konzepte und Hintergründe der Virtualisierung
(Einleitung)
Architektur | Hypervisor Typ 1 | Hypervisor Typ 2 |
---|---|---|
Vertreter | Xen, IBM z/VM, VMware ESX1), Sun Logical Domains | VMware Server und Workstation, MS VirtualPC, Qemu, Parallels Desktop + Workstation |
Vorteile: | schlank, relativ robust, performant | Keine OS Anpassung nötig (bei proprietären OS …) |
Nachteile: | OS Modifikation nötig2) | schlechte(re) Performance 3) |
Hardware- (vollständige) Virtualisierung
Technisch wird bei einer Komplettvirtualisierung jedem Gastsystem eine angepasste Hardware präsentiert. Diese Virtualisierungsschicht präsentiert dem Gastsystem eine immer gleiche Peripherie. Lediglich Prozessor- und Hauptspeicherzugriffe werden direkt an die physikalische Hardware durchgereicht, alle anderen Geräte werden emuliert . Da diese Emulierung Leistung kostet, werden im Gastsystem entsprechende Hardwaretreiber und Tools installiert, um Leistungsverluste zu minimieren. Dieser Leistungsverbrauch, auch virtualization overhead genannt, schmälert die reale Leistung, die den Gastsystemen durch das Wirtssystem zur Verfügung gestellt werden kann.
Quelle: OpenVZ und Xen (Dennis Zimmer und Andreas Niederländer (OpenSource Jahrbuch 2007)
FreeVPS: Virtuelle Server
Paravirtualisierung
Paravirtualisierung unterscheidet sich von der Komplett- oder Hardwarevirtualisierung in dem Sinne, dass hierfür eine Anpassung des Gastsystems notwendig wird. Während die Hardwarevirtualisierung der virtuellen Maschine eine komplette Umgebung mit Standardgeräten zur Verfügung stellt, merkt das Gastbetriebssystem nichts von der Virtualisierung und muss nicht angepasst werden. Paravirtualisierung basiert jedoch darauf, dass die virtuelle Maschine mit der speziell für die Virtualisierung kreierten virtuellen Hardware kommunziert. Diese wird durch die Virtualisierungsschicht (VMM oder Virtual Machine Monitor) erstellt. Dies kann sie jedoch nur, wenn der Betriebssystemkern (Kernel)2 so angepasst wird, dass dieser statt mit der physikalischen Standardhardware mit der virtualisierten Hardware kommuniziert. Dadurch muss die physikalische Hardware nicht für jede einzelne virtuelle Maschine virtualisiert werden, sondern die Gastbetriebssysteme greifen direkt auf eine angepasste Hardware zu. Hierbei nutzen Hypervisor und Gastsysteme immer die gleichen Treiber.
Betriebssystemvirtualisierung
Die Betriebssystemvirtualisierung geht einen anderen Weg und virtualisiert nicht ein Hardwaresystem, sondern partitioniert das Betriebssystem in mehrere (von der Basis her gleiche) Teile. Vorteil der Betriebssystemvirtualisierung ist, dass idealerweise bei der Erstellung der Gastsysteme nur die Individualdaten der virtuellen Maschine angelegt werden. Alle gleichen Betriebssystemdaten (Programmbibliotheken etc.) des Wirtssystems werden durch die Gäste mitgenutzt. Dies gilt ebenfalls für die laufenden Prozesse. Weitere Anpassungen des Gastbetriebssystems sind in keiner Form nötig. Abweichende Daten werden im Heimatverzeichnis der virtuellen Maschine abgelegt. Mittels dieser Technik besteht eine virtuelle Maschine in der Grundausstattung nur aus sehr wenigen Dateien und verbraucht deutlich weniger Hauptspeicher als ein normal installierter Server. Betriebssystemvirtualisierung steht für eine sehr hohe Ausnutzung der Wirtssystemressourcen, d. h. einen geringen Virtualisierungsoverhead (1-3 %). Darüber hinaus ist aufgrund der geringen Leistungsansprüche der Gäste eine sehr hohe Anzahl virtueller Maschinen auf verhältnismäÿig schwacher Hardware möglich (ca. Faktor zehn gegenüber Komplettvirtualisierung). Größter Nachteil ist die Abhängigkeit des Gastsystems vom Wirtssystem, da eine homogene Basis vorausgesetzt wird. Wichtigster Aspekt auch dieser Form der Virtualisierung ist, dass alle Gäste voneinander getrennt und unabhängig agieren können.
Anwendungsvirtualisierung
Verbreitete kommerzielle Lösungen sind