An NFS connectivity issue occurs in vSphere 5.5 U1 which presents similar symptoms. For more information on vSphere 5.5 U1, see
Intermittent NFS APDs on VMware ESXi 5.5 U1 (2076392).
Discussed here is an issue with certain versions of OnTap reducing TCP window size to 0 under certain high load circumstances. For more information, see
NetApp Bug ID 654196.
Note: You must be registered in NetApp website to view this document.
Note: The preceding links were correct as of September 29, 2015. If you find a link is broken, provide feedback and a VMware employee will update the link.
Workaround 1
To work around this issue and prevent it from occurring, reduce the NFS.MaxQueueDepth
advanced parameter to a much lower value. This reduces or eliminates the disconnections.
When sufficiently licensed, utilize the Storage I/O Control feature to work around the issue. An Enterprise Plus license for all ESXi hosts is required to use this feature.
When Storage I/O Control is enabled, it dynamically sets the value of MaxQueueDepth
, circumventing the issue.
For more information on Storage I/O control, see:
Workaround 2To set the
NFS.MaxQueueDepth
advanced parameter using the vSphere Client:
- Click the host in the Hosts and Clusters view.
- Click the Configuration tab. Then under Software, click Advanced Settings.
- Click NFS, then scroll down to NFS.MaxQueueDepth.
- Change the value to
64
. - Click OK.
- Reboot the host for the change to take effect.
To set the
NFS.MaxQueueDepth
advanced parameter using the vSphere 5.1 Web Client:
- Click the Hosts and Clusters tab.
- Click the ESXi host you want to modify.
- Click Manage > Settings > Advanced System Settings.
- Select the variable NFS.MaxQueueDepth.
- Change the value to
64
and click OK. - Reboot the host for the change to take effect.
To set the
NFS.MaxQueueDepth
advanced parameter on the command line:
- Connect to the host using SSH. For more information, see Using ESXi Shell in ESXi 5.x and 6.x.
- Run the command:
# esxcfg-advcfg -s 64 /NFS/MaxQueueDepth
- Reboot the host for the change to take effect.
- After the host reboots, run this command to confirm the change:
# esxcfg-advcfg -g /NFS/MaxQueueDepth
Value of MaxQueueDepth is 64
Note: VMware suggests a value of 64. If this is not sufficient to stop the disconnects, further reduce the value by half. For example, change the value to 32 or 16 accordingly until the disconnects cease.
One confirmed change in ESXi 5.x compared to previous releases of 4.x was the introduction of RFC 3465 for Appropriate Byte Counting (ABC). Disabling this feature has not been successful in most cases, but can be attempted as a troubleshooting step:
esxcli storage nfs param get -n <volume name | "all" for all>
esxcli storage nfs param set -q <maxQueueDepth> -n <volume name>
esxcli storage nfs41 param get -n <volume name | "all" for all>
esxcli storage nfs41 param set -q <maxQueueDepth> -n <volume name>
esxcli storage nfs param get -v <volume name | "all" for all>
esxcli storage nfs param set -q <maxQueueDepth> -n <volume name>
esxcli storage nfs41 param get -v <volume name | "all" for all>
esxcli storage nfs41 param set -q <maxQueueDepth> -n <volume name>