When the user tries to mount the NFS volume using v4.1, the datastore is getting renamed in multiple ESXi hosts.
For example, if the datastore name that the customer is trying to mount is "Test_NFSDatastore," it will mount as "Test_NFSDatastore" on some ESXi hosts and "Test_NFSDatastore (1)", "Test_NFSDatastore (2)" on other ESXi hosts.
VMware vSphere ESXi 7.x
When the user triggers the NFS datastore mount from the vCenter, the below inputs are provided by the user.
NAME: Test_NFSDatastore
SERVER: datastore_name.com
MOUNT POINT: /datastore_name_mount_point
When the ESXi completed the mount, it sent the MOUNT event to the vCenter. The vCenter calculates the NFS datastore UUID by hashing the server scope and the root file handle, which is provided by the NFS server.
If the server scope or root file handle is seen differently on different ESXi hosts, then the vCenter will assign different UUIDs on those ESXi hosts, and the NFS datastore is then renamed to Test_NFSDatastore (1), Test_NFSDatastore (2), and so on.
2024-12-19T04:49:26.037Z cpu15:2101739 opID=xxxxx)WARNING: NFS41: NFS41FSCompleteMount:3975: The max file name size (255) of file system is larger than that of FSS (128)
2024-12-19T04:49:26.037Z cpu15:2101739 opID=xxxxx)NFS41: NFS41FSAPDNotify:6188: Restored connection to the server datastore_name.com mount point datastore_name_mount_point, mounted as 48d6d199-xxxxxx-xxxxxx-000000000000 ("/datastore_name_mount_point")
2024-12-19T04:49:26.037Z cpu15:2101739 opID=xxxxx)NFS41: NFS41_VSIMountSet:417: Test_NFSDatastore mounted successfully
2024-12-19T04:48:19.322Z cpu0:2100955 opID=xxxxx)NFS41: NFS41FSAPDNotify:6188: Restored connection to the server datastore_name_mount_point mount point datastore_name_mount_point, mounted as 50ed7fd-xxxxxx-xxxxxx-000000000000 ("/datastore_name_mount_point")
2024-12-19T04:48:19.322Z cpu0:2100955 opID=xxxxx)NFS41: NFS41_VSIMountSet:417: Test_NFSDatastore mounted successfully
2024-12-19T04:48:26.658Z cpu48:2100965 opID=xxxxx)NFS41: NFS41FSOpSetAttributes:1016: Renaming volume "Test_NFSDatastore" to "Test_NFSDatastore (1)"
vsish -e get /vmkModules/nfs41client/clusters/2/info
NFSv4.1 Cluster Info {
scope:31302xxxxxxxxxxxxx313431
major:505343414C4541xxxxxxxxxxxxxxxxxxxxx38352E313431
roles: 0x10000 -> NFS41_SERVER_ROLE_NONPNFS
client ID:6722971xxxxxxxx6943
lease Time:45
state:NFS41_S_CLUS_UP
}
For ESXi host ashcvrtesxgpu05, the scope is "31302xxxxxxxxxxxxxxx313432"
vsish -e get /vmkModules/nfs41client/clusters/2/info
NFSv4.1 Cluster Info {
scope:31302xxxxxxxxxxxxxxx313432
major:505343414C4541xxxxxxxxxxxx3136322E38352E313432
roles: 0x10000 -> NFS41_SERVER_ROLE_NONPNFS
client ID:56791xxxxxxxx86056
lease Time:45
state:NFS41_S_CLUS_UP
}
As mentioned in the previous section, when the ESXi completed the mount, it sent the MOUNT event to the vCenter. The vCenter calculates the NFS datastore UUID by hashing the server scope and the root file handle, which is provided by the NFS server.
The user should contact the NFS array vendor to understand why the server scope or root file handle is varying, as this leads to the assignment of different UUIDs and, consequently, different datastore names.