VHDs, VHDX und wie diese konvertiert werden

Das Dateiformat VHDX wurde mit Windows Server 2012 eingeführt und verdrängt in vielen Bereichen das VHD-Dateiformat.

Die Vorteile von VHDX liegen vor allem in der Größenbeschränkung von 64 TB gegenüber 2 TB bei VHDs, der Sektorengröße von 4KByte, welche auf modernere Hardware abgestimmt ist, der besseren Performance und dem Umgang mit Datei-Beschädigungen.

Aber Vorsicht, nicht in jedem Szenario kann eine VHDX eingesetzt werden. Beispielsweise unterstützen virtuelle Maschinen der Generation 1 oder Azure VMs kein VHDX.

Umgekehrt unterstützen virtuelle Maschinen der Generation 2 kein VHD-Format, weshalb in diesen Szenarien eine Konvertierung des Dateiformates nötig wird.

Die Konvertierung kann von VHD nach VHDX und umgekehrt erfolgen. Dies können Sie über den Hyper-V Manager bewerkstelligen oder über die PowerShell.

Hyper-V Manager

Öffnen Sie die Einstellungen der virtuellen Maschine, welche die VHD(X) enthält.

In den Einstellungen des SCSI Controllers befindet sich die Auswahlmöglichkeit „Edit“, über welche der Virtual Hard Disk Assistent gestartet wird um die VHD(X) zu bearbeiten.

Der Edit-Bereich ist ausgegraut, wenn der virtuellen Maschine Checkpoints - ehemals Snapshots - zugeordnet sind.

01_VHD.PNG

Es stehen drei Auswahlmöglichkeiten zur Verfügung:

  • Compact: Verkleinern der VHD(X)

  • Convert: Umwandeln der VHD(X)

  • Expand: Erweitern der VHD(X)

Anschließend wird das gewünschte Zielformat VHD oder VHDX ausgewählt und der Disk Type festgelegt, also ob der VHD(X) eine feste Größe oder ein dynamisch erweiterbarer Bereich zugeordnet werden soll.

Abschließend wird der Speicherort der konvertierten VHD(X) gewählt.

Die konvertierte VHD(X) wird nicht automatisch der virtuellen Maschine zugeordnet, über welche dieser Vorgang durchgeführt wurde. Dies muss manuell durchgeführt werden.

PowerShell

Über die PowerShell funktioniert der ganze Vorgang etwas schneller.

Wer das Vorgehen ausprobieren möchte, kann sich zunächst eine VHD(X) erstellen mit dem Cmdlet New-VHD [1].

New-vhd -path “D:\hyper-V\Blog\blog.vhd“ -SizeBytes 8Gb -dynamic

Bzw. für VHDX

New-vhd -path “D:\hyper-V\Blog\blog_2.vhdx“ -SizeBytes 8Gb -dynamic
02_VHD.PNG

Mit dem Cmdlet Convert-VHD kann die virtuelle Maschine in das VHDX Format konvertiert werden [2].

Convert-VHD -Path “D:\hyper-V\Blog\blog.vhd“ -DestinationPath “D:\hyper-V\Blog\blog.vhdx“

Bzw. von VHDX in VHD

Convert-VHD -Path “D:\hyper-V\Blog\blog_2.vhdx“ -DestinationPath “D:\hyper-V\Blog\blog_2.vhd“
03_VHD.PNG