What is T10 UNMAP?
UNMAP is a SCSI command used to reclaim space from blocks that have been deleted by a virtual machine (OS or application).
In vSphere 5, UNMAP is used for space reclamation of deleted data after common operations
This is particularly beneficial and important in thinly provisioned environments as it allows the storage array to realise these are unwanted or unused blocks and to return them to the free capacity pool.
What makes UNMAP important?
HP 3PAR thrives on the thin suite and it supports UNMAP as of Inform OS 3.1.1, however the first release of vSphere 5.0 had some issues where there were unexpected timeouts when the UNMAP command was issued from the ESXi host during an operation.
So when an operation like storage v-motion or a virtual machine is deleted, a copy or movement of data is kicked off essentially leaving behind deleted blocks, HP 3PAR can only realise this so long as UNMAP is started to reclaim those blocks. Since administrators are using storage v-motion on a day-to-day basis, the impact can be huge.
So what do you do?
Disable it until VMware release a fix – expected in the next patch release.
Use a manual command such as sdelete on Windows or dd on Linux to write zeros at the file system level, The 3PAR’s ASICs will pick these zeros up so long as zero detect is enabled.
How can UNMAP be disabled?
Support for UNMAP in our storage arrays is enabled by default and cannot be disabled by customers. In vSphere support for UNMAP is enabled by default but can be disabled via the command line interface.
esxcfg-advcfg –s 1 /VMFS3/EnableBlockDelete
This can be completed automatically by installing ESXi 5.0 Patch 02. For more information, see VMware ESXi 5.0 Patch Image Profile ESXi-5.0.0-20111204001-standard (2009330).
- This issue only affects thin provisioned arrays in the 3PAR family
UNMAP is a SCSI command standardized within T10 SCSI command set – It is not specifically a vSphere 5 feature
- This Issue only occurs when using ESXi 5.0 and 3PAR arrays that have the latest firmware.
- Customers can still reclaim space without UNMAP using the 3PAR arrays zero detect functionality should they disable UNMAP
- A patch is available that resolves this issue