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 theclient_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 thevers
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.