NFS uses disk based locks to provide exclusive access to VM files like .vmx, .vmdk etc. This is the behavior of NFS v3 locking in ESX and will be observed in HA setups. The limitation is from NFS v3 locking.In NFS4.1 , NFS Server manages all the locks.
NFS 3 locking on ESXi does not use the Network Lock Manager (NLM) protocol. Instead, VMware provides its own locking protocol. NFS 3 locks are implemented by creating lock files on the NFS server. Lock files are named .lck-file_id..
NFS 4.1 uses share reservations as a locking mechanism. The support for NFSv4.1 was introduced in ESXi 6.0.x onwards.
For more information refer to VMware documentation :
NFS File LockingWorkaround:
1. To identify and resolve the NFS lock follow KB :
Understanding the NFS .lck lock file to understand the ESX host and NFS filename it refers to For vSphere ESXi 7.0.x and later we have following script to get the details of each .lck file.
[root@ESXi 7.0:~] python ./usr/lib/vmware/vm-support/bin/nfsLockInfo.pyc
usage: ./usr/lib/vmware/vm-support/bin/nfsLockInfo.pyc <vmdir>)
2. For answering VM question refer to VMware KB :
Changing or keeping a UUID for a moved virtual machine