When you connected the NFS Datastores with NetApp filers you can be seen some connectivity and performance degradation in your Storage, one best practice is to set the appropriate Queue Depth Values in your ESXi hosts. If you search over the internet you might be able find lots of issues encountered in the ESXi and NFS environments. I would like to recommend to check this with the storage vendor and get the best fit for your NFS Queue Depth value.
These symptoms can be seen in your environment if you incorrectly configured the NFS Queue Depth Value:
- The NFS datastores appear to be unavailable (grayed out) in vCenter Server, or when accessed through the vSphere Client
- The NFS shares reappear after few minutes
- Virtual machines located on the NFS datastore are in a hung/paused state when the NFS datastore is unavailable
- This issue is most often seen after a host upgrade to ESXi 5.x or the addition of an ESXi 5.x host to the environment
These are the simple steps to set the NFS Queue Depth Value in your ESXi hosts. It’s an ESXi host level advanced parameter.
Select the ESXi Host and Go to the Advanced settings under Configuration tab
Once you get the Advanced Settings window select NFS and scroll down for the NFS.Max QueueDepth parameter. You can see the minimum value of this Queue depth is 1 and maximum value as 4294967295. Set the Value you want. In my case it was a NetApp filer and VMware and NetApp both recommended to set the Queue Depth to 64
Once you change the value you have to reboot the ESXi host to apply the changes.
You can also use the esxcli command to adjust the value
Use esxcfg-advcfg -g /NFS/MaxQueueDepth to see the current value and esxcfg-advcfg -s /NFS/MaxQueueDepth to set the value