Version Negotiation in NFS

The NFS initiation process includes negotiating the protocol version levels for servers and clients. If you do not specify the version level, then the best level is selected by default. For example, if both the client and the server can support NFS Version 4.1, then NFS Version 4.1 is used. If the client or the server can only support NFS Version 3, then NFS Version 3 is used.

You can set the client_versmin, client_versmax, server_versmin, and server_versmax parameters by using the sharectl command. Your specified minimum and maximum values for the server and the client replace the default values for these parameters. For the client, the default minimum value is 2 and the default maximum value is 4.1. For the server, the default minimum value is 2 and the default maximum value is 4.1. To find the version supported by the server, the NFS client begins with the value for client_versmax and continues to try each version until reaching the version value for client_versmin. As soon as the supported version is found, the process terminates.

Note:

Setting the client_versmin, client_versmax, server_versmin, or server_versmax parameters to 4 means that the value of the parameter can either be 4.0 or 4.1.

For example, if client_versmax=4.0 and client_versmin=2, then the client attempts NFS Version 4.0 first, then NFS Version 3, and finally NFS Version 2. If client_versmax and client_versmax are set to the same value, then the client always uses this version and does not attempt any other version. If the server does not offer this version, the mount fails.

Note:

You can override the values that are determined by the version negotiation in NFS by using the vers option with the mount command. For more information about available options for the mount command, see the mount_nfs(8) man page.

For information about setting up the NFS service, see Setting Up the NFS Service.