chris - Fotolia

Paravirtualisierung vs. Virtualisierung: Die Unterschiede

Paravirtualisierung und vollständige Virtualisierung abstrahieren beide Hardwareressourcen. Sie unterscheiden sie sich bei der Isolierung zwischen Host und Gast-Betriebssystem.

Die Idee der Virtualisierung ist die Abstrahierung der physikalisch vorhandenen Hardwareressourcen von der Software, die diese Ressourcen nutzt.

Ein Hypervisor ist eine Software, die auf einem Host-System installiert wird und eine solche Art von Abstrahierung anbietet. Ist ein Hypervisor erst installiert, so interagieren das Betriebssystem und die Anwendungen mit den virtualisierten, durch den Hypervisor abstrahierten Ressourcen und nicht etwa mit den physikalisch vorhandenen Ressourcen des verkörperten Host-Computers.

In Abhängigkeit von der angebotenen Isolierung gibt es unterschiedliche Typen der Virtualisierung. Wir betrachten in diesem Artikel die beiden Varianten vollständige Virtualisierung und Paravirtualisierung.

Was ist vollständige Virtualisierung?

Unter Virtualisierung wird meist die vollständige Virtualisierung verstanden. Dies bedeutet, dass der Hypervisor eine vollständige Abstrahierung vornimmt. Das Gast-Betriebssystem weiß dabei nichts vom vorhandenen Hypervisor – und interessiert sich auch nicht dafür. Denn das Betriebssystem spricht gar nicht mit dem Hypervisor. Jede VM und ihr Gast-Betriebssystem arbeitet einfach so, als würde sie alleine auf einem unabhängigen Computer ablaufen. In den Betriebssystemen sind keine speziellen Modifikationen oder Anpassungen erforderlich.

Früher hatten Hypervisoren allerdings ein Leistungsproblem. Hypervisoren basieren auf der Emulation von Hardware. Ein VM-Manager kümmert sich dabei um die Übersetzung zwischen den physikalischen Ressourcen und ihren virtuellen Entsprechungen, wie etwa Prozessoren und Speicherbereichen.

Diese ständige Übersetzung verlangt auf dem Host-Computer ihren Tribut: Sie kostet Leistung. In den frühen Tagen der vollständigen Virtualisierung führte diese Leistungseinbuße dazu, dass die Anzahl von VMs auf einem Host-System praktisch limitiert war. Oft ergaben sich auch Einschränkungen für die Arten von Anwendungen, die in einer solchen VM erfolgreich betrieben werden konnten.

Was ist Paravirtualisierung?

Der Wortbestandteil Para ist dem Griechischen entnommen, wo er unter anderem für nebenbei oder entlang steht. Der Paravirtualisierung wurde als Antwortmöglichkeit auf die oben angesprochene Leistungseinbuße bei der vollständigen Virtualisierung einige Aufmerksamkeit entgegen gebracht. Der Ansatz der Paravirtualisierung ist die Verbesserung der Virtualisierungs-Leistung dadurch, dass ein Betriebssystem durchaus erkennen kann, dass ein Hypervisor anwesend ist.

Sie erlaubt dem Betriebssystem sogar, direkt mit einem solchen Hypervisor zu kommunizieren. Auf diese Weise sollen komplexe und zeitintensive Aufgaben direkt untereinander geregelt werden, statt leistungshungrig beispielsweise über den Hyper-V Manager abgearbeitet werden zu müssen. Befehle, die das Betriebssystem direkt an den Hypervisor sendet, werden auch Hypercalls genannt.

Damit Paravirtualisierung tatsächlich funktioniert, muss das Gast-Betriebssystem allerdings modifiziert oder angepasst werden, um eine API zum Austausch von Hypercalls mit dem Paravirtualisierungs-Hypervisor implementieren zu können.

Erfahren Sie mehr über Paravirtualisierung

Diese Artikelserie bietet einen tiefen Einblick in die Paravirtualisierung. Lesen Sie auch diese Beiträge:

Die Funktionen und Merkmale der Paravirtualisierung erstrecken sich über vier verschiedene Bereiche.

Die Vor- und Nachteile der Paravirtualisierung und wie sie sich auf verschiedene Anwendungsfälle aus wirken.

Die Linux-Betriebssysteme, die Paravirtualisierung unterstützen und die Versionsunterschiede.

Ein Hypervisor mit Unterstützung für Paravirtualisierung (auch paravirtualisierter Hypervisor genannt) wie etwa Xen erfordert also eine aktive Unterstützung durch das Betriebssystem und dessen Treiber. Eine solche Unterstützung findet sich heute im Linux-Kernel sowie auch in weiteren Betriebssystemen.

Unveränderte, proprietäre Betriebssysteme wie Microsoft Windows sind in einer paravirtualisierten Umgebung nicht einsatzfähig. Allerdings könnten Gerätetreiber mit Unterstützung für Paravirtualisierung es auch einem nicht modifizierten Betriebssystem wie Windows ermöglichen, auf einem Xen Hypervisor abzulaufen. Obwohl also dem Grunde nach das Betriebssystem immer modifiziert werden muss, um direkt mit dem Hypervisor kommunizieren zu können, bedarf es bezüglich der Anwendungen, die darauf genutzt werden sollen, keinerlei Änderungen.

Dennoch hat auch die Paravirtualisierung ihre Kritiker. Dass ein modifiziertes Betriebssystem benötigt wird, ist für viele der großen Anbieter wie etwa Microsoft wenig attraktiv. Dadurch vermindert sich aber die Anzahl der Betriebssystem-Optionen in den Unternehmen.

Außerdem erzeugt die direkte Kommunikation eine enge Abhängigkeit zwischen Betriebssystem und Hypervisor. Dies birgt einiges an Potenzial für Inkompatibilitäten: Schon ein einfaches Update des Hypervisors oder des Betriebssystems könnte womöglich zum Aus für die Virtualisierbarkeit der Kombination aus beiden führen. Und nicht zuletzt eröffnet eine direkte Kommunikation zwischen Betriebssystem und Hypervisor auch mögliche Sicherheitslücken durch den zusätzlichen Angriffspunkt.

Vollständige Virtualisierung vs. Paravirtualisierung

Einen Durchbruch erzielte die vollständige Virtualisierung mit der hardwareseitigen Unterstützung moderner Prozessoren wie der Intel Virtualization Technology und den Virtualisierungs-spezifischen Erweiterungen von Advanced Micro Devices (AMD).

Hardwareerweiterungen unterstützen den Hypervisor bei der Abarbeitung komplexer Aufgaben direkt auf Prozessorebene statt durch Software-Emulation. Dies sorgt für einen gehörigen Leistungsschub für den Hypervisor und räumt nahezu sämtliche Leistungseinbußen der vollständigen Virtualisierung aus dem Weg.

Zusammen mit den Isolationsvorteilen der vollständigen Virtualisierung und der Fähigkeit, jedes beliebige Betriebssystem ohne die Notwendigkeit einer Anpassung einsetzen zu können erscheint verständlich, warum die Paravirtualisierung in den Rechenzentren von Unternehmen nie wirklich Fuß fassen konnte. Damit hat sich die vollständige Virtualisierung zum De-facto-Standard der Industrie entwickelt. Für die Paravirtualisierung ist nicht mehr als ein experimenteller Status oder kleinere Nischenlösungen geblieben.

Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Der Xen-Hypervisor im Überblick

SUSE Linux Enterprise Server als Plattform für Xen

Performance-Tuning von Linux-VMs auf VMware vSphere

Erfahren Sie mehr über Containervirtualisierung