It will take a little while depending on the size of the virtual disk. Once the VM is shutdown we can run: # vmkfstools -punchzero vma.vmdk However, before we can run that command we need to shutdown the virtual machine to release the lock the host has on the. In order to reclaim that 500Mb we can use vmkfstools -K or vmkfstools –punchzero. Going back to the host, the virtual disk has now grown to 2.3GB as expected: # du -ah vma-flat.vmdkįollowing deletion of the file in the guest OS, the virtual disk remains at 2.3GB. The following command needs to be run within the guest OS: dd if=/dev/zero of=test.file bs=500000000 count=1 As this is a linux virtual machine I’ll use the following method to create a 500Mb file. We’ll add some data to the thin provisioned disk. Looking at its size on the datastore (remember to use ‘du’ rather than ‘ls’ to get the true size) we can see that it is currently using 1.9 GB of space on the datastore: # du -ah vma-flat.vmdk We’ll start with a VM with a single thin provisioned disk. The best way to demonstrate this is with a real example. This is where vmkfstools -K or vmkfstools –punchzero comes in handy. However, if I then delete the 5GB file, the virtual disk does not shrink, it remains at 5 GB.
So, if I copy a 5 GB file to the disk, then the thin provisioned disk will grow to ~5 GB. For example, if you allocate a 20GB disk as Thin, then it’s size on the datastore will start at zero bytes, and will grow as files are written to the disk up to a maximum of 20 GB. Thin provisioned disks allow you to assign storage to virtual machines, without actually using up that space on the datastore.
I see vmkfstools -punchzero quite a bit as one of the search terms leading to my other posts about vmkfstools, so thought it would be worthwhile giving this useful feature its own post.