Hypervisor: Mittler für die Virtualisierung

Die Virtualisierung schafft ganz neue technische Möglichkeiten. Statt ein komplettes System aufzubauen (inklusive Hardware und darauf aufbauendem Betriebssystem), schafft man sich einfach eine virtuelle Version davon – quasi die Illusion einer PC-Umgebung. Diese Technik wird beispielsweise in der Software-Entwicklung eingesetzt, um eine sichere Testumgebungen zu erschaffen. Damit das aber funktionieren kann, muss eine virtuelle Maschine auf einem tatsächlichen physischen System aufgesetzt werden. Zwischen diesen beiden Ebenen muss es eine Instanz geben, die eine Verbindung herstellt, ohne dabei zu sehr von den physischen oder virtuellen Ebenen beeinflusst zu werden. Als Vermittler dient deshalb eine abstrakte Schicht: der sogenannte Hypervisor.

Was ist ein Hypervisor?

Erstellt man eine virtuelle Maschine (VM), läuft diese auf der Basis einer nicht-virtuellen, tatsächlichen Maschine – beispielsweise auf einem PC. Die VM ist also auf die physische Hardware angewiesen. Deshalb gibt es eine Schicht zwischen den beiden Ebenen, die für die Verwaltung zuständig ist: den Hypervisor. Der Hypervisor ist eine Software, welche die Verwaltung der benötigten Ressourcen übernimmt. Das auch als Virtual Machine Monitor (VMM) bekannte Programm weist innerhalb des Systems Arbeitsspeicher, Festplattenspeicher, Netzwerkkomponenten oder Prozessorleistung zu. Auf diese Weise können auch mehrere und unterschiedliche virtuelle Maschinen auf einem Host-System laufen, da der Hypervisor dafür sorgt, dass diese sich untereinander nicht behindern und alle die benötigten Kapazitäten zur Verfügung haben.

Das Gastsystem (also die Virtualisierung) merkt von den Organisationsschritten des VMMs im Prinzip nichts. Der Hypervisor abstrahiert die Hardware auf solche Weise, dass die VM von einer eingerichteten Hardware-Umgebung ausgeht. Da sich Anforderungen abhängig von den laufenden Programmen auch bei virtuellen Maschinen ständig ändern, ist ein wesentlicher Vorteil des Hypervisors, dass er Ressourcen bedarfsgerecht bereitstellen kann. Auch davon merkt das Gastsystem nichts: Die virtuelle Maschine hat keine Möglichkeit, die Existenz der anderen Maschinen zu erkennen, die auf derselben physischen Hardware laufen.

Hinweis

Die strikte Trennung zwischen den unterschiedlichen virtuellen Maschinen sorgt nicht nur für eine gute Verteilung der Ressourcen, sondern steigert auch die Sicherheit. Über den Hypervisor ist sichergestellt, dass ein Gastsystem nicht auf Dateien des anderen Gastsystems zugreifen kann. Das ist besonders für Testzwecke wichtig, damit ein fehlerhaftes Programm nicht auch andere Testumgebungen schädigen kann.

Da der Hypervisor nur eine abstrakte Schicht bildet und der virtuellen Maschine eine Hardware-Umgebung vorspielt, ist dieses Gastsystem nicht an einen bestimmten Hypervisor gebunden – und ebenso wenig an ein bestimmtes Host-System. Damit ist die Virtualisierung per Hypervisor sehr interessant für Cloud-Services: Serveranbieter können die virtualisierte Testumgebung einfach auf eine andere physische Maschine verschieben, ohne dass die Programme, die in der VM laufen, dadurch Probleme bekommen.

Dem Anwender stellt der Virtual Machine Monitor zudem Verwaltungsoptionen bereit. So lassen sich die einzelnen Gastsysteme organisieren und einstellen. Meist kann man über eine grafische Benutzeroberfläche VMs kreieren, konfigurieren, ausführen und auch wieder löschen.

Verschiedene Arten von Virtual Machine Monitors

Man unterscheidet zwei verschiedene Arten von Virtual Machine Monitors, die sich jeweils durch ganz spezielle Vorteile auszeichnen. Unsere erstgenannte Variante ist auch die ältere. Bereits in den 1960er-Jahren hat man Versuche zur Virtualisierung mit dieser Technologie in Angriff genommen.

Typ-1-Hypervisor

Die erste Art von Hypervisoren bezeichnet man als Bare Metal Hypervisors oder Native Hypervisors. Diese Form des VMM wird direkt auf der physischen Hardware aufgesetzt und ist nicht mit dem Betriebssystem des Hosts verbunden. Deshalb muss ein solcher Hypervisor auch jegliche Gerätetreiber selbst beinhalten. Der Ressourcenverbrauch ist beim Typ-1-Hypervisor vergleichsweise klein, denn die Rechnerleistungen laufen nicht erst über das Betriebssystem des Hosts. Diese Form des Hypervisors richtet sich in erster Linie an Anwender, die damit einen Server für die Virtualisierung schaffen wollen. Für kleinere Projekte im Heimanwenderbereich ist ein Typ-1-Hypervisor zu aufwendig.

Typ-2-Hypervisor

Die zweite Variante (auch als Hosted Hypervisor bekannt) benötigt ein bestehendes Betriebssystem, das wiederum auf der physischen Hardware aufbaut. Ein Typ-2-Hypervisor wird also installiert wie jedes andere Programm auch. Anschließend verwaltet der VMM dann die Virtualisierung. Die Gerätetreiber müssen hier nicht im Hypervisor installiert sein, da das eigentliche Betriebssystem diese einfach an die Software übergeben kann. Dieser Komfort geht aber zulasten der Performance. Ein großer Teil der Ressourcen geht bereits an das Betriebssystem des Hosts verloren. Durch die einfache Installation und Konfiguration sind Typ-2-Hypervisoren aber perfekt für kleinere Projekte geeignet.