When you allocate disks in VMware, you can specify thin provisioned, thick provisioned eager zero or thick provisioned lazy zero, but what is the difference?
Thin provisioned disks allocates only the disk space you need, but no more. When your operating system requires more space, it is allocated. With thin provisioning you can have a hard disk presented to your operating system that is 60GB but only uses 30GB of space (for example). Thin provisioning is not appropriate for VMs such as database servers that require fast IO response as the database grows. This is because each database operation causing the database to grow will be slowed down because additional disk has to be allocated each time.
The difference with thick provisioned disks is that they allocate the full disk when you create it. Consequently it takes more time to create the disks. To get around this, VMware came up with the concept of eager zero and lazy zero. In lazy zero thick provisioning, the disk space is pre-allocated when you create the disk, so it doesn’t need to grow. However, the difference with lazy zero is that although the disk is allocated, bits aren’t written. In eager zero thick provisioning all the unused space is written. Consequently disks can be thick provisioned in the same amount of time as disks can be thin provisioned.
So why would you use eager zero instead of lazy zero? The answer is security. If you don’t write the unused space then you run the risk of users of the server reading the unused space and getting data that hasn’t been wiped.