Virtual disks, referred to as VMDKs because of the filename extension used by vSphere, are how VMs encapsulate their disk devices.
Virtual disks come in three formats:
Thin-Provisioned Disk
In this format, the size of the VMDK file on the datastore is only as much as is used within the VM itself. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK file will be 200 GB in size. As I/O operations occur in the guest OS, the VMkernel zeroes out the space needed right before the guest I/O is committed and grows the VMDK file accordingly. Note that space deleted from the guest OS's file system will not be necessarily released from the VMDK to the Hypervisor.
Thick-Provisioned Lazy Zeroed
In this format, the size of the VMDK file on the datastore is the size of the virtual disk that you create but within the file it is not pre-zeroed at the initial creation time. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK will appear to be 1 TB at the datastore file system, but it contains only 200 GB of data on the disk. As I/O occurs in the guest OS, the VMkernel zeroes out the space needed right before the guest I/O is committed, but the VMDK file size stays at 1 TB and does not expand.
Thick-Provisioned Eager Zeroed
Truly thick in every sense. In this format, the size of the VMDK file on the datastore is the size of the virtual disk that you create, and within the file it is pre-zeroed. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK file will appear to be 1 TB at the datastore file system, and it contains 200 GB of data and 800 GB of zeroes on disk. As I/O occurs in the guest, the VMkernel does not need to zero the blocks prior to the I/O occurring. This results in an improvement in the latency performance and fewer backend storage I/O operations when on the fly. Note that zeroing out blocks essentially would mean a significant increase in backend storage I/O operations up front during the initial creation of the VM. However if the array supports VAAI, vSphere can offload the up-front task of zeroing all blocks and thus reduce the initial I/O and time delays.
The Thick-Provisioned eager zeroed format is a necessity if you are going to use vSphere Fault Tolerance.
Virtual disks come in three formats:
Thin-Provisioned Disk
In this format, the size of the VMDK file on the datastore is only as much as is used within the VM itself. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK file will be 200 GB in size. As I/O operations occur in the guest OS, the VMkernel zeroes out the space needed right before the guest I/O is committed and grows the VMDK file accordingly. Note that space deleted from the guest OS's file system will not be necessarily released from the VMDK to the Hypervisor.
Thick-Provisioned Lazy Zeroed
In this format, the size of the VMDK file on the datastore is the size of the virtual disk that you create but within the file it is not pre-zeroed at the initial creation time. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK will appear to be 1 TB at the datastore file system, but it contains only 200 GB of data on the disk. As I/O occurs in the guest OS, the VMkernel zeroes out the space needed right before the guest I/O is committed, but the VMDK file size stays at 1 TB and does not expand.
Thick-Provisioned Eager Zeroed
Truly thick in every sense. In this format, the size of the VMDK file on the datastore is the size of the virtual disk that you create, and within the file it is pre-zeroed. For example, if you create a 1 TB virtual disk and place 200 GB of data in it, the VMDK file will appear to be 1 TB at the datastore file system, and it contains 200 GB of data and 800 GB of zeroes on disk. As I/O occurs in the guest, the VMkernel does not need to zero the blocks prior to the I/O occurring. This results in an improvement in the latency performance and fewer backend storage I/O operations when on the fly. Note that zeroing out blocks essentially would mean a significant increase in backend storage I/O operations up front during the initial creation of the VM. However if the array supports VAAI, vSphere can offload the up-front task of zeroing all blocks and thus reduce the initial I/O and time delays.
The Thick-Provisioned eager zeroed format is a necessity if you are going to use vSphere Fault Tolerance.
No comments:
Post a Comment