Why does VMware ESXi or Microsoft Hyper-V report more space used than ONTAP LUN
- Views:
- 1,329
- Visibility:
- Public
- Votes:
- 1
- Category:
- aff-series
- Specialty:
- san
- Last Updated:
- 8/8/2024, 2:34:26 PM
Applies to
- ONTAP 9
- VMware vSphere
- Microsoft Hyper-V
Answer
- This is expected behaviour as Host used space is allocated / reserved (not actual physical written to blocks when lazy zeroed)
- Storage reports those blocks only when written. As per thin Logical block provisioning feature as defined in the SCSI SBC-3 standard
- Storage efficiency features can contribute
Additional Information
Explanation:
- Using space logical reporting may help correlate space usage for monitoring and management
- Virtual machine feature like memory balloon driver and swap file may reserve empty space
- Using Thick Provision Lazy Zeroed VMDK on thin provisioned datastore and thin provisioned storage vol/LUN non space guaranteed
-
VMware calculation for Space consumed =Total Provisioned space+Templates+Log files size+HA configuration files+Swapfiles+Snapshot+Offline files or offline VMs if any and Thick Provision Lazy Zeroed vmdk.
- vSphere writes a VMFS file system to a LUN, it is now responsible for managing the usage within that VMFS file system however NetApp only tracks whether the blocks have ever been written.
- Number of virtual machines (VMs) on a VMFS allocate Virtual disks (VMDKS) to the VMs. Each time you commit space - vSphere sees some (or all if it's thick provisioned) of that space consumed and reports it as used.
- ONTAP will not consider that space used until blocks are actually written. This compounds quickly by the swap files of virtual machines on the VMDKs. Typically VM's swap files on the same datastore as their VM.
- VM is booted, is that vSphere commits an amount of storage for the VM swap that is equivalent to the configured MEMORY minus the RESERVED MEMORY
-
Example:
-
Powering up a VM configured for > 32 GB Memory will consume 32 GB of storage on the datastore. Powering up a VM configured for 32 GB memory with a 24 GB reservation will consume 32-24=8 GB of storage on the datastore.
-
vSphere commits these amounts of storage on the datastore and considers it "used"but data is hardly written to a swap device so space is empty on storage physical blocks.
-
-