When vSphere 5.0 launched last year, I did a post on the new VAAI (VMware Storage APIs for Array Integration) primitives. One of the cool new features was the the ability to reclaim stranded space on Thin Provisioned datastores, something we could not do previously, which meant large amounts of stranded space could be left on these datastores. This block reclaim primitive involved sending a SCSI UNMAP command to the array when we deleted or migrated a file from a TP datastore. Unfortunately, some performance issues were experienced with this new primitive, and the time taken to reclaim the stranded space by certain storage arrays led to some operations like Storage vMotion to time out. In the end, we had to turn off the primitive in 5.0 patch 2.
Well, the good news is that in vSphere 5.0U1, we are now reinstating the VAAI Block Reclaim/UNMAP primitive. Unfortunately, it will not be implemented as an automated process, but will be a manual process for the time being. ESXi 5.0 U1 contains a 'vmkfstools' command with a revised '-y' option so you can now once again reclaim stranded space on Thin Provisioned datastores. We do expect customers to use this primitive during their maintenance window, since running it on a datastore that is in-use by a VM can adversely affect I/O for the VM. I/O can take longer to complete, resulting in lower I/O throughput and higher I/O latency. There is no way of knowing how long an UNMAP operation will take to complete. It can be anywhere from few minutes to couple of hours depending on the size of the datastore, the amount of content that needs to be reclaimed and how well the storage array can handle the UNMAP operation.
The numeric parameter passed after -y specifies a percentage of free space to reclaim on the volume when UNMAP is issued. Some calculation is required to correctly determine what this % value should be set to, and I would urge you to read the release notes for ESXi 5.0U1 and the VAAI UNMAP KB article.
Of course, the desired objective is to have this working automatically like we had in the initial 5.0 release, and we continue to work towards this goal. We do not have an eta for this as yet however.