Was versteht man unter Paravirtualisierung?
Anders als bei der Komplett- wird bei der Paravirtualisierung der Kernel des Gastsystems so angepasst, dass dieser direkt mit der von der Virtualisierungsschicht bereitgestellten und nicht mit der physikalischen Hardware kommuniziert, sprich: die VM weiß von der virtuellen Hardware. Auf diese Weise muss die physikalische Hardware nicht für jede einzelne VM gesondert virtualisiert werden. Vielmehr greifen die Gast-Betriebssysteme direkt auf eine angepasste Hardware zu.
Xen, der bekannteste Vertreter des Paravirtualisierungs-Modus, erlaubt es, die Hardware dynamisch in die für den Betrieb der Gastsysteme benötigten Ressourcen aufzuteilen. Das User-API des Gast-Betriebssystems wird nicht verändert, so dass nur dessen Kernel anzupassen ist, alle sonstigen Daten (etwa Betriebssystem, Programme) können hingegen unverändert bleiben. Die Anpassung des Betriebssystem-Kernels erfordert Einblick in die Programmquellen, was etwa eine Windows-Portierung ohne die Hilfe von Microsoft unmöglich macht. Der Virtualisierungsschwund bei der Paravirtualisierung fällt deutlich geringer aus und beträgt zwischen 0,1 und fünf Prozent.
Das Problem, dass die Unterstützung der Betriebssystemhersteller benötigt wird hat beispielsweise auch VMware erkannt. Der Hersteller bietet jetzt die Möglichkeit, teilweise mit paravirtualisierten Komponenten zu arbeiten. So haben die Betriebssystemhersteller nur die Verpflichtung, passende Treiber zu liefern; eine Anpassung des Kernels ist nicht notwendig.
Stärken und Schwächen Paravirtualisierung
Plus
-
flexible Anpassung der Gasthardware (teilweise auch während der Laufzeit);
-
nur ein Prozess zur Abbildung der virtuellen Hardware erforderlich;
-
verbesserter Zugriff auf die virtuelle Hardware durch das Gast-Betriebssystem.
Minus
-
Hardware muss durch die Virtualisierungssoftware unterstützt werden;
-
manche Hardware lässt sich im Gastsystem nicht abbilden (etwa Faxkarten), es gibt aber zum Teil Lösungen extern benötigte Schnittstellen via IP zu nutzen;
-
Anpassung der Gast-Betriebssysteme notwendig;
-
unter Umständen ist eine Anpassung bei Updates des Hosts/Gasts erforderlich;
-
hohe Systemkapazitäten pro Gast notwendig.