rpc.nfsd(8)
โจ rpc.nfsd โ the NFS server process, bestie edition โจ
okay so this is the manual page for rpc.nfsd(8), from the System Manager's Manual, and we're gonna go through it together, no stress ๐
๐ธ SYNOPSIS ๐ธ
/usr/sbin/rpc.nfsd [options] nproc
๐ฆ DESCRIPTION ๐ฆ
So rpc.nfsd is the program that implements the user level part of the NFS service. The actual heavy lifting? That's the nfsd kernel module, bestie. The user space program is just the vibe-setter โ it tells the kernel service what sort of sockets to listen on, which NFS versions it should support, and how many kernel threads it should use. That's it, that's the whole job ๐ซถ
And the rpc.mountd server? It's the ancillary service that handles all the mount requests coming in from NFS clients. The supporting cast, the best friend of the main character, if you will ๐
โจ OPTIONS โจ
-dor--debugโ turns on logging of debugging messages. we love to see everything ๐-Hor--hosthostname โ pick a specific hostname (or address) that NFS requests will be accepted on. by default,rpc.nfsdwill accept NFS requests on all known network addresses. heads up though:lockd(which does the file locking services for NFS) may still accept requests on all known network addresses. that might change in future releases of the Linux Kernel, so stay tuned. you can use this option multiple times to listen on more than one interface ๐ซ-Sor--scopescope โ NFSv4.1 and later require the server to report a "scope", which the clients use to detect if two connections are to the same server. by default, Linux NFSD uses the host name as the scope.
and like, this is particularly important for high-availability configurations โ you have to make sure all potential server nodes report the same server scope, or it's giving chaos ๐ญ
-por--portport โ specify a different port to listen on for NFS requests. by default,rpc.nfsdwill listen on port2049.-ror--rdmaโ says that NFS requests on the standard RDMA port ("nfsrdma", port20049) should be honored ๐ฅ--rdma=portโ listen for RDMA requests on an alternate port. can be a number, or a name listed in/etc/services.-Nor--no-nfs-versionvers โ use this to request thatrpc.nfsddoes not offer certain versions of NFS. the current version ofrpc.nfsdcan support major NFS versions3,4, and the minor versions4.0,4.1and4.2.-sor--syslogโ by default,rpc.nfsdlogs error messages (and debug messages, if enabled) tostderr. this option makesrpc.nfsdlog these messages to syslog instead. but note: errors encountered during option processing will still be logged tostderrregardless of this option. no escaping that one ๐ซ-tor--tcpโ tells the kernel nfs server to open and listen on a TCP socket. this is the default.-Tor--no-tcpโ tells the kernel nfs server not to open and listen on a TCP socket.-uor--udpโ tells the kernel nfs server to open and listen on a UDP socket.-Uor--no-udpโ tells the kernel nfs server not to open and listen on a UDP socket. this is the default.-Vor--nfs-versionvers โ use this to request thatrpc.nfsddoes offer certain versions of NFS. the current version ofrpc.nfsdcan support major NFS versions3,4, and the minor versions4.0,4.1and4.2.-Lor--lease-timeseconds โ set the lease-time used for NFSv4. this is basically how often clients need to confirm their state with the server. valid range is from10to3600seconds โฐ-Gor--grace-timeseconds โ 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 โ it's giving the clients room to recover their state, periodt.- nproc โ specify the number of NFS server threads. by default, eight threads are started. but for optimum performance you should use several threads. the actual figure depends on the number of NFS clients and the work load they create, but a useful starting point is eight threads. you can check the effects of modifying that number with the
nfsstat(8)program ๐
IMPORTANT NOTE, bestie, listen up ๐ โ 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. yes, really. zero means zero ๐
๐ CONFIGURATION FILE ๐
Many of the options you can set on the command line can also be controlled through values set in the [nfsd] section of the /etc/nfs.conf configuration file. the values recognized include:
threadsโ the number of threads to start.hostโ a host name, or comma separated list of host names, thatrpc.nfsdwill listen on. use of the--hostoption 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", port20049).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.vers3vers4โ enable or disable all NFSv4 versions. all versions are normally enabled by default.vers4.1vers4.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. iykyk ๐
๐ 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. legends, all of them, fr fr ๐
and that's the whole page, bestie!! this one's from the System Manager's Manual and it's dated 20 Feb 2014 โ rpc.nfsd(8), forever iconic, no cap ๐โจ๐
๐ฆ where this page comes from
- arch rolling: nfs-utils 3.1.1-1 ยท GPL-2.0-or-later
- fedora 43: nfs-utils 1:2.8.7-6.fc43 ยท LicenseRef-Callaway-MIT AND GPL-2.0-only AND GPL-2.0-or-later AND LicenseRef-Callaway-BSD
- fedora 44: nfs-utils 1:2.8.7-0.fc44 ยท GPL-2.0-only AND GPL-2.0-or-later AND BSD-3-Clause AND BSD-2-Clause AND (HPND-export-US-modify AND HPND-sell-variant) AND (GPL-2.0-only WITH Linux-syscall-note OR BSD-3-Clause)
- fedora 44: nfs-utils 1:2.8.7-7.fc44 ยท GPL-2.0-only AND GPL-2.0-or-later AND BSD-3-Clause AND BSD-2-Clause AND (HPND-export-US-modify AND HPND-sell-variant) AND (GPL-2.0-only WITH Linux-syscall-note OR BSD-3-Clause)
- nixos 26.05: nfs-utils 2.9.1
- nixpkgs unstable: nfs-utils 3.1.1
- ubuntu resolute: nfs-kernel-server 1:2.8.5-1ubuntu1
- ubuntu stonking: nfs-kernel-server 1:2.9.1-1ubuntu1
- Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms