Thin provisioning is a space reduction technique that optimizes the amount of storage physically assigned to servers, reserving space only for data written to disk. The space savings from using thin provisioning can be considerable and so, where possible, it's advisable to use it or to consider converting from thick to thin.
For vSphere deployments, the VMDK files associated with a virtual machine are assigned the attribute of either thin or thick provisioned at the time of creation. The settings can be viewed by checking the Summary tab for the guest in vCenter Server. The Resources box indicates the amount of provisioned and used storage -- that is, the amount of storage logically assigned and physically consumed, respectively. The setting for an individual VMDK can be validated by editing the guest settings and selecting a hard drive. The Disk Provisioning box indicates the type of VMDK in use and the provisioned size. Options are:
- Thin Provision: The VMDK will allocate space on-demand in the most efficient format.
- Thick Provision Lazy Zeroed: The VMDK allocates or reserves all the space required when it is created, but doesn't write zeroes to a block until that block is used, at first write.
- Thick Provision Eager Zeroed: The VMDK allocates all the space required when it is created and formats all blocks with zeros at creation time.
The VMDK provisioning type can't be changed, although you can convert thick to thin, even while the virtual machine is running. Live conversion requires vCenter Server; a VMDK is moved between data stores and, as part of that process, the format can be changed. Obviously, migration may have a performance impact on busy guests. You can also migrate a virtual machine using the command line and vmkfstools. This creates a copy of the VMDK but requires the guest to be offline and the administrator to also rename the VMDKs and remove/add the virtual machine to keep the inventory correct.
This was first published in December 2012