Pivotal Cloud Foundry v1.10

Provisioning a Virtual Disk in vSphere

Page last updated:

When you create a virtual machine in VMware vSphere, vSphere creates a new virtual hard drive for that virtual machine. The virtual hard drive is contained in a virtual machine disk (VMDK). The disk format you choose for the new virtual hard drive can have a significant impact on performance.

You can choose one of three formats when creating a virtual hard drive:

  • Thin Provisioned
  • Thick Provisioned Lazy Zeroed
  • Thick Provisioned Eager Zeroed

Thin Provisioned


  • Fastest to provision
  • Allows disk space to be overcommitted to VMs


  • Slowest performance due to metadata allocation overhead and additional overhead during initial write operations
  • Overcommitment of storage can lead to application disruption or downtime if resources are actually used
  • Does not support clustering features

When vSphere creates a thin provisioned disk, it only writes a small amount of metadata to the datastore. It does not allocate or zero out any disk space. At write time, vSphere first updates the allocation metadata for the VMDK, then zeros out the block or blocks, then finally writes the data. Because of this overhead, thin provisioned VMDKs have the lowest performance of the three disk formats.

Thin provisioning allows you to overcommit disk spaces to VMs on a datastore. For example, you could put 10 VMs, each with a 50 GB VMDK attached to it, on a single 100 GB datastore, as long as the sum total of all data written by the VMs never exceeded 100 GB. Thin provisioning allows administrators to use space on datastores that would otherwise be unavailable if using thick provisioning, possibly reducing costs and administrative overhead.

Thick Provisioned Lazy Zeroed


  • Faster to provision than Thick Provisioned Eager Zeroed
  • Better performance than Thin Provisioned


  • Slightly slower to provision than Thin Provisioned
  • Slower performance than Thick Provisioned Eager Zero
  • Does not support clustering features

When vSphere creates a thick provisioned lazy zeroed disk, it allocates the maximum size of the disk to the VMDK, but does nothing else. At the initial access to each block, vSphere first zeros out the block, then writes the data. Performance of a thick provisioned lazy zeroed disk is not as good a thick provisioned eager zero disk because of this added overhead.

Thick Provisioned Eager Zeroed


  • Best performance
  • Overwriting allocated disk space with zeros reduces possible security risks
  • Supports clustering features such as Microsoft Cluster Server (MSCS) and VMware Fault Tolerance


  • Longest time to provision

When vSphere creates a thick provisioned eager zeroed disk, it allocates the maximum size of the disk to the VMDK, then zeros out all of that space.

Example: If you create an 80 GB thick provisioned eager zeroed VMDK, vSphere allocates 80 GB and writes 80 GB of zeros.

By overwriting all data in the allocated space with zeros, thick provisioned eager zeroed eliminates the possibility of reading any residual data from the disk, thereby reducing possible security risks.

Thick provisioned eager zeroed VMDKs have the best performance. When a write operation occurs to a thick provisioned eager zeroed disk, vSphere writes to the disk, with none of the additional overhead required by thin provisioned or thick provisioned lazy zeroed formats.

Create a pull request or raise an issue on the source for this page in GitHub