When provisioning virtual machine hard disks on VMFS datastores we have the following disk formats to select from:
- Lazy-zeroed Thick
- Eager-zeroed Thick
Now which format should we decide to use and what are the differences we require to understand?
On creation of the virtual machine hard disk the blocks and pointers are allocated in the VMFS datastore, however these blocks are not formatted which allows for a fast creation time for the virtual machine hard disk.
The difference during the creation of the virtual machine hard disk using this method to the lazy-zeroed thick format is that the blocks and pointers are zeroed out at creation time, which results in an increase in the creation time. However, if your storage array supports VAAI this can be negated as the zeroing of blocks is offloaded to the device which would result in a reduction in the creation of the virtual disk.
On creation of the virtual machine hard disk blocks and pointers are not zeroed or formatted at creation, which will result in reduction in the creation time when compared to Lazy-zeroed and Thick-zeroed methods. The difference between thin provisioning and both lazy-zeroed and eager-zeroed methods is that blocks are allocated on demand.
Now we have an understanding of the differences during provisioning the virtual machine hard disk, what are the impacts on performance?
As virtual machine hard disks provisioned using the eager-zeored thick format have preallocated and zeroed blocks and pointers there will be no performance impact from a first-write, so this in theory would provide the best possible performance for usage.
For both lazy-zeroed thick and thin provisioned virtual machine hard disks both suspend I/O when writing to new areas of the disk that need blocks to be zeroed out. In this case of lazy-zeroed thick this occurs during the first time write operation occurs on an area of the disk that has not been written. However, if your storage array support VAAI, this will negate the impact of performance as the disks first write offloads the zeroing operation to the device.
The difference for thin provisioned disks when writing to a new area of the disk is that due to additional capacity being allocated from the datastore as this is not allocated on creation, unlike lazy-zero and eager-zero thick formats. In this operation writes are suspended as a SCSI lock is placed on the datastore.
In terms of management, thin provisioning can provide administrative overhead if not managed correctly, in particularity if you are adopting a Thin (VMFS) on Thin (Storage Array) approach. For Example, a datastore containing multiple VMs with thin provisioned virtual machine hard disks would need to be carefully managed as the free space of the datastore may become exhausted due to the usage of the thin provisioned disks exceeded the available capacity.