So arbeiten Sie mit Hyper-V VHD- und VHDX-Dateien: Grundlagen

Die Veröffentlichung von Windows Server 2012 wurde aufgrund der Einführung mehrerer Virtualisierungsmerkmale, einschließlich des neuen VHDX-Dateiformats, herzlich begrüßt. VHDX ist im Wesentlichen der Nachfolger von VHD, verfügt jedoch über fortschrittlichere Funktionen. Sie können jedoch immer noch VHD-Dateien in Ihrer Hyper-V-Umgebung erstellen und verwalten. Lassen Sie uns erkunden, wie sich Hyper-V VHD- und VHDX-Dateien unterscheiden, welche Vorteile sie bieten und wie sie verwendet werden können.

Zu Hyper-V VHD- und VHDX-Dateien

Virtual Disks, die in der Hyper-V-Umgebung erstellt wurden, können als Dateien im VHD- oder VHDX-Format auf einem physischen Laufwerk gespeichert werden. Virtuelle Festplatten sind eine Alternative zu physischen Festplatten; sie fungieren als die Festplatten einer virtuellen Maschine (VM). Virtuelle Disks können ein natives Dateisystem, Festplattenpartitionen, Sektoren und Ordner enthalten. Sie können Standardfestplatten- und Dateioperationen durchführen. Jede VM muss mindestens eine virtuelle Festplatte haben, die als Speicher für VM-Daten verwendet werden kann.

Frühere Windows-Versionen unterstützten nur ein einziges Dateiformat für virtuelle Festplatten – VHD. Als Reaktion auf wachsende technologische Anforderungen führte Windows 2012 das VHDX-Dateiformat ein, das die Speicherkapazität erheblich verbessert hat, eine bessere Leistung auf Großsektorfestplatten bietet und ein höheres Maß an Datensicherheit gewährleistet.

Sowohl Hyper-V VHD- als auch VHDX-Dateien können verschiedene Typen haben:

  • Fest. Platz für die virtuelle Festplatte wird beim Erstellen der VHD-Datei zugewiesen. Die virtuelle Festplattendatei hat die gleiche Größe wie die virtuelle Festplatte. Ihre Größe bleibt unabhängig von hinzugefügten oder gelöschten Daten konstant.
  • Dynamisch erweiterbar. Speicherplatz für die virtuelle Festplatte wird bei Bedarf zugewiesen. Die virtuelle Festplatte verfügt über eine bestimmte Menge an physischem Speicherplatz, der potenziell genutzt werden kann, aber der Speicherplatz wird nach Bedarf zugewiesen. Daher erhöht sich die Größe der VHD- oder VHDX-Datei, wenn neue Daten hinzugefügt werden.
  • Differenzierung. Diese Art von Datenträger wird verwendet, um die Änderungen zu identifizieren, zu speichern, zu verwalten und zurückzusetzen, die an einer anderen virtuellen Festplatte oder der übergeordneten Festplatte vorgenommen wurden.

Unterschiede zwischen Hyper-V VHD- und VHDX-Dateien

Um besser zu verstehen, wie Hyper-V VHD- und VHDX-Dateien funktionieren, betrachten wir die Unterschiede in den Dateiformaten. Dies zeigt uns, wie jede von ihnen die Leistung der virtuellen Festplatten verbessern kann. Die folgende Tabelle vergleicht die beiden Formate:

VHD VHDX
Das grundlegende Dateiformat wird von Windows, Citrix und Oracle unterstützt Ein fortgeschrittenes Dateiformat wird von Windows unterstützt
Bis zu 2 TB Speicherkapazität Bis zu 64 TB Speicherkapazität
VHD-Dateien bieten weniger Schutz vor Datenkorruption als ihre VHDX-Pendants VHDX-Dateien bieten robusten Schutz vor Datenkorruption durch die Verfolgung von Metadaten
Die Unterstützung für benutzerdefinierte Metadaten wird nicht bereitgestellt Benutzerdefinierte Metadaten werden unterstützt und können gespeichert werden
Unterstützt von Windows Server 2008, 2008 R2, 2012 und 2012 R2 Unterstützt von Windows 2012 und später
Keine Live-Größenänderung Live-Größenänderung ist verfügbar
Logische Sektorgröße von 512 Byte Logische Sektorgröße von 4 KB
Probleme mit der Datenausrichtung Bessere Datenausrichtung
Trimmen wird nicht unterstützt Trimmen wird unterstützt

Wie Sie sehen können, enthält das neue Hyper-V VHDX-Dateiformat mehrere Funktionen, die ihre Nützlichkeit erheblich verbessert haben. Zum Beispiel ermöglicht das Trimmen das Identifizieren von Datenblöcken, die nicht mehr verwendet werden und gelöscht werden können, was die Speicherplatzoptimierung verbessert und die Gesamtleistung steigert. Eine weitere Funktion, die mit dem neuen Hyper-V VHDX-Dateiformat eingeführt wurde, ist Shared VHDX, das es VMs im selben Gastcluster ermöglicht, eine VHDX-Datei als gemeinsamen Speicher zu verwenden. Darüber hinaus ermöglichen Hyper-VHDX-Dateien das dynamische Ändern der Größe (Verkleinern oder Vergrößern) virtueller Festplatten während des Betriebs der VM, was erheblich Zeit spart und den Overhead reduziert. Schließlich können Hyper-V-VHDX-Dateien aufgrund der verbesserten Datenanordnung I/O-Operationen erheblich verbessern. Im Gegensatz dazu sind große physische Festplatten mit Sektoren anfällig für Leistungseinbußen.

Auch wenn VHDX eine fortschrittlichere Version des VHD-Formats ist, gibt es immer noch einige Fälle, in denen die Verwendung von VHD bevorzugt wird. Zum Beispiel sind Hyper-V VHDX-Dateien nicht mit früheren Versionen von Windows Server kompatibel. Wenn Sie daher virtuelle Umgebungen mit gemischten Gastbetriebssystemen betreiben und VMs zwischen verschiedenen Hosts verschieben müssen, wäre das VHD-Dateiformat die optimale Wahl, da es von mehr Betriebssystemen unterstützt wird.

So arbeiten Sie mit Hyper-V VHD- und VHDX-Dateien in PowerShell

Nun, da Sie wissen, was Hyper-V VHD- und VHDX-Dateien sind und welche Vorteile sie bieten können, sind Sie bereit, Ihre virtuellen Festplatten zu erstellen und zu konfigurieren. Zu diesem Zweck können Sie den Hyper-V-Manager oder PowerShell im Administratormodus verwenden. In diesem Blogbeitrag beschreiben wir, wie Sie Hyper-V VHD- und VHDX-Dateioperationen in PowerShell verwalten. Dies ist der beste Ansatz, da PowerShell mehr Optionen zur Konfiguration von Hyper-V VHD- und VHDX-Dateien bietet. Sie können schnell und einfach PowerShell-Skripte ausführen, um Festplatten zu erstellen, zu konvertieren, zu zusammenzuführen oder zu entfernen.

Erstellen von Hyper-V VHD- und VHDX-Dateien

Um eine neue virtuelle Festplatte im VHD- oder VHDX-Format zu erstellen, öffnen Sie PowerShell als Administrator und führen Sie das New-VHD-Cmdlet aus. Das folgende Beispiel zeigt Ihnen, wie Sie eine virtuelle Festplatte des dynamischen Typs im angegebenen Pfad mit einer Größe von 10 GB, einer Blockgröße von 128 MB und einer logischen Sektorengröße von 4 KB erstellen. Beachten Sie, dass es die Dateierweiterung (.vhd oder .vhdx) ist, die das Dateiformat bestimmt; in diesem Fall wird eine VHDX-Datei erstellt.

New-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -BlockSizeBytes 128MB -LogicalSectorSize 4KB -SizeBytes 10GB -Dynamic

Die virtuelle Festplatte ist nun erstellt, und folgende Informationen über die virtuelle Festplatte werden im PowerShell-Fenster angezeigt.

Hinzufügen von Hyper-V VHD- und VHDX-Dateien

Mit dem Add-VMHardDiskDrive-Cmdlet können Sie eine virtuelle Festplatte zu einer bestimmten VM hinzufügen. Im folgenden Beispiel wird die virtuelle Festplatte DemoDisk.vhdx am angegebenen Pfad an die VM mit dem Namen DemoVM angehängt. Der SCSI-Controller, die Controller-Nummer 0 und die Controller-Position 1 werden auch der virtuellen Festplatte zugewiesen.

Add-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1 -Path 'C:\Virtual Disks\DemoDisk.vhdx'

 Entfernen Sie Hyper-V VHD- und VHDX-Dateien

Das Remove-VMHardDiskDrive-Befehl wird verwendet, um eine virtuelle Festplatte aus einer VM zu löschen. Um zu demonstrieren, wie dieses Cmdlet funktioniert, hier wie man die gerade erstellte Festplatte löscht:

Remove-VMHardDiskDrive -VMName DemoVM -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 1

Mit diesen Cmdlets können Sie einfach virtuelle Festplatten mit den erforderlichen Parametern erstellen und löschen und sie an bestimmte VMs anhängen.

Konvertieren Sie Hyper-V VHD- und VHDX-Dateien

Wie bereits erwähnt, bieten VHDX-Dateien eine Vielzahl von Vorteilen gegenüber ihren VHD-Vorgängern. Daher ist es in vielen Fällen ratsam, alle VHD-Dateien in das VHDX-Format zu konvertieren. Um Hyper-V-VHD-Dateien auf VHDX zu aktualisieren, führen Sie einfach das Convert-VHD-Cmdlet aus, mit dem Sie das Dateiformat ändern können, während der Inhalt der Quellvirtuellen Festplatte gespeichert wird. Die Daten der Quellvirtuellen Festplatte werden auf eine neue Festplatte im erforderlichen Format kopiert. Die Operation sollte offline durchgeführt werden; es wird empfohlen, die virtuelle Festplatte zu trennen. Das folgende Beispiel zeigt das Cmdlet, das die Konvertierung von Hyper-V-VHD-Dateien in VHDX ermöglicht:

Convert-VHD -Path ‘C:\Neue Virtuelle Festplatten\Feste Festplatte.vhd’ -DestinationPath ‘C:\Neue Virtuelle Festplatten\Feste Festplatte.vhdx’

Denken Sie jedoch daran, dass VHDX-Dateien nur mit Windows Server 2012 und höher kompatibel sind. Daher müssen Sie möglicherweise Hyper-V-VHDX-Dateien in VHD konvertieren. In diesem Fall kann das gleiche Convert-VHD-Cmdlet verwendet werden, nur umgekehrt. Denken Sie daran, dass die virtuelle Festplatte vor Durchführung der Operation getrennt werden muss.

Convert-VHD -Path ‘C:\Virtuelle Festplatten\DemoDisk.vhdx’ ‘C:\Virtuelle Festplatten\DemoDisk.vhd’

Fusionieren von Hyper-V-VHD- und VHDX-Dateien

Wie oben erwähnt, werden Differenzierungsfestplatten verwendet, um die Änderungen zu speichern und rückgängig zu machen, die an einer anderen VHD oder einem Gastbetriebssystem vorgenommen wurden. Jede Differenzierungsfestplatte verfolgt und speichert die Änderungen, die an einer zugehörigen virtuellen Festplatte vorgenommen wurden. In diesem Fall wird die Differenzierungsfestplatte als „Kindfestplatte“ bezeichnet und die virtuelle Festplatte als „Elternfestplatte“. Mit dem Merge-VHD-Cmdlet können Sie die in einer Differenzierungsfestplatte gespeicherten Änderungen in die Elternfestplatte oder in eine andere Kindfestplatte in der Differenzierungsfestplattenkette zusammenführen. Beachten Sie, dass diese Operation offline durchgeführt wird; stellen Sie sicher, dass die Festplattenkette getrennt ist.

Um die Kindvirtuelle Festplatte mit der Elternvirtuellen Festplatte zusammenzuführen, führen Sie das folgende Cmdlet aus. Beachten Sie, dass sobald die Operation abgeschlossen ist und der Inhalt der Kindfestplatte in die Elternfestplatte übertragen wurde, die Differenzierungsfestplatte zerstört wird.

Merge-VHD -Path 'C:\Virtueller Speicher\Differenzierung.vhdx'

In folgendem Beispiel haben wir eine Elternfestplatte, maindisk.vhdx, und eine Kindfestplatte, ChDisk1.vhdx, die selbst ein Kind hat: ChDisk2.vhdx. Die letztere virtuelle Festplatte hat sogar ihr eigenes Kind, ChDisk3.vhdx. Zusammen bilden diese Festplatten die Differenzierungskette. Das folgende Cmdlet kann verwendet werden, um die Kindvirtuellen Festplatten in der Festplattenkette zusammenzuführen.

Merge-VHD -Path 'C:\VM-Test\ChDisk3.vhdx' -DestinationPath 'C:\VM-Test\ChDisk1.vhdx'

Durch diese Operation werden die Daten von ChDisk3.vhdx und ChDisk2.vhdx in ChDisk1.vhdx zusammengeführt. Das PowerShell-Skript vereinfacht den Prozess des Zusammenführens virtueller Festplatten; die gesamte Operation kann in einem Durchlauf durchgeführt werden, unabhängig von der Größe der Differenzierungskette. Dies ist ein Vorteil von Powershell – mit dem Hyper-V-Manager ist es nicht gestattet, mehrere Ebenen der Differenzierungsdiskettenkette auf einmal zusammenzuführen. Sie müssten jede Ebene der Differenzierungsdiskettenkette manuell zusammenführen, und diese zusätzlichen Schritte würden Zeit und Mühe kosten.

Hyper-V VHD und VHDX-Dateien mounten

Das Mount-VHD-Cmdlet ermöglicht das Mounten einer oder mehrerer virtueller Festplatten. Das folgende Beispiel zeigt, wie man eine virtuelle Festplatte mit dem Pfad C:\Virtual Disks\DemoDisk.vhdx mountet.

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Mit PowerShell-Skripts können Sie eine virtuelle Festplatte im Nur-Lese-Modus mounten:

Mount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’ -ReadOnly

Hyper-V VHD und VHDX-Dateien demontieren

Wenn Sie eine virtuelle Festplatte demontieren möchten, führen Sie das Dismount-VHD-Cmdlet in PowerShell aus. Im folgenden Beispiel sehen Sie, wie Sie die virtuelle Festplatte mit dem Pfad C:\Virtual Disks\DemoDisk.vhdx demontieren können.

Dismount-VHD -Path ‘C:\Virtual Disks\DemoDisk.vhdx’

Eine weitere Option besteht darin, die virtuelle Festplatte mithilfe der Laufwerksnummer der eingebundenen Festplatte zu demontieren, wie folgt:

Dismount-VHD -DiskNumber 8

Größenänderung von Hyper-V VHD- und VHDX-Dateien

Wenn Sie eine virtuelle Festplatte verkleinern oder vergrößern möchten, sollte das Cmdlet Resize-VHD verwendet werden. Das folgende Beispiel zeigt, wie eine virtuelle Festplatte durch Zuweisen einer neuen spezifizierten Größe verändert wird. In diesem Fall haben wir das VHDX von 10 GB auf 20 GB erweitert:

Resize-VHD -Path 'C:\Virtual Disks\DemoDisk.vhdx' -SizeBytes 20GB

Das Verkleinern ist jedoch nur für VHDX-Dateien verfügbar. Beachten Sie, dass die virtuelle Festplatte nicht auf eine Größe verkleinert werden sollte, die kleiner ist als ihre spezifizierte Mindestgröße. Um die Mindestgröße der virtuellen Festplatte zu sehen, führen Sie das folgende Cmdlet aus:

Get-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx’

Mit dem folgenden Befehl können Sie die VHDX-Datei auf ihre Mindestgröße verkleinern:

Resize-VHD -Path 'C:\Virtual Hard Disks\demovdisk.vhdx’ -ToMinimumSize

Fazit

Sowohl Hyper-V VHD- als auch VHDX-Dateien spielen eine wichtige Rolle in virtuellen Umgebungen, da sie als die Festplatten einer VM fungieren. Das VHD-Dateiformat wurde lange Zeit verwendet, aber um mit dem ständigen Fortschritt der Virtualisierungstechnologie Schritt zu halten, hat Microsoft eine fortschrittlichere Version eingeführt. Somit wurde das VHDX-Dateiformat mit Windows Server 2012 herausgebracht, um die Leistung von physischen Festplatten mit großen Sektoren zu verbessern, die Speicherkapazität zu erhöhen und den Datenschutz zu gewährleisten.

Nachdem alle Funktionen von Hyper-V VHD- und VHDX-Dateien verglichen wurden, kann man sagen, dass Hyper-V VHDX ein effizienteres und zuverlässigeres Dateiformat ist, das für die Leistungsanforderungen moderner virtueller Umgebungen entwickelt wurde.

Stellen Sie sicher, dass Sie Ihre VHD- und VHDX-Festplatten mit einer datenschutzorientierten Lösung für virtualisierte Infrastrukturen schützen. Berücksichtigen Sie NAKIVO Backup & Replication, das eine schnelle und kostengünstige Lösung bietet und mehrere Optionen zur Sicherung von Hyper-V-, VMware-, AWS EC2- und Microsoft 365-Umgebungen bereitstellt.

Source:
https://www.nakivo.com/blog/work-hyper-v-vhd-vhdx-files-essential-basics/