The biggest concern to thin provisioning VMware storage (or Hyper-V storage) is running out of space. Thin provisioning makes it possible to allocate far more space to a virtual hard disk (a VMDK file) than what is physically available on the storage array. Thin provisioning provides the guest operating system (OS) with the illusion that the full capacity of the thinly provisioned volume is available, regardless of how much capacity the physical storage array can actually provide. Consequently, the guest OS does not know when it's about to exhaust the available physical storage.
VMware took some steps to address this problem in vSphere 5.0. An alarm now sounds if a thinly provisioned data store reaches 75% of its overall capacity. When that happens, the Storage Distributed Resource Scheduler loses the ability to use the thinly provisioned data store as a destination.
The vendor has also changed the behavior of running virtual machines (VMs) residing on a thinly provisioned data store that has run out of space. Previously, such VMs were paused upon running out of space. As of vSphere 5.0, these VMs are allowed to run as long as they do not require any additional storage space.
Another big concern around thin provisioning VMware data stores is space reclamation. When data is added to a VMDK residing on a thinly provisioned data store, physical space is consumed on an as-needed basis. However, the physical storage space might not be reclaimed when data is removed.
This was a big problem prior to vSphere 5.0, especially when a VM was deleted or "storage vMotioned" to another location. In those types of situations, VMware did not attempt to reclaim the now unused space within the thinly provisioned data store.
VSphere 5.0 contains a mechanism that informs a storage array whenever blocks within a thinly provisioned data store are no longer being used. Unfortunately, there are performance issues with the reclamation process and at one point VMware began advising customers to disable the UNMAP feature in vSphere 5.0. In vSphere 5.5, VMware introduces a new command called ESXCLI that allows deleted blocks to be reclaimed. The command normally works as intended, but unmapping unused storage blocks continues to be a manual process.