Sergey Nivens - Fotolia
Grundlagen zu den Installationsdateien einer Hyper-V-Installation
AVHDX, VMCX und VMRS: Innerhalb einer Hyper-V-Umgebung finden sich viele verschiedene Dateiformate. Dieser Überblick bringt Licht ins Dunkel.
Es gibt eine Flut an Artikeln über Hyper-V und dessen Nutzung. Kaum einer davon aber geht richtig in die Tiefe der einzelnen Features. Was läuft unter der Haube tatsächlich ab? Manchmal ist das sicherlich ziemlich einfach. Aber in anderen Bereichen geht es um eine ganze Kette von komplexen Vorgängen, die den Anwendern einen kleinen Einblick in das Zusammenspiel der einzelnen Komponenten gibt.
Wir konzentrieren uns in diesem Artikel darauf, aus welchen Dateien und Verzeichnissen eine virtuelle Maschine (VM) besteht, wie und wo man diese Dateien findet und welchem Zweck sie dienen. Dieses Wissen kann beim Lösen von Problemen von großem Vorteil sein und die Problembehebung entsprechend beschleunigen.
Fangen wir damit an, wo die Dateien von Hyper-V bei der Installation gespeichert werden. Virtuelle Maschinen und die dazugehörigen Dateien verwenden über das im Setup festgelegte Zielverzeichnis hinaus ein paar standardmäßige Verzeichnisse.
Für alleinstehende Hosts befinden sich die Dateien standardmäßig in zwei unterschiedlichen Verzeichnissen:
- Konfigurationsdateien: C:\ProgramData\Microsoft\Windows\Hyper-V
- Virtuelle Laufwerksdateien (VHD): C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks
Bei alleinstehenden Hyper-V-Servern empfiehlt es sich, alle zur VM gehörenden Dateien in einem Verzeichnis auf einem anderen Laufwerk zu haben, etwa D:\VMs. Das vereinfacht die Verwaltung der Dateien und hält den I/O-Verkehr der VMs von dem Laufwerk fern, auf dem sich das Betriebssystem befindet.
VM-Dateien für geclusterte Hosts befinden sich in einem anderen Standardverzeichnis. Auch wenn sich verschiedene VM-Dateien in verschiedene Verzeichnisse und auf verschiedenen Laufwerken unterbringen lassen, werden sie in der Regel in demselben VM-Verzeichnis mit Unterverzeichnissen gespeichert. Cluster nutzen üblicherweise eine Speicherart namens Cluster Shared Volume (CSV). VMs befinden sich in diesen Laufwerken und alle Nodes im Cluster haben Zugriff auf sie. Zum Erstellen eines solchen Speicherplatzes kann entweder Storage Spaces Direct oder irgendeine Art von SAN-Speicherplatz (Storage Area Network) mit Anbindung an Glasfaser, iSCSI oder SMB (Server Message Block) verwendet werden.
Bei der Nutzung von CSV als Shared-Cluster-Storage erstellt Hyper-V für jeden Node im Cluster einen Mounting Point auf Laufwerk C, der dann zu jedem CSV verbunden wird. Diese finden sich in den folgenden Verzeichnissen:
- C:\ClusterStorage\Volume1
- C:\ClusterStorage\Volume2
Nutzen man ein Hilfsmittel wie System Center Configuration Manager für die Provisionierung von VMs, so werden die virtuellen Maschinen in den folgenden Pfaden angelegt:
- C:\ClusterStorage\Volume1\MyVM1
- C:\ClusterStorage\Volume2\MyVM2
Dort werden VMs in einer sehr geordneten Weise abgelegt, wie Abbildung 1 zeigt. Unabhängig davon, welche Methode verwendet wird, empfiehlt sich eigentlich immer die Nutzung dieser Speicherorte.
Das Verzeichnis Virtual Hard Disks
In diesem Verzeichnis sollte man sich ruhig einmal genauer umsehen und einen Blick auf den Ordner Virtual Hard Disks werfen: Darin befinden sich Dateien für VHDs, Hyper-V Virtual Hard Disks (VHDX), Automatic Virtual Hard Disks (AVHD), AVHDX, Resilient Change Tracking (RCT) und Modifiable Region Table (MRT).
VHD-Dateien gibt es in zwei Variationen: .VHD und .VHDX. VHD ist das ältere Format von Microsoft für virtuelle Laufwerke, das es etwa seit den Tagen von Virtual Server 2005 gibt. VHDX-Dateien gibt es dagegen erst seit Windows Server 2012. Letztere bieten eine bessere Leistung und eine höhere Fehlertoleranz als VHD-Dateien. Diese Dateien stellen virtuelle Laufwerke dar und beinhalten sämtliche einzelnen Dateien und Betriebssysteme. Diese Dateien können ab Windows 7 aufwärts direkt über die Laufwerksverwaltung eingehängt und so durchsucht oder sogar geändert werden.
AVHD- und AVHDX-Dateien werden für das Schreiben neuer Inhalte genutzt, nachdem ein Administrator oder ein Backup-Vorgang einen Checkpoint erstellt hat.
RCT-Dateien, die es seit Windows Server 2016 Hyper-V gibt, erfassen die Unterschiede zwischen Backup-Vorgängen. Statt die gesamte VHD(X)-Datei zu sichern oder komplett zu durchwandern, erfasst die RCT-Datei Änderungen und weist Backup-Software an, nur geänderte Blöcke zu sichern. Damit können Backups schneller als in früheren Versionen von Hyper-V angefertigt werden. In gewisser Weise erreicht Microsoft mit RCT im Grunde Gleichstand mit der VMware-Technologie Change Block Tracking.
MRT-Dateien gleichen RCT-Dateien, denn auch sie erfassen Änderungen zwischen Backup-Vorgängen. Gleichzeitig sorgen sie aber für eine höhere Verfügbarkeit im Fall eines Crashs des Hosts, eines Bluescreen of Death oder sogar im Fall eines Stromausfalls. MRT-Dateien stellen sicher, dass Daten im Katastrophenfall während eines Backup-Vorgangs nicht verloren gehen.
Das Verzeichnis Virtual Machines
Im Verzeichnis Virtual Machines gibt es zwei Arten von Hyper-V-Dateien: VMCX-Dateien (Virtual Machine Configuration) und VMRS-Dateien (Virtual Machine Runtime).
VMCX-Dateien sind der Nachfolger der XML-Dateien (Extensible Markup Language), die in früheren Versionen von Hyper-V die Konfigurationsdateien für die VM enthalten haben, etwa RAM-, Festplatten- oder auch CPU-Konfiguration.
VMRS-Dateien ähneln ebenfalls den binären Dateien aus Vorgängerversionen von Hyper-V: Sie enthalten die VM-Runtime-Zustandsdaten und nehmen daher normalerweise so viel Platz ein, wie die virtuelle Maschine über RAM verfügt.
Das Verzeichnis Snapshot
Erstellt man selbst einen Checkpoint oder lässt dies während eines Backups durchführen, so erstellt Hyper-V zusätzliche VMCX- und VMRS-Dateien, um den Konfigurations- und Laufzeitzustand der VM zu diesem Zeitpunkt zu erfassen. Auf diese Weise können Anwender über ein Rollback zu dem früher erfassten Zustand der virtuellen Maschine zurückkehren.
AVHDS-Dateien
Die neue Dateiart Shared Virtual Hard Disk Set (AVHDS) ist eine spezielle VHDX-Datei, die von zwei oder mehr VMs gemeinsam genutzt wird. Sie dient als seriell angeschlossene SCSI-Platte für das VM Guest Clustering. Gespeichert werden können diese Dateien an einem beliebigen Ort, in der Regel ist das aber ein SMB-Cluster, der Storage Spaces oder ein CSV auf demselben physischen Host-Cluster nutzt. Die VM-Nodes, die die AVHDS-Datei gemeinsam nutzen, benötigen natürlich Zugriff auf den Speicherort der Datei.
Das Wissen über die Bestandteile einer Hyper-V-Installation und deren Aufgaben, ihre Arbeitsweise, ihren Speicherort und wie man auf sie zugreift, ermöglicht einen Einblick in Leistungsstörungen und nicht-reagierende VMs. Bildlich gesprochen entspricht das in der VM-Welt aber soweit erst der Prüfung, ob das Stromkabel überhaupt eingesteckt ist. Egal, ob man die besprochenen Dateien von Hyper-V beim Einloggen in den Host oder Remote über UNC-Pfade (Universal Naming Convention) anspricht, es schadet sicherlich nicht, sich weiter in die Materie einzuarbeiten und die oben genannten Speicherorte bei der Fehlersuche in die Checkliste mit aufzunehmen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!