nfsd - Man Page

NFS server process

Synopsis

/usr/sbin/rpc.nfsd [options] nproc

Description

The rpc.nfsd program implements the user level part of the NFS service. The main functionality is handled by the nfsd kernel module. The user space program merely specifies what sort of sockets the kernel service should listen on, what NFS versions it should support, and how many kernel threads it should use.

The rpc.mountd server provides an ancillary service needed to satisfy mount requests by NFS clients.

Options

-d  or  --debug

enable logging of debugging messages

-H  or  --host hostname

specify a particular hostname (or address) that NFS requests will be accepted on. By default, rpc.nfsd will accept NFS requests on all known network addresses. Note that lockd (which performs file locking services for NFS) may still accept request on all known network addresses.  This may change in future releases of the Linux Kernel. This option can be used multiple times to listen to more than one interface.

-S  or  --scope scope

NFSv4.1 and later require the server to report a "scope" which is used by the clients to detect if two connections are to the same server. By default Linux NFSD uses the host name as the scope.

It is particularly important for high-availablity configurations to ensure that all potential server nodes report the same server scope.

-p  or  --port port

specify a different port to listen on for NFS requests. By default, rpc.nfsd will listen on port 2049.

-r  or  --rdma

specify that NFS requests on the standard RDMA port ("nfsrdma", port 20049) should be honored.

--rdma=port

Listen for RDMA requests on an alternate port - may be a number or a name listed in /etc/services.

-N  or  --no-nfs-version vers

This option can be used to request that rpc.nfsd does not offer certain versions of NFS. The current version of rpc.nfsd can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.

-s  or  --syslog

By default, rpc.nfsd logs error messages (and debug messages, if enabled) to stderr. This option makes rpc.nfsd log these messages to syslog instead. Note that errors encountered during option processing will still be logged to stderr regardless of this option.

-t  or  --tcp

Instruct the kernel nfs server to open and listen on a TCP socket. This is the default.

-T  or  --no-tcp

Instruct the kernel nfs server not to open and listen on a TCP socket.

-u  or  --udp

Instruct the kernel nfs server to open and listen on a UDP socket.

-U  or  --no-udp

Instruct the kernel nfs server not to open and listen on a UDP socket. This is the default.

-V  or  --nfs-version vers

This option can be used to request that rpc.nfsd offer certain versions of NFS. The current version of rpc.nfsd can support major NFS versions 3,4 and the minor versions 4.0, 4.1 and 4.2.

-L  or  --lease-time seconds

Set the lease-time used for NFSv4.  This corresponds to how often clients need to confirm their state with the server. Valid range is from 10 to 3600 seconds.

-G  or  --grace-time seconds

Set the grace-time used for NFSv4 and NLM (for NFSv2 and NFSv3). New file open requests (NFSv4) and new file locks (NLM) will not be allowed until after this time has passed to allow clients to recover state.

nproc

specify the number of NFS server threads. By default, eight threads are started. However, for optimum performance several threads should be used. The actual figure depends on the number of and the work load created by the NFS clients, but a useful starting point is eight threads. Effects of modifying that number can be checked using the nfsstat(8) program.

Note that if the NFS server is already running, then the options for specifying host, port, and protocol will be ignored.  The number of processes given will be the only option considered, and the number of active nfsd processes will be increased or decreased to match this number. In particular rpc.nfsd 0 will stop all threads and thus close any open connections.

Configuration File

Many of the options that can be set on the command line can also be controlled through values set in the [nfsd] section of the /etc/nfs.conf configuration file.  Values recognized include:

threads

The number of threads to start.

host

A host name, or comma separated list of host names, that rpc.nfsd will listen on.  Use of the --host option replaces all host names listed here.

scope

Set the server scope.

grace-time

The grace time, for both NFSv4 and NLM, in seconds.

lease-time

The lease time for NFSv4, in seconds.

port

Set the port for TCP/UDP to bind to.

rdma

Enable RDMA port (with "on" or "yes" etc) on the standard port ("nfsrdma", port 20049).

rdma-port

Set an alternate RDMA port.

UDP

Enable (with "on" or "yes" etc) or disable ("off", "no") UDP support.

TCP

Enable or disable TCP support.

vers3
vers4

Enable or disable all NFSv4 versions.  All versions are normally enabled by default.

vers4.1
vers4.2

Setting these to "off" or similar will disable the selected minor versions.  Setting to "on" will enable them.  The default values are determined by the kernel, and usually minor versions default to being enabled once the implementation is sufficiently complete.

Notes

If the program is built with TI-RPC support, it will enable any protocol and address family combinations that are marked visible in the netconfig database.

See Also

nfsd(7), rpc.mountd(8), exports(5), exportfs(8), nfs.conf(5), rpc.rquotad(8), nfsstat(8), netconfig(5).

Author

Olaf Kirch, Bill Hawes, H. J. Lu, G. Allan Morris III, and a host of others.

Referenced By

configuration.nix(5), exports(5), filesnarf(8), mount(8), mountd(8), nfs(5), nfs.conf(5), nfsconf(8), nfsd(7), nfsdclnts(8), nfsd_selinux(8), nfsstat(8), rpcdebug(8), showmount(8), statd(8).

The man page rpc.nfsd(8) is an alias of nfsd(8).

20 Feb 2014