Mit ein paar wenigen Schritten, lässt sich die Größe einer VHDX komprimieren. Ungenutzter Speicherplatz lässt sich damit wieder freisetzen und für andere Zwecke nutzen.In dieser Anleitung zeige ich Dir, wie dies funktioniert..

VHDX komprimieren auf tatsächliche Größe

Die Möglichkeit, eine VHDX komprimieren zu können, besteht nur, wenn das Festplattenimage als Typ „Dynamisch erweiterbar“ angelegt wurde. In diesem Fall wird nämlich das sogenannte Thin Provisioning angewendet. Das bedeutet, dass sich die Image-Datei nur dann vergrößert, wenn der Speicherplatz in der VM auch wirklich belegt wird. Das eigentlich Dumme an der Sache ist, dass einmal belegter Speicherplatz andersrum nicht wieder automatisch freigegeben wird.

Die beiden nachfolgenden Bilder beschreiben das Problem etwas genauer:

VHDX komprimieren
Auf der Partition D sind von knapp 10GB noch 8,23GB Speicherplatz für die freie Verwendung vorhanden.
vhd datei verkleinern
Auf dem Hyper-V Host nimmt die VHDX Datei allerdings ca. 9GB Speicherplatz in Anspruch.

Ist genügend Speicherplatz auf dem Hyper-V Host oder Hyper-V Cluster vorhanden, ist dieser Umstand zunächst nicht weiter schlimm. Problematisch wird es allerdings, wenn die maximale Größe der virtuellen Festplatten den insgesamt vorhandenen Speicherplatz überschreitet. Dann besteht die Gefahr, dass die Partition oder das Cluster Shared Volume (CSV) „voll läuft“. Das Ergebnis wäre der Ausfall sämtlicher virtueller Computer, die auf dieser Partition, bzw. CSV liegen.

Per PowerShell die VHDX verkleinern

Für ein optimales Ergebnis bei der Komprimierung darf sich die VHDX-Datei nicht im Schreibzugriff berfinden. Sprich: die virtuelle Maschine muss ausgeschaltet, bzw. heruntergefahren sein. Andernfalls bekommst Du die Fehlermeldung: „Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird (0x80070020)“ angezeigt.

Der PowerShell Befehl zum Verkleinern einer VHDX-Datei lautet Optimize-VHD:

Optimize-VHD "<Pfad zur VHDX-Datei>" -Mode Full

Dadurch wird die betreffende virtuelle Festplatte auf die geringst mögliche Größe komprimiert. Der Schalter „-mode Full“ bewirkt, dass beim Komprimieren neben „ausgenullten“ auch nach unbenutzen Blöcken gesucht wird und auch deren  verwendeter Speicherplatz freigegeben wird.  Nachdem dieser Prozess beendet wurde, lohnt sich ein Blick in den Ordner „Virtual Hard Disks“.

In meinem Beispiel wurde die VHDX-Datei von ca. 8,6GB auf 1,9GB verkleinert. Das entspricht einer Komprimierungsrate von knapp 77%. Es kann sich also besonders bei virtuellen Datenträgern, welche in der Vergangenheit große Datenmengen beheimateten, lohnen die VHDX Komprimierung einmal auszuführen.

VHDX komprimieren
Nach der Komprimierung der VHDX-Datei ist das Festplattenimage keine 2GB mehr groß.

VHDX komprimieren per Hyper-V Manager

Für alle Freunde der grafischen Oberfläche: Der ganze Prozess ist auch über den Hyper-V Manager möglich. Dazu muss lediglich die virtuelle Festplatte in den Einstellungen der virtuellen Maschine ausgewählt werden. Mit einem Klick auf Bearbeiten bekommen wir die möglichen Operationen angezeigt.

VHDX komprimieren mit Hyper-V Manager
Auch über die grafische Oberfläche des Hyper-V Servers lässt sich die VHDX komprimieren
VHDX komprimieren mit Hyper-V
Die VHDX-Datei kann mittels der Option „Komprimieren“ verkleinert werden.

Egal für welche der beiden Möglichkeiten Du Dich entscheidest, das Ergebnis ist das Gleiche. Die VHDX-Datei wird auf die Größe verkleinert, welche der tatsächlichen Datenmenge entspricht, die in ihr gespeichert ist. Nachdem alle virtuellen Festplatten entsprechend verkleinert wurden, kann die virtuelle Maschine wieder gestartet werden.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.