Thick Provisioning on Nutanix
We had a customer request some thick eager provisioned virtual disks in an effort to improve performance on their SQL Server. We explained that while in legacy storage systems, thick provisioned disks do provide slightly better performance because the systems write zeroes to the disk so that metadata is allocated faster. This is no longer the case, as in modern storage systems like Nutanix there is no performance benefit between thick and thin disks.
Nevertheless, the customer wanted to proceed with thick provisioned disks – so we proceeded. Before powering the server up, the customer pinged me to ask why the disks were still showing as “thin” in the UI. Sure enough, the UI shows the newly inflated disks as “thin”. Interesting, as the inflate operations completed successfully. Nowhere in the UI (Datastore Browser, VM, etc.) show the disk as “thick”. Now I’m curious.
When I check the .vmdk file itself, I can see that the “thinProvisioned” flag is set to “0” which indicates “thick” provisioned:
Time for some testing. I create a new VM with two 10GB thin provisioned disks; one on Nutanix and another on NetApp. I inflate the disks via the Datastore Browser, and what do we get? They still show up in the UI as “thin”. There is a VMware KB that shows you how to reload the .vmx configuration file without removing the virtual machine from inventory. This is supposed to resolve any changes to the VM that are not being recognized by vCenter. Unfortunately, this did not work for me.
I ended up having to remove, and re-add the VM to inventory. The results were interesting to say the least. The Nutanix disk still shows as “thin”, while the NetApp disk now shows as “thick eager”. Just for a sanity check, I validate that both .vmdk files do have the “thinProvisioned” flag set to “0”. So what gives?
It looks like Nutanix will never thick provision a disk, regardless of what is configured in vCenter:
A modern storage system in Nutanix systems has no performance requirement to provision a thick disk. For a single Nutanix container, even when a thick disk is provisioned, no disk space is allocated to write zeroes. So there is no requirement for provisioning a thick disk.
As there is no performance benefit between thin and thick provisioned disks, Nutanix recommends using thin disks over any other disk type. By using thin disks, Nutanix prevents disk space from being wasted without affecting performance in any way. There is a great KB about it here.