If a thin provisioned VMDK is taking up more space on the datastore than expected, you can reclaim space to free up local space in the datastore.
Original Reference
Step-by-step guide
Back up the VM.
Make a Backup!
Since we are modifying the VMDK files, make a good backup of the entire VM folder in case something happens.
- Download SDelete from SysInternals (Microsoft) on the VM.
Zero the free space on the affected drive.
sdelete.exe -z C:
If the VM has more than one drive letter, substitute the appropriate drive letter, or run the command against each one individually.
- Power off the VM.
SSH into the ESXi host.
SSH is usually disabled on ESXi hosts. Enable it for this procedure, then turn it back off again for security reasons.
- CD into the VM folder.
cd /vmfs/volumes/DATASTORE_NAME/VM_NAME
Run the cleanup command.
vmkfstools -K disk_name.vmdk
The file used here is descriptor file .vmdk file not the data file -flat.vmdk
- Verify disk size has decreased.
- Power on the VM and return to normal operation.
Related articles