19 - Microsoft Hyper-V
1. Hyper-V und Virtualisierung
1.1 Was Virtualisierung macht und wofür sie eingesetzt wird
Virtualisierung bedeutet, dass mehrere virtuelle Computer auf einer einzigen physischen Hardware betrieben werden können. Der physische Server wird dabei als Host bezeichnet. Auf diesem Host läuft eine Virtualisierungsplattform (Hypervisor), die mehrere virtuelle Maschinen (VMs) verwaltet.
Virtualisierung:
Virtualisierung bedeutet, dass mehrere virtuelle Computer auf einer einzigen physischen Hardware betrieben werden können.
Ein sogenannter Hypervisor verteilt die Hardware-Ressourcen des Hosts auf mehrere virtuelle Maschinen.
Eine virtuelle Maschine verhält sich aus Sicht des Betriebssystems wie ein echter Computer. Sie besitzt eigene:
- virtuelle CPU
- virtuellen Arbeitsspeicher
- virtuelle Netzwerkkarten
- virtuelle Festplatten
Das Betriebssystem innerhalb der VM merkt normalerweise nicht, dass es auf virtueller Hardware läuft.
Virtualisierung wird aus mehreren Gründen eingesetzt:
Bessere Hardwareauslastung
Früher lief auf einem Server oft nur eine einzige Anwendung. Dadurch war ein großer Teil der Hardware ungenutzt. Durch Virtualisierung können mehrere Systeme auf einem Host laufen.
Flexibilität
Virtuelle Maschinen lassen sich schnell erstellen, kopieren oder verschieben.
Test- und Entwicklungsumgebungen
Neue Systeme können risikolos getestet werden, ohne die Produktivumgebung zu beeinflussen.
Isolation
Fehler innerhalb einer VM wirken sich normalerweise nicht auf andere virtuelle Maschinen aus.
Schnelle Wiederherstellung
Virtuelle Systeme lassen sich einfacher sichern und wiederherstellen als physische Server.
1.2 Andere Virtualisierungsprodukte neben Hyper-V
Neben Hyper-V existieren mehrere weitere Virtualisierungslösungen.
Ein sehr verbreitetes Produkt ist VMware vSphere / ESXi. Diese Plattform wird besonders häufig in großen Rechenzentren eingesetzt und bietet umfangreiche Funktionen für Hochverfügbarkeit und Verwaltung.
Eine weitere Lösung ist KVM (Kernel-based Virtual Machine). Diese Virtualisierungstechnologie ist in vielen Linux-Systemen integriert und wird häufig in Cloud-Umgebungen verwendet.
Auch Oracle VirtualBox gehört zu den bekannten Virtualisierungslösungen. Dieses Produkt wird allerdings eher im Test- oder Schulungsbereich verwendet.
Für Desktop-Virtualisierung existiert außerdem VMware Workstation.
Alle diese Lösungen verfolgen das gleiche Ziel: mehrere virtuelle Systeme auf einer physischen Plattform zu betreiben.
Hypervisor:
Ein Hypervisor ist die Software, die virtuelle Maschinen verwaltet und ihnen Zugriff auf CPU, RAM, Netzwerk und Speicher des Hosts ermöglicht.
Hyper-V ist der Hypervisor von Microsoft.
1.3. Welche Ressourcen auf dem Host überwacht werden müssen
Damit Virtualisierung stabil funktioniert, müssen bestimmte Ressourcen des Hostsystems überwacht werden.
Die wichtigste Ressource ist der Arbeitsspeicher (RAM). Jede virtuelle Maschine benötigt einen Teil des verfügbaren RAM. Wenn zu viele VMs gestartet werden, kann der Host nicht mehr genügend Speicher bereitstellen.
Auch die CPU-Auslastung spielt eine wichtige Rolle. Viele virtuelle Maschinen teilen sich die gleiche physische CPU.
Ein weiterer kritischer Punkt ist der Massenspeicher. Virtuelle Maschinen greifen häufig gleichzeitig auf das gleiche Storage-System zu. Dadurch kann es zu Engpässen bei der Festplattenleistung kommen.
Schließlich muss auch die Netzwerkbandbreite beobachtet werden, besonders wenn viele VMs gleichzeitig Daten übertragen.
2. Praktischer Umgang mit Hyper-V
2.1 Anlegen einer virtuellen Maschine
Eine virtuelle Maschine wird in Hyper-V über den Assistenten für neue virtuelle Maschinen erstellt.
Dabei werden mehrere grundlegende Einstellungen festgelegt:
- Name der VM
- Speicherort der virtuellen Maschine
- Arbeitsspeicher
- Netzwerkverbindung
- virtuelle Festplatte
- Installationsmedium für das Betriebssystem
Tipp: Das Laufwerk mit dem Betriebssystem sollte bei "Firmware" in der Reihenfolge an erster Stelle stehen.
Nach Abschluss des Assistenten kann die VM gestartet werden und das Betriebssystem installiert werden.
2.2 Unterschied zwischen "Herunterfahren" und "Ausschalten"
Bei virtuellen Maschinen gibt es zwei Möglichkeiten, ein System zu beenden.
Herunterfahren
Beim Herunterfahren wird das Betriebssystem innerhalb der VM normal beendet. Alle Prozesse werden sauber beendet und Daten werden gespeichert.
Das entspricht dem normalen Herunterfahren eines echten Computers.
Ausschalten
Beim Ausschalten wird die VM sofort beendet. Das entspricht dem Ziehen des Netzsteckers eines physischen Computers.
Dabei können Daten verloren gehen oder das Dateisystem beschädigt werden.
Deshalb sollte im Normalfall immer Herunterfahren verwendet werden.
Herunterfahren = sauberes Beenden des Betriebssystems.
Ausschalten = entspricht dem Ziehen des Netzsteckers.
2.3 Hardware-Einstellungen einer virtuellen Maschine
Hyper-V erlaubt die Anpassung vieler Hardwareparameter einer VM.
Wichtige Einstellungen sind zum Beispiel:
Arbeitsspeicher
Der RAM kann fest zugewiesen oder dynamisch verwaltet werden.
Virtuelle Prozessoren
Die Anzahl der virtuellen CPUs bestimmt, wie viel Rechenleistung eine VM nutzen darf.
Netzwerkadapter
Die VM kann mit virtuellen Switches verbunden werden.
Virtuelle Datenträger
Die Festplatten der VM werden als VHDX-Dateien gespeichert.
Diese Einstellungen bestimmen, wie leistungsfähig die virtuelle Maschine ist.
3. Virtuelle Datenträger
3.1 Unterschied zwischen dynamischen und festen Datenträgern
Virtuelle Festplatten im Hyper-V-Format (VHDX) können auf zwei Arten angelegt werden:
Fester Datenträger (Fixed Disk)Die gesamte Größe wird sofort auf dem Datenträger reserviert.
Beispiel:
Eine 100-GB-VHDX belegt sofort 100 GB auf dem Storage.
Vorteile:
- bessere Performance
- vorhersehbare Speicherbelegung
Dynamischer Datenträger
Die Datei wächst nur dann, wenn Daten geschrieben werden.
Beispiel:
Eine 100-GB-VHDX belegt anfangs vielleicht nur wenige MB und wächst später.
Vorteile:
- spart Speicherplatz
- flexible Nutzung
Feste VHDX-Dateien bieten bessere Performance.
Dynamische VHDX-Dateien sparen Speicherplatz.
3.2 Besonderheiten bei dynamischen Datenträgern
Bei dynamischen Datenträgern muss man besonders auf den verfügbaren Speicherplatz des Hostsystems achten.
Wenn mehrere VMs dynamische Datenträger verwenden, kann der tatsächliche Speicherverbrauch schnell wachsen. Wenn der Host keinen freien Speicher mehr hat, können virtuelle Maschinen nicht mehr korrekt arbeiten.
Deshalb muss ausreichend Reservekapazität eingeplant werden.
Wenn mehrere virtuelle Maschinen dynamische Datenträger verwenden, kann der Speicherplatz auf dem Host schneller voll werden als erwartet.
Deshalb muss immer genügend freier Speicher eingeplant werden.
3.3 Wann dynamische Datenträger ungeeignet sind
Für Systeme mit sehr hohen Leistungsanforderungen sind dynamische Datenträger oft ungeeignet.
Beispiele:
- Datenbankserver
- stark belastete Storage-Systeme
- sehr IO-intensive Anwendungen
In solchen Fällen werden meist feste Datenträger verwendet, da diese eine bessere Performance liefern.
4. Hyper-V Cluster
4.1 Warum Hyper-V Cluster eingesetzt werden
Ein Hyper-V Cluster ermöglicht den Betrieb virtueller Maschinen auf mehreren Hosts gleichzeitig.
Wenn ein Host ausfällt, können die virtuellen Maschinen automatisch auf einem anderen Server im Cluster gestartet werden.
Dadurch wird eine hohe Verfügbarkeit (High Availability) erreicht.
4.2 Besonderheiten beim Betrieb eines Failover-Clusters
Beim Betrieb eines Clusters muss darauf geachtet werden, dass Wartungsarbeiten korrekt durchgeführt werden.
Beispiel:
Wenn ein Host neu gestartet werden soll, müssen die virtuellen Maschinen vorher auf andere Clusterknoten verschoben werden.
Das geschieht über Live Migration.
Dadurch können VMs ohne Unterbrechung auf einen anderen Host verschoben werden.
5. Snapshots (Checkpoints)
5.1 Was Snapshots sind
Snapshots werden in Hyper-V Checkpoints genannt.
Ein Checkpoint speichert den Zustand einer virtuellen Maschine zu einem bestimmten Zeitpunkt.
Dabei werden unter anderem gespeichert:
- Zustand des Arbeitsspeichers
- Zustand der virtuellen Festplatte
- Gerätezustände
Damit kann eine VM später genau auf diesen Zustand zurückgesetzt werden.
5.2 Arten der Snapshot-Zusammenführung
Wenn ein Snapshot gelöscht wird, müssen die Änderungen wieder mit der ursprünglichen Festplatte zusammengeführt werden.
Dabei entstehen temporär zusätzliche Dateien.
Hyper-V kennt zwei Arten der Zusammenführung:
Online Merge
Die Zusammenführung erfolgt während die VM läuft.
Offline Merge
Die Zusammenführung erfolgt, während die VM ausgeschaltet ist.
6. Arbeiten mit VHDX-Dateien
6.1 Konvertieren von dynamischen zu festen Datenträgern
Hyper-V ermöglicht die Umwandlung einer dynamischen VHDX in einen festen Datenträger.
Dabei wird eine neue Festplatte erzeugt, welche die vollständige Größe belegt.
Diese Konvertierung kann über den Hyper-V Manager oder über PowerShell erfolgen.
6.2 Erweitern von VHDX-Datenträgern
Virtuelle Festplatten können nachträglich vergrößert werden.
Dazu wird die maximale Größe der VHDX-Datei erhöht. Anschließend muss innerhalb der virtuellen Maschine die Partition erweitert werden, damit das Betriebssystem den zusätzlichen Speicher nutzen kann.
6.3 Snapshots und AVHDX-Dateien
Wenn ein Snapshot erstellt wird, wird die ursprüngliche VHDX-Datei schreibgeschützt.
Alle neuen Änderungen werden dann in einer zusätzlichen Datei gespeichert.
Diese Datei hat die Endung: .AVHDX
Die AVHDX-Datei enthält also alle Änderungen seit dem Snapshot.
Wenn der Snapshot gelöscht wird, werden diese Änderungen wieder in die ursprüngliche VHDX integriert.
Dieses Verfahren nennt man Merge.
AVHDX-Dateien:
Wenn ein Checkpoint erstellt wird, werden neue Änderungen nicht mehr in die ursprüngliche VHDX geschrieben.
Stattdessen speichert Hyper-V alle Änderungen in einer AVHDX-Datei.
Diese Datei enthält nur die Änderungen seit dem Snapshot.
Zusammenfassung
Hyper-V ist eine Virtualisierungslösung von Microsoft, mit der mehrere virtuelle Maschinen auf einem Host betrieben werden können. Virtualisierung verbessert die Hardwareauslastung und erleichtert die Verwaltung von Systemen. Wichtige Aspekte beim Betrieb sind die Überwachung von Ressourcen, der richtige Umgang mit virtuellen Datenträgern und die Nutzung von Hochverfügbarkeitsfunktionen wie Hyper-V Clustern. Snapshots und VHDX-Dateien ermöglichen außerdem flexible Verwaltung und Sicherung virtueller Maschinen.