VMware ESX Disable VAAI

To disable VAAI in ESXi/ESX, you must modify these advanced configuration settings:

  • HardwareAcceleratedMove
  • HardwareAcceleratedInit
  • HardwareAcceleratedLocking

You can modify these settings using the vSphere Client, vSphere CLI, or a console connection to the ESXi/ESX host.
 

Disabling VAAI using the vSphere Client

To disable VAAI using the vSphere Client:

  1. Open the VMware vSphere Client.
  2. In the Inventory pane, select the ESXi/ESX host.
  3. Click the Configuration tab.
  4. Under Software, click Advanced Settings.
  5. Click DataMover.
  6. Change the DataMover.HardwareAcceleratedMove setting to 0.
  7. Change the DataMover.HardwareAcceleratedInit setting to 0.
  8. Click VMFS3.
  9. Change the VMFS3.HardwareAcceleratedLocking setting to 0.
  10. Click OK to save your changes.
  11. Repeat this process for the all ESXi/ESX hosts connected to the storage.

 

Disabling VAAI using vSphere CLI or PowerCLI

To 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 thevSphere Command-Line Interface Installation and Scripting Guide.

  1. Run these vicfg-advcfg commands 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 Executionsection of the vSphere Command-Line Interface Installation and Scripting Guide.
     

  2. 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

Where OptionName is one of:

  • DataMover.HardwareAcceleratedMove
  • DataMover.HardwareAcceleratedInit
  • VMFS3.HardwareAcceleratedLocking

For example:

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 connection

To disable VAAI using an ESXi/ESX console connection:
 

  1. Open a console to the ESXi/ESX host. For more information, see: 
     

  2. Log in as root.
     
  3. On ESXi/ESX 4.1 hosts, run these esxcfg-advcfg commands to change the three settings:

    # esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedMove
    # esxcfg-advcfg -s 0 /DataMover/HardwareAcceleratedInit
    # esxcfg-advcfg -s 0 /VMFS3/HardwareAcceleratedLocking

    On ESXi 5.x hosts, run these esxcli commands 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
     

  4. 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.
     

  5. If you must disable VAAI for a specific storage type, use the esxcli command to delete the existing hardware acceleration claim rules as documented on pages 176-177 of the vSphere 5 Storage guide.

 

Verifying the current configuration values

To check the current value of the configuration settings:

  • HardwareAcceleratedMove
  • HardwareAcceleratedInit
  • HardwareAcceleratedLocking

Note: Replace OptionName with 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

    or

    # esxcli system settings advanced list --option OptionName