Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

2295

March 12th, 2014 16:00

Zeropagereclaim - VMware provision

hello,

As we have 3 provision types in vmware

Eagerzeroedthick:  In this format, the size of the VDMK file on the datastore is the size of the virtual disk that you create, and within the file, it is “pre-zeroed”.

Lazyzerothick: In this format, the size of the VDMK file on the datastore is the size of the virtual disk that you create, but within the file, it is not “pre zeroed”.

Thin: In this format, the size of the VDMK file on the datastore is only how much is used within the VM itself.


Bascially from attached screen shot, if we run zeropagereclaim ( full volume ) of Eagerzerothick volume on storage array it reclaim all portions of virtual disk that contain continuous zero, so if i run this basically it nullifying the benefit of eagerzerothick devices ( which are created by vmteam for prod/critical servers ).


and it won't works on Lazyzerothick and thin devices ( because guest os  won't write zeros ) so question is whats the point of running zeropagereclaim on storage array ?

1 Attachment

115 Posts

March 13th, 2014 11:00

Hi Salem, we are not using VAAI in our environment, thank you for doc links.

Rohang,

yes whatever vm admins provisioned of type eagarzerothick , they are performance critical and won't take hit of any perf related issues to we can rule out of using zeropagereclaim on those LUNs.

Lazyzeroedthick and thin devices:

"Running a zero space reclaim for Lazyzeroedthick and thin devices will definitely help because it will reclaim areas that have been written by host and subsequently zeroed. For example, you delete files on the disk and you want the guest OS to reuse that space, which will otherwise remain unused."


As per vmware doc ( here i attach the specific page )

if we delete files/vmdks on the lazyzerothink/thin disks the space won't come back until the vmware team runs the unmap/vmfsktools. correct me if i am wrong.

1 Attachment

465 Posts

March 12th, 2014 17:00

With Eagerzerothick, the reclaim will reclaim areas that have been written by host and subsequently zeroed. There may be valid reasons to want to reclaim this space.

March 12th, 2014 23:00

hello raj,

Bascially from attached screen shot, if we run zeropagereclaim ( full volume ) of Eagerzerothick volume on storage array it reclaim all portions of virtual disk that contain continuous zero, so if i run this basically it nullifying the benefit of eagerzerothick devices ( which are created by vmteam for prod/critical servers ).

This is true for virtual machines that are set up in a Fault Tolerant(FT) configuration or require the pre-allocation of space, which is the case with eagerzeroedthick virtual disks. So if the virtual machines' OS or its hosted applications zero out files for a particular reason (eagerzeroedthick devices), you should consider any implications of removing those zeros before reclaiming them.

So, if the VM is targeted to be used with VMware Fault Tolerance or cannot stand the small additional latency associated with the first write to a reclaimed (unallocated) Virtual Provisioning extent, reclaiming those zeros is not recommended. In this case, the virtual disks of the virtual machines are purposely pre-allocated and those zeros should not be removed.

and it won't works on Lazyzerothick and thin devices ( because guest os won't write zeros ) so question is whats the point of running zeropagereclaim on storage array ?


Running a zero space reclaim for Lazyzeroedthick and thin devices will definitely help because it will reclaim areas that have been written by host and subsequently zeroed. For example, you delete files on the disk and you want the guest OS to reuse that space, which will otherwise remain unused. This is because most Operating systems do not re-use deleted space effectively and it results in a considerable amount of fragmentation on the LUN.

regards.

213 Posts

March 13th, 2014 02:00

To make it more SYMMETRIX related discussion , I would recommend reading these 2 docs which describe the ucode integration with VAAI in your VMware environment

https://support.emc.com/docu32785_Symmetrix_VMAX_Virtual_Provisioning_Space_Reclamation_and_Application_Considerations.pdf?language=en_US

http://www.emc.com/collateral/hardware/white-papers/h6813-implting-symmetrix-vrtl-prvsning-vsphere-wp.pdf

Hope it helps

Mohammed Salem

286 Posts

March 13th, 2014 12:00

You are correct, zero reclaim will not reclaim "dirty" space aka previously written but now deleted space on the thin device unless it is all zeroes, which it rarely is. With the exception of EZT virtual disks that were deleted, a lot of that deleted space is usually unwritten by the guest so it is still zeroes. Otherwise UNMAP needs to be run to reclaim the space.

286 Posts

March 13th, 2014 13:00

Raj,

If you run vmkfstools to UNMAP (or esxcli in ESXi 5.5) you do not need to do anything after that like zero space reclaim to get the capacity back. UNMAP will set the relevant tracks to Not Written By Host and if the full thin extent is marked NWBH the thin extent will also be deallocated and returned to the pool. The only exception is if the extent is persistently allocated on the VMAX--UNMAP will be blocked and the extent will not be de-allocated.

115 Posts

March 13th, 2014 13:00

1.We already ruled out of running storage array zero page reclaim for  EZT

2. LZT/Thin devices we can't get space back until vmteam run the vmfsktools - i got this point

Question about 2nd point because the vmware/emc docs are not clear about this ( atleast i didn't get it ), So let say vmware admins run the vmfskools then can we see the un-utilized space back on tdev or we need to run the zeropagereclaim again after they finish their part of cleanup ( unmap/vmfsktools cmds ) ??

thanks,

Raj

213 Posts

March 13th, 2014 14:00

For the last point Cody mentioned, if the TDEV was originally created with Persistent allocation, Starting with SE7.4 and ucode 5876 you can clear the persistent allocations of tracks so that T10 UNMAP can reclaim these extents.

The command is:  symdev -sid xxx  unset -persistent

Hope it helps.

No Events found!

Top