Note: If you are running a VMware vSAN environment or have ATS-only VMFS volumes, it is important that Hardware Assisted Locking (ATS) is not disabled. Doing so will result in an outage as there will be no locking mechanism available to use.
ATS usage can be disabled at different levels:
Note: Depending on its configuration and the type of underlying storage, a VMFS datastore can exclusively use the atomic test and set locking mechanism (ATS-only), or use a combination of ATS and SCSI reservations (ATS+SCSI). Datastores that use the ATS+SCSI mechanism include VMFS5 datastores that were upgraded from VMFS3. In addition, new VMFS5 datastores on storage devices that do not support ATS use the ATS+SCSI mechanism.
To display information related to VMFS locking mechanisms, run the following command:
esxcli storage vmfs lockmode list
Disabling ATS Usage per ESXi host level
Disabling ATS for Non ATS-Only VMFS datastores
To disable ATS on Non ATS only volumes, run the following ESXCLI:
esxcli system settings advanced set --int-value 0 --option /VMFS3/HardwareAcceleratedLockingNote:
- This option is effective immediately and does not need any reboot or mount/unmount of volumes.
- The options should be disabled on all ESXi hosts accessing the VMFS datastores to have a consistent locking mode to be used from all ESXi hosts. Note that the ESXi does not have this requirement but there can be some potential issue from the array side on handling SCSI reservations as well as ATS commands on the same LUN from multiple hosts. Consult your Array Vendor for further details.
Disabling ATS for ATS-Only VMFS datastores
To disable ATS on ATS only volumes, run the following ESXCLI:
esxcli system settings advanced set --int-value 0 --option /VMFS3/HardwareAcceleratedLocking
Notes:
- This option though reflects the value immediately but is not effective unless the datastore is unmounted and remounted.
- This option need to be reset on all the ESXi hosts in the cluster.
- When complete, mount/unmount the datastores on all ESXi hosts one by one.
- Whether you do rolling reboots of the ESXi hosts to achieve the unmount/remount or do it manually, do not stop in the middle as you will be in a mixture, that is, ATS+SCSI locking till all the host are rebooted which is not recommended.
- If you are running a version of ESXi between vSphere55U2 and vsphere55p09, you also need to disable ATS usage in VMFS heartbeat separately using the following ESXCLI:
esxcli system settings advanced set --int-value 0 --option /VMFS3/UseATSForHBOnVMFS5
Disabling ATS usage per VMFS datastore
Disabling ATS for Non ATS-Only VMFS datastores
There is no option/need to disable ATS on such datastore and turning off ATS support on ESXi host (side effect of disabling for all datastores on that host) as mentioned earlier will work.
Disabling ATS for ATS-Only VMFS datastores
To disable ATS for ATS-Only VMFS datastores::
- Unmount the VMFS datastore from all the ESXi hosts which are using it. For this, you may need to stop SIOC. For more information, see Troubleshooting Storage I/O Control (1022091).
- Execute this command to disable the ATS usage on VMFS datastore:
vmkfstools --configATSOnly 0 /vmfs/volumes/VMFS-volume-name
Alternatively, starting with vSphere 6.0, you can also use the following ESXCLI:
esxcli storage vmfs lockmode set -s|--scsi -l|--volume-label= VMFS label -u|--volume-uuid= VMFS UUID.
When you have disabled, your datastore will be similar to the one mentioned in the Disabling ATS Usage per ESXi host level section and you can disable the ATS support at ESXi host level on the fly.
- Mount back the datastore on all ESXi hosts.
Disabling ATS Usage only for VMFS heartbeats
Starting with vSphere55u2, VMFS uses ATS for updating its heartbeat compared to plain scsi writes earlier.
To disable ATS heartbeat, run the following ESXLI command:
esxcli system settings advanced set -i 0 -o /VMFS3/UseATSForHBOnVMFS5Note: It is not recommended to disable ATS heartbeat unless you see this set logs in the
vmkernel.log file:
ATS Miscompare detected between test and set HB images at offset XXX on vol YYYFor more information, see:
ESXi host loses connectivity to a VMFS datastore with VAAI ATS (2113956.)Workaround:
Steps for disabling ATS
1. Migration all VMs which are running on affected datastore to another for stopping I/Os
2. Excute command in Resolution section.
3. Unmount affected datastores from all ESXi hosts
4. Mount back the datastores on all ESXi hosts.