Microsoft Hyper-V: Virtualisierung unter Windows
Die Virtualisierung kann in verschiedenen Situationen genutzt werden: Cloud-Computing und auch die Container-Technologie arbeiten damit. Als Nutzer von Windows ist man aber gar nicht auf externe – und teilweise sehr komplexe – Software angewiesen. Mit Hyper-V hat das populäre Betriebssystem einen eigenen Hypervisor direkt mit an Bord. Was kann das Werkzeug?
Was ist Hyper-V?
Um Hardware zu virtualisieren, also eine Hardware-Umgebung zu realisieren, die in dieser Form gar nicht physisch existiert, braucht man einen Vermittler zwischen dem physischen Computer und der virtuellen Maschine. Diese Schnittstelle wird Hypervisor genannt. Auf dem physischen Hostsystem lassen sich auf diese Weise mehrere virtuelle Gastsysteme abbilden, die sich die Hardware des Gastgebers teilen. Microsoft hat mit Hyper-V einen eigenen Hypervisor geschaffen, der direkt in den professionellen Versionen von Windows 10 oder Windows 8 enthalten ist. Auch in Windows Server ist die Software standardmäßig bereits installiert.
Hyper-V gibt Windows-Nutzern die Möglichkeit, eine eigene virtuelle Maschine zu starten. In dieser lässt sich eine komplette Hardware-Infrastruktur mit Arbeitsspeicher, Festplattenspeicher, Prozessorleistung und anderen Komponenten virtualisieren. Auf dieser Basis läuft dann wiederum ein eigenes Betriebssystem, das nicht zwingend Windows sein muss. Sehr beliebt ist es beispielsweise, in einer virtuellen Maschine, eine Open-Source-Distribution von Linux laufen zu lassen.
Hyper-V gibt Windows-Nutzern die Möglichkeit, eine eigene virtuelle Maschine zu starten. In dieser lässt sich eine komplette Hardware-Infrastruktur mit Arbeitsspeicher, Festplattenspeicher, Prozessorleistung und anderen Komponenten virtualisieren. Auf dieser Basis läuft dann wiederum ein eigenes Betriebssystem, das nicht zwingend Windows sein muss. Sehr beliebt ist es beispielsweise, in einer virtuellen Maschine, eine Open-Source-Distribution von Linux laufen zu lassen.
Wofür braucht man Hyper-V?
Virtualisierungstechnik kann in verschiedenen Szenarien eingesetzt werden. Gerade Hyper-V wird aber üblicherweise im Rahmen von Testumgebungen verwendet. In diesem Zusammenhang hat Virtualisierung gleich zwei Vorteile:
Besonders für Software-Entwickler ist die Virtualisierung per Hyper-V ein großer Vorteil: Das erstellte Programm kann so unter unterschiedlichsten Soft- und Hardware-Voraussetzungen getestet werden. Außerdem braucht man sich aufgrund der in sich geschlossenen virtuellen Maschinen keine Sorgen machen, dass fehlerhafter Code einen Schaden am eigenen System verursacht.
- Es können Computerumgebungen dargestellt werden, auf die man sonst keinen Zugriff hat. Statt beispielweise einen eigenen PC mit Linux einzurichten, kann man das Betriebssystem relativ einfach in einer virtuellen Maschine darstellen.
- Die virtuelle Maschine ist zudem in sich geschlossen. Sollte man also beispielsweise eine Software ausführen, die einen Systemabsturz herbeiführt, ist das physische Gerät nicht in Gefahr. Nur die virtuelle Maschine müsste zurückgesetzt werden.
Besonders für Software-Entwickler ist die Virtualisierung per Hyper-V ein großer Vorteil: Das erstellte Programm kann so unter unterschiedlichsten Soft- und Hardware-Voraussetzungen getestet werden. Außerdem braucht man sich aufgrund der in sich geschlossenen virtuellen Maschinen keine Sorgen machen, dass fehlerhafter Code einen Schaden am eigenen System verursacht.
Architektur von Microsoft Hyper-V
Mit Hyper-V lassen sich unter x64-Versionen von Windows eine oder mehrere virtuelle Maschinen hosten, die wiederum ein komplett eingerichtetes Betriebssystem beinhalten. Diese Gastsysteme werden wie Partitionen behandelt. Den Begriff kennt man ansonsten von der Aufteilung von Festplatten – und ganz ähnlich funktioniert auch die Virtualisierung per Hyper-V. Jede virtuelle Maschine ist eine isolierte Einheit neben der Stammpartition, also dem eigentlichen Betriebssystem.
Orchestriert werden die einzelnen Partitionen bzw. Gastsysteme durch den Hypervisor. Über eine Schnittstelle (das sogenannte Hypercall-API) im Hostsystem können die untergeordneten Partitionen erstellt und verwaltet werden. Die Isolation bleibt dabei aber immer bestehen. Gastsysteme bekommen virtuelle Hardware-Ressourcen zugeordnet, können selbst aber niemals auf die physische Hardware des Hosts zugreifen. Um Hardware-Ressourcen anfragen zu können, verwenden untergeordnete Partitionen den sogenannten VMBus. Hierbei handelt es sich um einen Kanal, der die Kommunikation zwischen den Partitionen ermöglicht. Gastsysteme können beim Host um Ressourcen bitten, haben aber theoretisch auch die Möglichkeit, untereinander zu kommunizieren.
Auf den Partitionen laufen Dienste, welche die Anfragen und Antworten, die über den VMBus laufen, bearbeiten. Das Hostsystem führt den Virtualization Service Provider (VSP) aus, die untergeordneten Partitionen Virtualization Service Clients (VSC).
Orchestriert werden die einzelnen Partitionen bzw. Gastsysteme durch den Hypervisor. Über eine Schnittstelle (das sogenannte Hypercall-API) im Hostsystem können die untergeordneten Partitionen erstellt und verwaltet werden. Die Isolation bleibt dabei aber immer bestehen. Gastsysteme bekommen virtuelle Hardware-Ressourcen zugeordnet, können selbst aber niemals auf die physische Hardware des Hosts zugreifen. Um Hardware-Ressourcen anfragen zu können, verwenden untergeordnete Partitionen den sogenannten VMBus. Hierbei handelt es sich um einen Kanal, der die Kommunikation zwischen den Partitionen ermöglicht. Gastsysteme können beim Host um Ressourcen bitten, haben aber theoretisch auch die Möglichkeit, untereinander zu kommunizieren.
Auf den Partitionen laufen Dienste, welche die Anfragen und Antworten, die über den VMBus laufen, bearbeiten. Das Hostsystem führt den Virtualization Service Provider (VSP) aus, die untergeordneten Partitionen Virtualization Service Clients (VSC).
Unterschiede zwischen Hyper-V und anderen Virtualisierungstechniken
Im Gegensatz zu allen anderen Anbietern von Virtualisierungslösungen hat Hyper-V den Vorteil, dass es eng mit Windows verzahnt ist. Wer das Microsoft-Betriebssystem für PC oder Server verwendet, kann von der guten Integration profitieren. Hyper-V ist außerdem ein Hypervisor des Typs 1, was ebenfalls nur wenige andere Lösungen bieten. Das bedeutet, dass Hyper-V direkt auf der Hardware des Systems aufsetzt. Typ-2-Hypervisoren müssen hingegen immer über das Betriebssystem des Hosts gehen, um Ressourcen bereitstellen zu können.
Vorteile
Für Windows-Nutzer ist ein ganz klarer Vorteil die enge Verbindung zum Betriebssystem. Das kann auch budgettechnische Vorteile haben, denn vielfach ist Hyper-V bereits kostenlos im Lieferumfang von Windows enthalten. Und im Funktionsumfang kann Hyper-V mit der Konkurrenz mithalten. Auch in puncto Performance muss man als Nutzer von Hyper-V (solange man nur mit Windows als Gastsystem arbeitet) keine Abstriche machen. Da sich die Verwaltung relativ einfach gestaltet, können auch Anfänger von der Virtualisierung profitieren.
Nachteile
Zwar arbeitet Hyper-V sehr gut mit Windows zusammen, bei anderen Betriebssystemen kommt die Software aber an ihre Grenzen. Zum einen ist Hyper-V nicht dazu gedacht, auf anderen Systemen zu laufen, zum anderen sind aber auch die möglichen Gastsysteme sehr begrenzt. Abseits von Windows können nur ein paar ausgewählte Linux-Distributionen in einer virtuellen Maschine laufen. Wer zum Beispiel macOS als Gastsystem verwenden möchte, muss zu einem Konkurrenzprodukt greifen. Außerdem hat sich gezeigt, dass man beim Betrieb von mehreren Linux-Gastsystemen mit starken Performance-Einbußen rechnen muss.
Wer sich ohnehin nur im Windows-Umfeld bewegt, hat mit Hyper-V eine gute Alternative zu anderen Virtualisierungslösungen. Da die Software vielfach unter Windows bereits installiert ist (beziehungsweise kostenlos nachinstalliert werden kann), eignet sich Hyper-V auch für kleinere Projekte sehr gut. Schwächen zeigt die Software aber ganz klar beim Umgang mit anderen Betriebssystemen. Hier muss man doch zu anderen Produkten, zum Beispiel vom Marktführer VMware, greifen. Trotz des großen Funktionsumfangs und der guten Performance – auch im Serverbereich – ist Hyper-V für größere Projekte daher nur bedingt zu empfehlen. Entscheidend ist hierbei ganz klar das Ziel der Virtualisierung.