When adding virtual disks to a VM in VMware, there are mainly 3 disk allocation options: thick provisioned lazy-zeroed, thick-provisioned eager-zeroed, and thin provisioned. Let’s go over them and consider the different features of these options.
Thick provisioning means pre-allocating all the vmdk disk space in advance. Let’s say you were going to create a vmdk of 50GB. If you select thick provisioning, all 50GB will be reserved for this vmdk in the datastore from which your storage is provisioned. In this category, there are two types:
- A thick-provisioned, eager-zeroed disk
- A thick-provisioned, lazy-zeroed disk
Selecting the eager-zeroed disk option will create a vmdk that has been zeroed out. This means that whatever data has been previously stored on this disk is wiped before the vmdk is available for use. This disk type takes a little longer to create and will be somewhat slower on the first few write operations.
In contrast, a lazy-zeroed disk is not reset to a clean state before being put to use. The vmdk is zeroed on-the-go, meaning that any previous data is technically still present on the disk until a write request arrives on a block-by-block basis. Lazy-zeroed disks are created more quickly but are considered slower in performance for the first few writes.
Pros and Cons of Thick provisioning
- The greatest advantage of thick-provisioned disks is the guarantee of reserved storage in the amount that has been selected upon creation. The storage provided for a specific thick-provisioned vmdk cannot be used by any other disk in the environment.
- Thick-provisioned eager-zeroed disks are more secure since the storage is zeroed out from any previous information upon creation. (Naturally, this does not apply to lazy-zeroed disks in this category, where only the index is deleted from the storage pool to mark it as available for use, but not the actual data until an incoming write request.)
- Storage is much more likely to be over-provisioned without adequate resource distribution on a per VM basis due to guaranteed reservation.
Thin Provisioning in VMware vSphere
Thin provisioning is a pre-allocation mechanism that reserves disk space for a vmdk in the datastore, but in name only. If you’re creating a thin-provisioned vmdk of 50GB, you are not actually claiming all of that space. No matter the initial size selected, a thin-provisioned disk will consume as much storage as it needs, even if that translates to going above the limit of 50GB. Likewise, if the VM will only consume 30GB of storage, the leftover 20GB will remain as part of the communal storage pool.
Pros and Cons of Thin Provisioning
- Thin-provisioning disks is a more liberal approach to allocating disk space. This strategy gives you more overall storage in the datastore since over-provisioned VM disk space not consumed by a given VM will be available for use for other VMs.
- There is also less calculation involved in how much disk space to provide to any given VM since the vmdk has room to grow beyond its nominal limit.
- Suppose your VMs are allocated more storage than can be physically provided. In that case, you run the risk of coursing through dangerous territory, especially once the datastore storage is entirely depleted, at which point the VMs will flop. With that being said, these days, you get a fair share of warnings about resource depletion, whether thick or thin-provisioned, and the DRS feature will issue an alert once thin-provisioned storage uses up 75% of its allocated capacity.
Performance Comparison between Thick and Thin Provisioning
Currently, there is no noticeable performance difference between thick and thin-provisioned disks. Some years ago, VMware released technical documentation attesting to the fact that the difference was negligible and with the release of SSDs became almost completely erased. The only aspect where thick and thin provisioned disks are distinct in terms of speed is creation. However, note that thick-provisioned lazy-zeroed and thin-provisioned disk creation won’t differ much since both disk options are created without being zeroed beforehand, so the difference lies with thick-provisioned eager-zeroed disks vs. the other two.
Overall, the right disk allocation method will depend on the specific use case of a given VM. For most regular VMs, thin-provisioned disks would be a good option with the benefit of having more evenly distributed storage, but at the expense of some additional monitoring efforts. Thick-provisioned disks would work well for more critical VMs where additional security and insurance against maxed-out storage are required. These disks, however, will take up more time to create. In any case, always have adequate backup infrastructure in place to protect your production environment from accidents and human error.
from StarWind Blog https://bit.ly/3UkvP9t