Performance Analysis of Eager Zero vs Lazy Zero vs Thin Disk

 

ThinProvisioningCreationScreenshot
In my last blog about Thin vs Thick Disk, we discussed about basic differences between Thin and Thick Disk Provisioning.

In this article, we will be digging little more deeper about performance impact of  these various Disk Provisioning Techniques and will also try to address most frequently asked queries of VMware Admin or Professionals:

1) What is the difference between Lazy Zero and Eager Zero Thick Disk?
2) Which one gives better performance – Thin vs Thick Eager Zero vs Thick Lazy Zero?
3) How to measure Virtual Disk Performance in Storage Environment?

Performance Analysis of Thin vs Eager Zero vs Lazy Zero Thick Disk:

Before presenting virtual disk to Guest OS for use, Zeroing process has to be accomplished by ESXi Host on Virtual Disks.

What is Zeroing?

Zeroing is the process whereby disk blocks are overwritten with Zeros to ensure that no prior data leaked or exist into the new VMDK allocated with these blocks. In other words, Zeroing is the process of formatting VMDK by ESXi before presenting it to Guest OS to avoid Stale Entries or maintain data integrity.

Zeroing can be performed in two different ways:

  • At the time of Virtual Disk Creation
  • On the First write to VMFS block via VMDK

Zeroing process is one of the factor which differentiates these disk techniques with each other.

Note: One important point to note here is Zeroing process influence virtual disk performance only for first write on Disk Block. For sub sequential writes, there is no performance difference between Thin and Thick Disk Provisioning.

Let’s Understand how Zeroing process impact Virtual Disk Performance.

I have performed few experiments and measured Virtual Disk Performance in my own Lab and below is the Setup Details:

  • ESXi 6.0 Host with 8GB RAM and Quad Core Intel Xeon Processor.
  • Backend Storage Connectivity with EMC VNX5400 with VAAI Disabled
  • 32 Bit -Win7 VM installed with 1GB RAM and 1-vCPU.
  • ESXi VMFS Datastore configured with 100GB Free Space

We are going to simulate massive amount of writes on Virtual Disk by Formatting the whole disk.

Formatting_Disk

In this experiment, our Test VM uses Win7-32bit with 3 virtual hard disks of 40GB each, where there was one Thin Disk, Lazy Zero and Eager Zero. Each Disk was formatted with NTFS with “No Perform Quick Format” to generate heavy writes on disks

Performance Analysis of Thin Disk Provisioning:
Disk Writes performed at the Virtual Disk Level. (Run ESXTOP and press v for Virtual Disk Writes)

ThinProvisionVM-DiskScreenshot

As per esxtop statistics, approx 745 CMD/s being sent to Virtual Disk. Since WRITES/s is equal to CMD/s so it clearly shows that all commands sent to Virtual disk are Write Only Commands.

Actual Writes sent from ESXi host to the LUN ( Run ESXTOP and U for LUN Level Writes)

ThinProvisionLUN-WriteScreenshot

Naa.60050763008181a4dd000000000011 is LUN ID of Thin Provisioned VMDK.

As per esxtop LUN level statistics, approx 1293 CMD/s being sent from ESXi Host to LUN out of which 1198 CMDs are Write Only commands.

Above experiment and ESXTOP output concludes that 745 WRITE/s commands actually generates 1198 WRITE/s commands on LUN.

In Conclusion, we do see rougly 40% overhead on ESXi Kernel while performing first write on Thin Provisioned Disk

Performance Analysis of Thick Provisioned Lazy Zero Disk

Lazy Zero Disk :Virtual Disk gets created during VM creation but Zeroing done only when VM sent writes to disk.

Disk Writes performed at the Virtual Disk Level. (Run ESXTOP and press v for Virtual Disk Writes)

LazyZeroVM-DiskScreenshot

As per esxtop disk level statistics, 710 WRITE/s commands sent from Guest OS to Virtual Disk.

LazyZeroLUN-WriteScreenshot

Naa.60050763008181a4dd000000000012 is LUN ID of Thick Lazy Zero Provisioned VMDK.

As per esxtop LUN level statistics, approx 1092 CMD/s being sent from ESXi Host to LUN out of which 1007 CMDs are Write Only commands.

Above experiement and ESXTOP output concludes that 710 WRITE/s commands actually generates 1007 WRITE/s commands on LUN.

In Conclusion, Thick Provisioned Lazy Zero Disk generates  approx. 25% additional overheard on ESXi Kernel for every first write sent by Guest OS to disk.

Performance Analysis of Thick Provisioned Eager Zero Disk

Eager Zero Disk : Virtual Disk creation and Zeroing done at the time of VM creation itself.

Disk Writes performed at the Virtual Disk Level. (Run ESXTOP and press v for Virtual Disk Writes)

EagerZeroVM-DiskScreenshot

As per esxtop statistics, 1058 WRITE/s commands sent from Guest OS to Virtual Disk.

EagerZeroLUN-WriteScreenshot
Naa.60050763008181a4dd000000000013 is LUN ID of Thick Eager Zero Provisioned VMDK.

As per esxtop LUN level statistics, approx. 1051 WRITES/s commands being sent from ESXi Host to LUN.

Above experiment and ESXTOP output concludes that CMD/s sent from Guest OS to VMDK is almost equivalent to CMD/s sent from ESXi Host to LUN. Writes being done at the LUN are only writes the VM wants to make. In Conclusion there is no extra WRITEs introduced b ESXi since the “Zeroing” was already done during VM Creation

In Conclusion, There is no additional overhead on ESXi Kernel while performing first write on Thick provision Eager Zero Disk.

Conclusion & Recommendation:

Thick provisioning Eager Zero Disk performs better than Thin Provisioning and Lazy Zero Disk for First writes.

Recommendation: Deployment of Thin provision or Thick Provision depends more on ease of management rather than performance.
When using Thin-provisioned disks, we need to have a very clear defined process. What to do, when our datastore, which stores the thin provisioned disks is getting full? we need to define a consolidation ratio & what space utilization threshold we need to define before migrating thin-provisioned disks to other datastores.

When using Thick-provisioned disk, disk creation takes more time due to zeroing out process.
Cloning and Migration of Thick Provisioned Disk will consume more space and time as compared to Thin provisioned Disks.

In Conclusion, Eager zero thick vs Thin Provisioned disk is all about resource/time saving versus risk avoidance. So Choose wisely as per your Datacenter requirement.

You May Also Interested In

govmlab on sabtwittergovmlab on sablinkedingovmlab on sabgooglegovmlab on sabfacebookgovmlab on sabemail
I am VMware Solution Architect with 10+ Years of enriching experience in Datacenter Virtualization Technologies, Storage Area Networks and Software Defined Datacenter, Networking and Storage.
I hold Numerous certification including RHCE, CCNA, VCP4.0, VCP5.1, VCP5.5, vCloud and EMC certification.
While spending countless hours exploring the product inside and out and learning everything about it, Eventually I discovered my passion for teaching and helping others learn from my knowledge and experience so turned to Trainer cum Blogger to educate every single person keen to learn Virtualization.

Leave a Reply