VMword 2013: vSphere 5.5 Space Reclaimation

Twitter: #STO4907. Aboubacar Diare (HP), Abid Saeed (VMware)

This session discussed how storage reclamation for block works in vSphere 5.0 thought vSphere 5.5. vSphere 5.5 has major improvements in how freed storage space is reclaimed. While not totally automated, it’s much more efficient and easier to kick off the reclamation process. I had to leave early to catch my next session, so I missed the performance impact part of the session.


  • Problem Statement
  • What is UNMAP
  • UNMAP in ESXi 5.x
  • Test Configuration
  • Results and considerations
  • Summary

Problem Statement

  • VMFS datastore freed capacity from VM deletion is not automatically released from the back-end storage array

What is UNMAP?

  • A SCSI primitive that is used with back-end storage to release LBAs back to the array
  • ESX 5.0 introduced the UNMAP command, and only supported on block storage
  • Does your device support UNMAP?  esxcli storage core device vaai status get -d
  • UNMAP is part of thin provisioning feature of the storage array
  • ESXi 5.0 GA: UNMAP is synchronous but disabled in ESXi 5.0 U1
  • ESXi 5.0 Ux and 5.1 Ux – Asynchronous method using vmkfstools -y
  • ESXi 5.5 – Asyncrhonous – can run from ESXi cli once and you are good to go

UNMAP is ESXi 5.0

  • ESXi 5.0 GA: User deletes VM or does storage vMotion, VMFS frees the blocks in VMFS, ESX sends UNMAP, storage frees physical blocks
  • ESXi 5.0 Patch 2: No UNMAP commands sent

Space Reclaimation in ESXi 5.0 Ux, 5.1 and 5.5

  • Step 1: User deletes VM/VMDK, VMFS frees the blocks in VMFS metadata
  • Step 2: User runs vmkfstools/esxcli command, then VMFS inflates a temp file of zeros, ESX sends UMAP commands to that temp file block range
  • vmkfstools reserves the free capacity (60% by default) when you unmap
  • VMFS free capacity is not the same as storage free capacity
  • Max balloon file size is 2TB.
  • ESXi 5.1 Update x will create multiple 2TB allocation files for datastores with more than 2TB free

Space Reclamation in ESXi 5.5

  • Uses esxcli, so you can run it remotely via server name and datastore name
  • Reclaim unit: Reclaim 100% of the space in small chunks. The chunk size is specified with reclaim_unit
  • Relclaim default is 200MB chunks
  • Unmap command is sent to the entire free capacity of the datastore, so storage free capacity always equals VMFS free capacity
  • Since only 200MB are reclaimed at a time, you are safe since the datastore won’t run out of free blocks for other VMs
  • Ran tests for reclaim units: 200MB to 12GB. Sweet spot seems to be 1.6GB to 12GB
Print Friendly, PDF & Email

Related Posts

Notify of
1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
July 9, 2014 1:37 am

So can we expect to see space reclamation on Storevirtual + VMware anytime soon???