The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
Disabling the VAAI functionality in ESXi/ESX (1033665)
For information on VAAI support in a given storage array or required firmware levels, contact the storage array vendor.
When a VMFS-5 volume is formatted on a VAAI capable device, it uses ATS locking, which is termed as
ATS-only. To check if a VMFS volume has been configured with VAAI
ATS-only, use this command:
# vmkfstools -Ph -v1 /vmfs/volumes/VMFS-volume-name
The output appears similar to:
VMFS-5.54 file system spanning 1 partitions.
File system label (if any): ats-test-1
Mode: public ATS-only
Disabling VAAI using the vSphere ClientTo disable VAAI using the vSphere Client:
- Open the VMware vSphere Client.
- In the Inventory pane, select the ESXi/ESX host.
- Click the Configuration tab.
- Under Software, click Advanced Settings.
- Click DataMover.
- Change the
- Change the
- Click VMFS3.
- Change the
- Click OK to save your changes.
- Repeat this process for the all ESXi/ESX hosts connected to the storage.
Disabling VAAI using vSphere CLI or PowerCLITo disable VAAI using the vSphere CLI:
Note: Ensure that the vSphere CLI (vCLI) is installed and is able to connect to the ESXi/ESX hosts. For more information, see the vSphere Command-Line Interface Installation and Scripting Guide.
- Run these
vicfg-advcfgcommands to change the three settings:
vicfg-advcfg connection_options -s 0 /DataMover/HardwareAcceleratedMove
vicfg-advcfg connection_options -s 0 /DataMover/HardwareAcceleratedInit
vicfg-advcfg connection_options -s 0 /VMFS3/HardwareAcceleratedLocking
Note: For more information and examples on using vCLI connection options, see the Common Options for vCLI Execution section of the vSphere Command-Line Interface Installation and Scripting Guide.
- Repeat this process for all the ESXi/ESX hosts connected to the storage as no reboot is required. For a production environment, ensure that you plan accordingly.
To disable VAAI using the PowerCLI:
- Run the command:
Set-VMHostAdvancedConfiguration -VMHost Hostname -Name OptionName -Value 0
OptionNameis one of:
Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name DataMover.HardwareAcceleratedMove -Value 0
Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name DataMover.HardwareAcceleratedInit -Value 0
Set-VMHostAdvancedConfiguration -VMHost (Get-VMHost ($Hosts.SelectedItem)) -Name VMFS3.HardwareAcceleratedLocking -Value 0
Disabling VAAI using an ESXi/ESX console connectionTo disable VAAI using an ESXi/ESX console connection:
- Open a console to the ESXi/ESX host. For more information, see:
- Unable to connect to an ESX host using Secure Shell (SSH) (1003807)
- Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)
- Using ESXi Shell in ESXi 5.x (2004746)
- Disabling the VAAI Thin Provisioning UNMAP in ESXi 5.x (2007427)
Note: ESXi 5.0 issues UNMAP commands for Space Reclamation in critical regions during several operations with the expectation that the operation will complete quickly. Due to varied response times from the storage devices, the UNMAP command can result in poor performance of the system and should be disabled on the ESXi 5.0 host. For more information, see Disabling VAAI Thin Provisioning Block Space Reclamation (UNMAP) in ESXi 5.0 (2007427).
- Log in as a root.
- On ESXi 5.x hosts, run these
esxclicommands to change the three settings:
# esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedMove
# esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedInit
# esxcli system settings advanced set --int-value 0 --option /VMFS3/HardwareAcceleratedLocking
On ESXi/ESX 4.1 hosts, run these
esxcfg-advcfgcommands to change the three settings:
# esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedMove
# esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedInit
# esxcfg-advcfg -s 0 /VMFS3/HardwareAcceleratedLocking
- Repeat this process for all the ESXi/ESX hosts connected to the storage.
Note: The changes will be active after running the above commands; a reboot of the host is not required.
- If you must disable VAAI for a specific storage type, use the
esxclicommand to delete the existing hardware acceleration claim rules as documented on pages 176-177 of the vSphere 5 Storage guide.
Verifying the current configuration valuesTo check the current value of the configuration settings:
OptionNamewith one of the configuration setting names.
- Using the vSphere CLI:
vicfg-advcfg connection_options -get OptionName
- Using the PowerCLI:
Get-VMHostAdvancedConfiguration -VMHost Hostname -Name OptionName
- Using SSH/DCUI:
# esxcfg-advcfg --get OptionName
# esxcli system settings advanced list --option OptionName
# esxcli system settings advanced list --option=/VMFS3/HardwareAcceleratedLockingesxcli system settings advanced list --option=/DataMover/HardwareAcceleratedMove
# esxcli system settings advanced list --option=/DataMover/HardwareAcceleratedInit
Disabling the ATS Heartbeat CommandsIn VMware ESXi 5.5 U2 and later versions, VMware introduced using ATS for VMFS heartbeats. Some array manufacturers have recommended disabling ATS for heartbeat operations even if they support ATS for other tasks. Depending on the exact circumstance, it may be beneficial to disable ATS for heartbeat operations only, while leaving ATS enabled for other filesystem operations. To disable ATS for heartbeat operations, run this command:
# esxcli system settings advanced set -i 0 -o /VMFS3/useATSForHBOnVMFS5You can verify the command execution by examining the current setting:
# esxcli system settings advanced list -o /VMFS3/useATSForHBOnVMFS5Note: If you globally disable ATS as described in this document, ATS for heartbeat operations will also be disabled even if that option is not configured.
Changing an ATS-only volume to publicTo change an ATS-only volume to be accessible using SCSI, it must be unmounted and remounted to apply the change and initialize the new locking mechanism.
To change an ATS-only volume to public (SCSI+ATS):
- Migrate all virtual machines and templates off the datastore using Storage vMotion. There should be nothing registered to the datastore.
- Unmount the datastore from all ESXi hosts. For more information, see Unmounting a LUN or detaching a datastore/storage device from multiple VMware ESXi 5.x/6.0 hosts (2004605).
- Run this command to allow non ATS access to the volume:
# vmkfstools --configATSOnly 0 /vmfs/volumes/VMFS-volume-name
- Remount the datastore to the ESXi hosts.
- Migrate or re-register the virtual machines back to the original datastore.
- Once you have completed these steps for each target datastore, and all the datastores you want to have public access are configured correctly, run the relevant esxcli system settings advanced command(s) to apply a global configuration to the ESXi host.
- If you cannot migrate the virtual machines off the datastore using Storage vMotion, you can unregister the virtual machines temporarily to allow the unmount and remount.
Caution: This clears statistical data for the virtual machine in vCenter Server. Virtual machine configuration data, including solutions/plug-in configuration data (backup jobs/schedules, replication/protection mappings, etc) may also be lost if the virtual machine it relates to is removed from the vCenter Server inventory.
- If there are VMware View linked clones residing on the datastore, they cannot be migrated using Storage vMotion. The linked clones must be decommissioned and recreated, or unregistered and re-registered. Ensure you make suitable changes in View Manager to prepare for the datastore maintenance.
- Enabling or disabling ATS should not impact any virtual machines running, but VMware recommends to ensure this change during a maintenance window.
- Disabling the ATS (atomic test and set) parameter has the potential to cause data unavailability in ESXi 5.5 for volumes that were create as VMFS5 natively. Those volumes only support the use of ATS locking. Anything that is VMFS3 or upgrade from VMFS3 to VMFS5 should be fine. The other option would be to upgrade the ESXi host to version 6.x where we have added functionality to set the lock mode on native VMFS5 volumes that allows the old SCSI reservation method to function.
Note: Modifying ATS mode has been improved in vSphere 6.0. VMware has added additional flags in the VMFS metadata to support transient conditions, so the operation can be done with running virtual machines and is not disruptive. For more information, see the VMFS Locking Mechanisms section of the vSphere Storage Guide.
- If you are running a VMware Virtual SAN environment, it is important that Hardware Assisted Locking (ATS) is not disabled.
- If you unregister a virtual machine from the vCenter Server inventory to allow a datastore unmount, you will lose virtual machine configuration and statistical data.
To revert this configuration and to enable vStorage APIs for Array Integration functionality, change each of these settings from 0 to 1.
For more information about locking mechanisms, see:
- Unmounting a LUN or detaching a datastore/storage device from multiple VMware ESXi 5.x/6.0 hosts (2004605)
- Monitoring VMware vSphere Storage APIs – Array Integration using esxtop and maintaining the status as enabled (2065193)
This Article Replaces
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.