Definition

Paravirtualisierung

Paravirtualisierung ist eine Erweiterung der Virtualisierungstechnologie, bei der ein Gastbetriebssystem vor der Installation in einer virtuellen Maschine (VM) modifiziert wird, damit alle Gastbetriebssysteme innerhalb des Systems Ressourcen gemeinsam nutzen und erfolgreich zusammenarbeiten können, statt die gesamte Hardwareumgebung zu emulieren.

Bei der Paravirtualisierung greifen Nutzer auf virtuelle Maschinen über Schnittstellen zu, die der zugrunde liegenden Hardware ähnlich sind. Das minimiert den Overhead und optimiert die Systemleistung.

Die größte Einschränkung der Paravirtualisierung ist die Tatsache, dass das Gastbetriebssystem speziell auf den Virtual Machine Monitor (VMM) zugeschnitten werden muss, das Host-Programm, das es einem einzelnen Computer ermöglicht, mehrere, identische Ausführungsumgebungen zu unterstützen. Durch die Paravirtualisierung entfällt die Notwendigkeit, dass die virtuelle Maschine privilegierte Anweisungen abfangen muss (sogenanntes Trapping).

Trapping, ein Mittel zur Behandlung unerwarteter oder unzulässiger Bedingungen, kann zeitaufwändig sein und die Leistung von Systemen, die vollständig virtualisiert sind, beeinträchtigen.

Wie funktioniert die Paravirtualisierung?

Die Paravirtualisierung löst einige Probleme der vollständigen Virtualisierung. Der Hauptunterschied zwischen Paravirtualisierung und Vollvirtualisierung besteht in der Möglichkeit, bei der Paravirtualisierung Änderungen am Gastbetriebssystem vorzunehmen.

Außerdem weiß das Gastbetriebssystem bei der Paravirtualisierung, dass es virtualisiert wird. Bei der Vollvirtualisierung weiß das unveränderte Betriebssystem nicht, dass es virtualisiert wird, und sensible Betriebssystemaufrufe werden erfasst und mithilfe der Binärübersetzung übersetzt.

Da das Gastbetriebssystem Zugriff auf die zugrunde liegende Hardware erhält, ermöglicht die Paravirtualisierung die Kommunikation zwischen dem Gastbetriebssystem und dem Hypervisor und verbessert so die Leistung und Effizienz des Systems.

Im Einzelnen besteht der Paravirtualisierungsprozess darin, dass das Gastbetriebssystem speziell für die Installation auf einer VM modifiziert wird. Dies ist notwendig, da unmodifizierte Gastbetriebssysteme nicht auf einem VMM laufen können. Ziel der Modifikation ist es, die Ausführungszeit zu verkürzen, die für die Ausführung von Operationen erforderlich ist, die in virtuellen Umgebungen problematisch sein können.

Bei der Paravirtualisierung wird der Gastkernel so modifiziert, dass er mit dem Hypervisor zusammenarbeitet. Dabei werden häufig Operationen, die nur auf Ring 0 des Prozessors ausgeführt werden, durch Aufrufe an den Hypervisor (Hypercalls) ersetzt.

Der Hypervisor übernimmt diese Aufgabe für den Gast-Kernel und stellt Hypercall-Schnittstellen zur Verfügung, über die andere wichtige Kernel-Operationen wie Interrupt-Behandlung, Zeiterfassung und Speicherverwaltung abgewickelt werden können. 

Einsatzmöglichkeiten der Paravirtualisierung

Paravirtualisierung ist eine Erweiterung einer Technologie, die bereits seit Jahren im IBM-Betriebssystem existiert. Xen, ein Open-Source-Hypervisor, beinhaltet Paravirtualisierung. Xen virtualisiert den Speicher und den Prozessor mit einem veränderten Linux-Kernel. Außerdem virtualisiert es die E/A durch benutzerdefinierte Gerätetreiber des Gastbetriebssystems.

Die Paravirtualisierung bietet verschiedene Leistungsvorteile sowie Effizienzgewinne, die eine bessere Skalierung ermöglichen. Sie ist in einer Vielzahl von technischen Bereichen nützlich, darunter:

  • Disaster Recovery
  • Kapazitätsmanagement
  • Trennung von Testsystemen und Entwicklungsumgebungen
  • Übertragung von Daten von einem System auf ein anderes

Vor- und Nachteile der Paravirtualisierung

Zu den Vorteilen der Paravirtualisierung gehören:

  • Die direkte Kommunikation zwischen dem Gast-Kernel und dem Hypervisor verbessert das Leistungsniveau.
  • Die bei der Paravirtualisierung geschaffene dünne Softwareschicht steuert den Datenverkehr des virtuellen Servers, indem sie einem einzigen Gastbetriebssystem den Zugriff auf das physische Hardwaregerät ermöglicht, während sie den Zugriff für alle anderen Gastbetriebssysteme unterbindet.
  • Da bei der Paravirtualisierung die Hardware nicht vollständig simuliert wird, ist der Virtualisierungs-Overhead geringer.
  • Paravirtualisierung umfasst keine Gerätetreiber, da sie die bereits im Gastbetriebssystem vorhandenen Treiber nutzt. Daher können Unternehmen die Hardware des Servers in vollem Umfang nutzen und sind nicht auf Hardware mit verfügbaren Treibern beschränkt, wie es bei der vollständigen Virtualisierung der Fall ist.

Zu den Nachteilen der Paravirtualisierung gehören:

  • Für jede Interaktion mit den Paravirtualisierungsschnittstellen sind Änderungen am Gastbetriebssystem erforderlich, wodurch die Unterstützung von Open-Source-Betriebssystemen wie Linux eingeschränkt wird.
  • Da die Paravirtualisierung nicht mit unmodifizierten Gastbetriebssystemen funktionieren kann, ist ihre Kompatibilität und Portabilität mit Systemen wie Microsoft Windows minimal.
  • Es können erhebliche Support- und Wartungsprobleme entstehen, da die Produktionsumgebung komplexe Änderungen am Gast-Kernel erfordert.
Diese Definition wurde zuletzt im Januar 2023 aktualisiert

Erfahren Sie mehr über Containervirtualisierung