Document the "-p" and "-m" options added to nfsd.c by r335172.

This is a content change.
This commit is contained in:
Rick Macklem 2018-06-14 20:55:33 +00:00
parent cba506f2c1
commit 4c176e18d3

View File

@ -28,7 +28,7 @@
.\" @(#)nfsd.8 8.4 (Berkeley) 3/29/95
.\" $FreeBSD$
.\"
.Dd April 25, 2015
.Dd May 31, 2018
.Dt NFSD 8
.Os
.Sh NAME
@ -41,6 +41,8 @@ server
.Op Fl ardute
.Op Fl n Ar num_servers
.Op Fl h Ar bindip
.Op Fl p Ar pnfs_setup
.Op Fl m Ar mirror_level
.Op Fl Fl maxthreads Ar max_threads
.Op Fl Fl minthreads Ar min_threads
.Sh DESCRIPTION
@ -103,6 +105,64 @@ It may also be specified in addition to any
options given.
Note that NFS/UDP does not operate properly when
bound to the wildcard IP address whether you use -a or do not use -h.
.It Fl p Ar pnfs_setup
Enables pNFS support in the server and specifies the information that the
daemon needs to start it.
This option can only be used on one server and specifies that this server
will be the MetaData Server (MDS) for the pNFS service.
This can only be done if there is at least one FreeBSD system configured
as a Data Server (DS) for it to use.
.Pp
The
.Ar pnfs_setup
string is a set of fields separated by ',' characters:
.Bl -tag -width Ds
Each of these fields specifies one Data Server.
It consists of a server hostname, followed by a ':'
and the directory path where the DS's data storage file system is mounted on
this MDS server.
At this time, only IPv4 addresses are supported by the interface to the kernel,
so the
.Dq server hostname
must resolve to an IPv4 address and support mounts on that address.
This needs to be extended to support IPv6 addresses in the near future.
The DS storage file systems must be mounted on this system before the
.Nm
is started with this option specified.
For example:
.sp
nfsv4-data0:/data0,nfsv4-data1:/data1
.sp
Would specify two DS servers called nfsv4-data0 and nfsv4-data1 that comprise
the data storage component of the pNFS service.
The directories
.Dq /data0
and
.Dq /data1
are where the data storage servers exported
storage directories are mounted on this system (which will act as the MDS).
.El
.It Fl m Ar mirror_level
This option is only meaningful when used with the
.Fl p
option.
It specifies the
.Dq mirror_level ,
which defines how many of the DSs will
have a copy of a file's data storage file.
The default of one implies no mirroring of data storage files on the DSs.
The
.Dq mirror_level
would normally be set to 2 to enable mirroring, but
can be as high as NFSDEV_MAXMIRRORS.
.Pp
If mirroring is enabled, the server must use the Flexible File
layout.
If mirroring is not enabled, the server will use the File layout
by default, but this default can be changed to the Flexible File layout if the
.Xr sysctl 1
vfs.nfsd.default_flexfile
is set non-zero.
.It Fl t
Serve
.Tn TCP NFS
@ -135,9 +195,11 @@ server specification; see
.%T "Network File System Protocol Specification" ,
RFC1094,
.%T "NFS: Network File System Version 3 Protocol Specification" ,
RFC1813 and
RFC1813,
.%T "Network File System (NFS) Version 4 Protocol" ,
RFC3530.
RFC3530 and
.%T "Network File System (NFS) Version 4 Minor Version 1 Protocol" ,
RFC5661.
.Pp
If
.Nm
@ -213,6 +275,7 @@ just do a
.Xr kldload 2 ,
.Xr nfssvc 2 ,
.Xr nfsv4 4 ,
.Xr pnfs 4 ,
.Xr exports 5 ,
.Xr stablerestart 5 ,
.Xr gssd 8 ,
@ -238,3 +301,14 @@ you must kill
and then restart it, after the
.Xr gssd 8
is running.
.Pp
If mirroring is enabled via the
.Fl m
option and there are Linux clients doing NFSv4.1 mounts, those clients
need to be patched to support the
.Dq tightly coupled
variant of
the Flexible File layout or the
.Xr sysctl 1
vfs.nfsd.flexlinuxhack
must be set to one on the MDS as a workaround.