Wie kann man unbenutzten Festplatten Platz einer VM wieder freigeben?
Wichtig: Diese Anleitung funktioniert nicht bei NVME Festplatten!
Windows VM
- Unter Windows muss zuerst die Festplatte über die Datenträgerverwaltung verkleinert werden
- Mit dem freien Tool SDelete von Microsoft kann nun der freie Platz restlos gelöscht werden
sdelete -z c:

Linux VM
- Die Linux VM muss mit dem Befehl dd bereinigt werden
dd bs=1M count=8192 if=/dev/zero of=zero
VMDK Datei verkleinern
- Für das verkleinern muss die VM runtergefahren werden
- Per SSH auf den ESXi Host verbinden und dort in das jeweilige Verzeichnis wechseln
cd /vmfs/volumes/<DATASTORE>/<VMNAME>/
- Prüfen wie gross die VM Festplatte ist
du -h <VMNAME>-flat.vmdk
- Festplatte verkleinern
- Variante 1:
vmkfstools -K <VMNAME>.vmdk
- Variante 2:
vmkfstools -d thin -i <VMNAME>.vmdk <VMNAME>-NEW.vmdk
Nach dem Klonen muss die neue Festplatte der VM zugeordnet werden
- Variante 1:
- Prüfen ob die VM Festplatte verkleinert wurde
du -h <VMNAME>-flat.vmdk / du -h <VMNAME-NEW-flat.vmdk

Guten Morgen,
Schade hat auch nicht mit einer SSD funktioniert ( im Raid1 ).
Die Größe der VM wurde nur um 10GB mehr.
LG Harald
Hallo Harald
Ja Verkleinern geht leider nicht immer reibungslos und ist eigentlich auch nur in den wenigsten fällen eine gute Idee (egal mit welchen Hypervisor).
Grundsätzlich funktioniert die Anleitung (gerate wieder benutzt) am besten wenn viel Speicherplatz frei ist, es kann aber vorkommen das Windows gewisse Blöcke nicht freigibt und dadurch nicht wirklich viel gewonnen wird.
Grüsse
Michael