UNMAP – Reclaim Space on Equallogic via VMware Datastores

Scenario: We have a 2TB LUN thin provisioned on an Equallogic group. This is is used for a VMFS5 datastore on an ESXi 5.1 cluster. We were getting warnings from the SANs LUN is over our warning threshold. However, VMWare was reporting nowhere near that limit. Using the UNMAP facility available in ESXi 5.0u1 + we are able to reclaim space on the LUN. This approach was automatic before this version but was apparently problematic.

VMware was showing at 589.26GB 

Equallogic was showing as 305.48GB free

When a block has been written to a LUN then 

To reclaim space on the array:

1) SSH to an ESXi node and run the following command:

# esxcli storage core path list

This will list all paths to the LUNs on this ESXi host. Find the Naa.id  you are interested in

<snip>


   Runtime Name: vmhba37:C0:T6:L0
   Device: naa.11111111111111111111111111
   Device Display Name: EQLOGIC iSCSI Disk (naa.11111111111111111111111111)
   Adapter: vmhba37
   Channel: 0
   Target: 6
   LUN: 0
   Plugin: NMP
   State: active
   Transport: iscsi

<snip>

 

 

2)  Then ensure that UNMAP is supported

# esxcli storage core device vaai status get -d naa.11111111111111111111

nnaa.11111111111111111111111111
   VAAI Plugin Name: VMW_VAAIP_EQL
   ATS Status: supported
   Clone Status: supported
   Zero Status: supported
   Delete Status: supported

 

 

3) change directory to the datastore:

# cd /vmfs/volumes/MyDataStore

 

 

4) Now we need to work out how much space to reclaim. VMware does not recommend reclaiming 100% of space as a file is created during this reclaimation process and may fill up the VMFS. VMware instead recommends using the following formula:

So in our case:

589.26GB – 305.48GB
___________________   * 100  = 48.16%

589.26GB

Therefore the command to run is:

# vmkfstools –y 48