One of the new features in vSphere 5.0 is Thin Provisioning Block Space Reclamation (UNMAP). This was released as one part of a new VAAI primitive (the other component of the new primitive being thin provision stun).
Today, VMware released KB 2007427 Disabling VAAI Thin Provisioning Block Space Reclamation (UNMAP) in ESXi 5.0.
Due to varied response times from the storage devices, UNMAP command can result in poor performance of the system and should be disabled on the ESXi 5.0 host. This variation of response times in critical regions could potentially interfere with operations such as Storage vMotion and Virtual Machine Snapshot consolidation.
VMware intends to disable UNMAP in an upcoming patch release till full support for Space Reclamation is available.
As described in the article, the workaround to avoid the use of UNMAP commands on Thin Provisioned LUNs is as follows:
- Log into your host using Tech Support mode. For more information on using Tech Support mode see Tech Support Mode in ESXi 4.1 and 5.0 (1017910).
- From your ESXi 5.0 host, issue this esxcli command: esxcli system settings advanced set –int-value 0 –option /VMFS3/EnableBlockDelete
Note: In the command above, double hyphens are used before “int-value” and “option”; the font used may render them as a single long hypen. This is a per-host setting and must be issued on each ESXi 5.0 host in your cluster.
Update 12/16/11: VMware released five (5) non-critical patches last night. One of those patches is ESXi500-201112401-SG which is the anticipated update that disables the UNMAP functionality in the new vSphere 5 Thin Provisioning VAAI primitive. Full patch details below:
Summaries and Symptoms
This patch updates the esx-base VIB to resolve the following issues:
- Updates the glibc third party library to resolve multiple security issues.
The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the names CVE-2010-0296, CVE-2011-0536, CVE-2011-1071, CVE-2011-1095, CVE-2011-1658 and CVE-2011-1659 to these issues. - When a hot spare disk that is added to a RAID group is accessed before the disk instance finishes initialization or if the disk is removed while an instance of it is being accessed, a race condition might occur causing the vSphere Client to not display information about the RAID controllers and the vSphere Client user interface might also not respond for a very long time.
- vMotion fails with the A general system error occurred: Failed to flush checkpoint data!error message when:
- The resolution of the virtual machines is higher than 1280×1024, or smaller if you are using a second screen
- The guest operating system is using the WDDM driver (Windows 7, Windows 2008 R2, Windows 2008, Windows Vista)
- The virtual machine is using Virtual Machine Hardware version 8.
- Creating host profiles of ESX i 5.0 hosts might fail when the host profile creation process is unable to resolve the hostname and IP address of the host by relying on the DNS for hostname and IP address lookup. An error message similar to the following is displayed:
Call"HostProfileManager.CreateProfile" for object "HostProfileManager" on vCenter Server"<Server_Name> failed.
Error extracting indication configuation: [Errno- 2] Name or service not known.
- In vSphere 5.0, Thin Provisioning is enabled by default on devices that adhere to T10 standards. On such thin provisioned LUNs, vSphere issues SCSI UNMAP commands to help the storage arrays reclaim unused space. Sending UNMAP commands might cause performance issues with operations such as snapshot consolidation or storage vMotion.
This patch resolves the issue by disabling the space reclamation feature, by default. - If a user subscribes for an ESXi Server’s CIM indications from more that one client (for example, c1 and c2) and deletes the subscription from the first client (c1), the other clients (C2) might fail to receive any indication notification from the host.
This patch also provides you with the option of configuring the iSCSI initiator login timeout value for software iSCSI and dependent iSCSI adapters.
For example, to set the login timeout value to 10 seconds you can use commands similar to the following:
- ~ # vmkiscsi-tool -W -a "login_timeout=10" vmhba37
- ~ # esxcli iscsi adapter param set -A vmhba37 -k LoginTimeout -v 10
The default login timeout value is 5 seconds and the maximum value that you can set is 60 seconds.
We recommend that you change the login timeout value only if suggested by the storage vendor.
Hey Jason,
Thanks for this great article!
It’s always great to see how fast things get noticed (and solved) within the VMware Community:
http://www.virtuallyghetto.com/2011/09/how-to-automate-disabling-of-vaai-unmap.html
Greets,
Arjan
Good info Jason, thanks. Please note, the syntax requires two hyphens instead of one in your post. “esxcli system settings advanced set –int-value 0 –option /VMFS3/EnableBlockDelete”
Instead of “esxcli system settings advanced set -int-value 0 -option /VMFS3/EnableBlockDelete”
Thanks,
-JT
Thanks for the heads up John. The post is actually written with double hyphens but renders as a single hyphen due to HTML or the font. I tried a different font (Ariel Black) and saw the same result. I’ve added a note below to call it out.
Jas