xref: /freebsd/sbin/mount_nfs/mount_nfs.8 (revision 3ddd961db1ce8d9285e4d630bf6bfd5b99042a03)
14a4c5285SPeter Wemm.\" Copyright (c) 1992, 1993, 1994, 1995
28fae3551SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
38fae3551SRodney W. Grimes.\"
48fae3551SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
58fae3551SRodney W. Grimes.\" modification, are permitted provided that the following conditions
68fae3551SRodney W. Grimes.\" are met:
78fae3551SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
88fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
98fae3551SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
108fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
118fae3551SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
138fae3551SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
148fae3551SRodney W. Grimes.\"    without specific prior written permission.
158fae3551SRodney W. Grimes.\"
168fae3551SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
178fae3551SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
188fae3551SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
198fae3551SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
208fae3551SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
218fae3551SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
228fae3551SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
238fae3551SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
248fae3551SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
258fae3551SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
268fae3551SRodney W. Grimes.\" SUCH DAMAGE.
278fae3551SRodney W. Grimes.\"
284a4c5285SPeter Wemm.\"	@(#)mount_nfs.8	8.3 (Berkeley) 3/29/95
29a7475cf4SRuslan Ermilov.\"
30*3ddd961dSBenedict Reuschling.Dd October 8, 2023
318fae3551SRodney W. Grimes.Dt MOUNT_NFS 8
329fe48c6eSRuslan Ermilov.Os
338fae3551SRodney W. Grimes.Sh NAME
348fae3551SRodney W. Grimes.Nm mount_nfs
35a7475cf4SRuslan Ermilov.Nd mount NFS file systems
368fae3551SRodney W. Grimes.Sh SYNOPSIS
377c7fb079SRuslan Ermilov.Nm
3886ce6a83SRobert Watson.Op Fl 23bcdiLlNPsTU
398fae3551SRodney W. Grimes.Op Fl a Ar maxreadahead
408d646af5SRuslan Ermilov.Op Fl D Ar deadthresh
418fae3551SRodney W. Grimes.Op Fl g Ar maxgroups
428d646af5SRuslan Ermilov.Op Fl I Ar readdirsize
438fae3551SRodney W. Grimes.Op Fl o Ar options
448d646af5SRuslan Ermilov.Op Fl R Ar retrycnt
458fae3551SRodney W. Grimes.Op Fl r Ar readsize
468fae3551SRodney W. Grimes.Op Fl t Ar timeout
478fae3551SRodney W. Grimes.Op Fl w Ar writesize
488fae3551SRodney W. Grimes.Op Fl x Ar retrans
49d0353b83SRuslan Ermilov.Ar rhost : Ns Ar path node
508fae3551SRodney W. Grimes.Sh DESCRIPTION
518fae3551SRodney W. GrimesThe
5246fc8f78SPhilippe Charnier.Nm
53e1205e80SPhilippe Charnierutility calls the
540c269d1fSCraig Rodrigues.Xr nmount 2
55a7475cf4SRuslan Ermilovsystem call to prepare and graft a remote NFS file system
56d0353b83SRuslan Ermilov.Pq Ar rhost : Ns Ar path
578fae3551SRodney W. Grimeson to the file system tree at the point
588fae3551SRodney W. Grimes.Ar node .
598fae3551SRodney W. GrimesThis command is normally executed by
608fae3551SRodney W. Grimes.Xr mount 8 .
61547a4dbaSRick MacklemFor NFSv2 and NFSv3,
62547a4dbaSRick Macklemit implements the mount protocol as described in RFC 1094, Appendix A and
63547a4dbaSRick MacklemRFC 1813, Appendix I.
64547a4dbaSRick MacklemFor NFSv4, it uses the NFSv4 protocol as described in RFC 7530, RFC 5661 and
65547a4dbaSRick MacklemRFC 7862.
668fae3551SRodney W. Grimes.Pp
672bc53e11SIan DowseBy default,
682bc53e11SIan Dowse.Nm
692bc53e11SIan Dowsekeeps retrying until the mount succeeds.
702bc53e11SIan DowseThis behaviour is intended for file systems listed in
712bc53e11SIan Dowse.Xr fstab 5
722bc53e11SIan Dowsethat are critical to the boot process.
732bc53e11SIan DowseFor non-critical file systems, the
744b5bc283SCraig Rodrigues.Cm bg
752bc53e11SIan Dowseand
764b5bc283SCraig Rodrigues.Cm retrycnt
774b5bc283SCraig Rodriguesoptions provide mechanisms to prevent the boot process from hanging
782bc53e11SIan Dowseif the server is unavailable.
792bc53e11SIan Dowse.Pp
802bc53e11SIan DowseIf the server becomes unresponsive while an NFS file system is
812bc53e11SIan Dowsemounted, any new or outstanding file operations on that file system
822bc53e11SIan Dowsewill hang uninterruptibly until the server comes back.
832bc53e11SIan DowseTo modify this default behaviour, see the
844b5bc283SCraig Rodrigues.Cm intr
852bc53e11SIan Dowseand
864b5bc283SCraig Rodrigues.Cm soft
874b5bc283SCraig Rodriguesoptions.
882bc53e11SIan Dowse.Pp
898fae3551SRodney W. GrimesThe options are:
908fae3551SRodney W. Grimes.Bl -tag -width indent
914b5bc283SCraig Rodrigues.It Fl o
924b5bc283SCraig RodriguesOptions are specified with a
934b5bc283SCraig Rodrigues.Fl o
944b5bc283SCraig Rodriguesflag followed by a comma separated string of options.
954b5bc283SCraig RodriguesSee the
964b5bc283SCraig Rodrigues.Xr mount 8
974b5bc283SCraig Rodriguesman page for possible options and their meanings.
984b5bc283SCraig RodriguesThe following NFS specific options are also available:
994b5bc283SCraig Rodrigues.Bl -tag -width indent
1004b5bc283SCraig Rodrigues.It Cm acregmin Ns = Ns Aq Ar seconds
1014b5bc283SCraig Rodrigues.It Cm acregmax Ns = Ns Aq Ar seconds
1024b5bc283SCraig Rodrigues.It Cm acdirmin Ns = Ns Aq Ar seconds
1034b5bc283SCraig Rodrigues.It Cm acdirmax Ns = Ns Aq Ar seconds
1044b5bc283SCraig RodriguesWhen attributes of files are cached, a timeout calculated to determine
1054b5bc283SCraig Rodrigueswhether a given cache entry has expired.
1064b5bc283SCraig RodriguesThese four values determine the upper and lower bounds of the timeouts for
1074b5bc283SCraig Rodrigues.Dq directory
1084b5bc283SCraig Rodriguesattributes and
1094b5bc283SCraig Rodrigues.Dq regular
1104b5bc283SCraig Rodrigues(ie: everything else).
1114b5bc283SCraig RodriguesThe default values are 3 -> 60 seconds
1124b5bc283SCraig Rodriguesfor regular files, and 30 -> 60 seconds for directories.
1134b5bc283SCraig RodriguesThe algorithm to calculate the timeout is based on the age of the file.
1144b5bc283SCraig RodriguesThe older the file,
1154b5bc283SCraig Rodriguesthe longer the cache is considered valid, subject to the limits above.
1165a06ac35SEdward Tomasz Napierala.It Cm actimeo Ns = Ns Aq Ar seconds
1175a06ac35SEdward Tomasz NapieralaSet four cache timeouts above to specified value.
118b54de212SRick Macklem.It Cm allgssname
119b54de212SRick MacklemThis option can be used along with
120b54de212SRick Macklem.Fl o Cm gssname
121b54de212SRick Macklemto specify that all operations should use the host-based initiator
122b54de212SRick Macklemcredential.
123b54de212SRick MacklemThis may be used for clients that run system daemons that need to
124b54de212SRick Macklemaccess files on the NFSv4 mounted volume.
1254b5bc283SCraig Rodrigues.It Cm bg
1264b5bc283SCraig RodriguesIf an initial attempt to contact the server fails, fork off a child to keep
1274b5bc283SCraig Rodriguestrying the mount in the background.
1284b5bc283SCraig RodriguesUseful for
1294b5bc283SCraig Rodrigues.Xr fstab 5 ,
1304b5bc283SCraig Rodrigueswhere the file system mount is not critical to multiuser operation.
13108a8d16cSRick Macklem.It Cm bgnow
13208a8d16cSRick MacklemLike
13308a8d16cSRick Macklem.Cm bg ,
13408a8d16cSRick Macklemfork off a child to keep trying the mount in the background,
13508a8d16cSRick Macklembut do not attempt to mount in the foreground first.
13608a8d16cSRick MacklemThis eliminates a
13708a8d16cSRick Macklem60+ second timeout when the server is not responding.
13808a8d16cSRick MacklemUseful for speeding up the boot process of a client when the server is
13908a8d16cSRick Macklemlikely to be unavailable.
14008a8d16cSRick MacklemThis is often the case for interdependent servers
14108a8d16cSRick Macklemsuch as cross-mounted servers (each of two servers is an NFS client of
14208a8d16cSRick Macklemthe other) and for cluster nodes that must boot before the file servers.
1434b5bc283SCraig Rodrigues.It Cm deadthresh Ns = Ns Aq Ar value
14491196234SPeter WemmSet the
1458fae3551SRodney W. Grimes.Dq "dead server threshold"
14691196234SPeter Wemmto the specified number of round trip timeout intervals before a
14791196234SPeter Wemm.Dq "server not responding"
14891196234SPeter Wemmmessage is displayed.
1494b5bc283SCraig Rodrigues.It Cm dumbtimer
1504b5bc283SCraig RodriguesTurn off the dynamic retransmit timeout estimator.
1514b5bc283SCraig RodriguesThis may be useful for UDP mounts that exhibit high retry rates,
1524b5bc283SCraig Rodriguessince it is possible that the dynamically estimated timeout interval is too
1534b5bc283SCraig Rodriguesshort.
1544b5bc283SCraig Rodrigues.It Cm fg
1554b5bc283SCraig RodriguesSame as not specifying
1564b5bc283SCraig Rodrigues.Cm bg .
157b54de212SRick Macklem.It Cm gssname Ns = Ns Aq Ar service-principal-name
158b54de212SRick MacklemThis option can be used with the KerberosV security flavors for NFSv4 mounts
159b54de212SRick Macklemto specify the
160b54de212SRick Macklem.Dq "service-principal-name"
161b54de212SRick Macklemof a host-based entry in the default
162b54de212SRick Macklemkeytab file that is used for system operations.
163b54de212SRick MacklemIt allows the mount to be performed by
164b54de212SRick Macklem.Dq "root"
165b54de212SRick Macklemand avoids problems with
166b54de212SRick Macklemcached credentials for the system operations expiring.
167b54de212SRick MacklemThe
16861330e49SRick Macklem.Dq "service-principal-name"
169b54de212SRick Macklemshould be specified without instance or domain and is typically
170b54de212SRick Macklem.Dq "host" ,
171b54de212SRick Macklem.Dq "nfs"
172b54de212SRick Macklemor
173d511702bSGordon Bergling.Dq "root" ,
174d511702bSGordon Berglingalthough the form
175d511702bSGordon Bergling.Sm off
176d511702bSGordon Bergling.Aq Ar service
177d511702bSGordon Bergling@
178d511702bSGordon Bergling.Aq Ar fqdn
179d511702bSGordon Bergling.Sm on
180d511702bSGordon Berglingcan also be used if the local system's
181d511702bSGordon Bergling.Xr gethostname 3
182d511702bSGordon Berglingvalue does not match the host-based principal in the keytab.
1834b5bc283SCraig Rodrigues.It Cm hard
1844b5bc283SCraig RodriguesSame as not specifying
1854b5bc283SCraig Rodrigues.Cm soft .
1864b5bc283SCraig Rodrigues.It Cm intr
1874b5bc283SCraig RodriguesMake the mount interruptible, which implies that file system calls that
1884b5bc283SCraig Rodriguesare delayed due to an unresponsive server will fail with EINTR when a
1894b5bc283SCraig Rodriguestermination signal is posted for the process.
1909b436906SRick MacklemTo avoid leaving file locks in an indeterminate state on the NFS
1919b436906SRick Macklemserver, it is recommended that the
1929b436906SRick Macklem.Cm nolockd
1939b436906SRick Macklemoption be used with this option.
1944b5bc283SCraig Rodrigues.It Cm maxgroups Ns = Ns Aq Ar value
1954b5bc283SCraig RodriguesSet the maximum size of the group list for the credentials to the
1964b5bc283SCraig Rodriguesspecified value.
1974b5bc283SCraig RodriguesThis should be used for mounts on old servers that cannot handle a
1984b5bc283SCraig Rodriguesgroup list size of 16, as specified in RFC 1057.
1994b5bc283SCraig RodriguesTry 8, if users in a lot of groups cannot get response from the mount
2004b5bc283SCraig Rodriguespoint.
2014b5bc283SCraig Rodrigues.It Cm mntudp
2024b5bc283SCraig RodriguesForce the mount protocol to use UDP transport, even for TCP NFS mounts.
2034b5bc283SCraig Rodrigues(Necessary for some old
2044b5bc283SCraig Rodrigues.Bx
2054b5bc283SCraig Rodriguesservers.)
2060b17c7beSJohn Baldwin.It Cm nametimeo Ns = Ns Aq Ar value
2070b17c7beSJohn BaldwinOverride the default of NFS_DEFAULT_NAMETIMEO for the timeout (in seconds)
2080b17c7beSJohn Baldwinfor positive name cache entries.
2090b17c7beSJohn BaldwinIf this is set to 0 it disables positive name caching for the mount point.
21030607997SRick Macklem.It Cm negnametimeo Ns = Ns Aq Ar value
21130607997SRick MacklemOverride the default of NFS_DEFAULT_NEGNAMETIMEO for the timeout (in seconds)
2120fcf43f6SAllan Judefor negative name cache entries.
2130fcf43f6SAllan JudeIf this is set to 0 it disables negative name caching for the mount point.
2144488c8c3SRick Macklem.It Cm nconnect Ns = Ns Aq Ar value
2154488c8c3SRick MacklemSpecify the number of TCP connections (1-16) to be used
2164488c8c3SRick Macklemfor an NFS Version 4, minor version 1 or 2 mount.
2174488c8c3SRick MacklemMultiple TCP connections can provide more client to server network
2184488c8c3SRick Macklembandwidth for certain network configurations such as:
2194488c8c3SRick Macklem.Bd -literal
2204488c8c3SRick Macklem- Multiple network interfaces that are aggregated together.
2214488c8c3SRick Macklem- A fast network interface that uses multiple queues.
2224488c8c3SRick Macklem.Ed
2234488c8c3SRick Macklem.sp
2244488c8c3SRick MacklemThe first TCP connection will be used for all RPCs that consist
2254488c8c3SRick Macklementirely of small RPC messages.
2264488c8c3SRick MacklemThe RPCs that can have large RPC messages (Read/Readdir/Write) are
2274488c8c3SRick Macklemdistributed over the additional TCP connections in a round robin
2284488c8c3SRick Macklemfashion.
2294488c8c3SRick MacklemThis option will result in more IP port#s being used.
2304488c8c3SRick MacklemThis option requires the
2314488c8c3SRick Macklem.Cm nfsv4
2324488c8c3SRick Macklemoption.
2337e53f16bSRick MacklemNote that for NFS servers such as AmazonEFS, where each new TCP
2347e53f16bSRick Macklemconnection can connect to a different cluster that maintains lock
2357e53f16bSRick Macklemstate separately, this option cannot be used.
2364b5bc283SCraig Rodrigues.It Cm nfsv2
2374b5bc283SCraig RodriguesUse the NFS Version 2 protocol (the default is to try version 3 first
2384b5bc283SCraig Rodriguesthen version 2).
2394b5bc283SCraig RodriguesNote that NFS version 2 has a file size limit of 2 gigabytes.
2404b5bc283SCraig Rodrigues.It Cm nfsv3
2414b5bc283SCraig RodriguesUse the NFS Version 3 protocol.
242011981fdSRick Macklem.It Cm nfsv4
243011981fdSRick MacklemUse the NFS Version 4 protocol.
24425135859SRick MacklemThis option will force the mount to use
245011981fdSRick MacklemTCP transport.
246b413b035SRick MacklemBy default, the highest minor version of NFS Version 4 that is
247b413b035SRick Macklemsupported by the NFS Version 4 server will be used.
248b413b035SRick MacklemSee the
249b413b035SRick Macklem.Cm minorversion
250b413b035SRick Macklemoption.
251f46bea05SRick MacklemMake sure that all your NFS Version 4 clients have unique
252f46bea05SRick Macklemvalues in
253f46bea05SRick Macklem.Pa /etc/hostid .
2545e70ce7aSRick Macklem.It Cm minorversion Ns = Ns Aq Ar value
255b413b035SRick MacklemUse the specified minor version for a NFS Version 4 mount,
256b413b035SRick Macklemoverriding the default.
257b413b035SRick MacklemThe minor versions supported are 0, 1, and 2.
2585e70ce7aSRick MacklemThis option is only meaningful when used with the
2595e70ce7aSRick Macklem.Cm nfsv4
2605e70ce7aSRick Macklemoption.
26119625f29SRick Macklem.It Cm oneopenown
262547a4dbaSRick MacklemMake a minor version 1 or 2 of the NFS Version 4 protocol mount use a single
263547a4dbaSRick MacklemOpenOwner for all Opens.
26419625f29SRick MacklemThis may be useful for a server with a very low limit on OpenOwners, such as
26519625f29SRick MacklemAmazonEFS.
266448de00dSRick MacklemIt may be required when an accumulation of NFS version 4 Opens occurs,
267448de00dSRick Macklemas indicated by the
268448de00dSRick Macklem.Dq Opens
269448de00dSRick Macklemcount displayed by
270b413b035SRick Macklem.Xr nfsstat 1
271448de00dSRick Macklemwith the
272448de00dSRick Macklem.Fl c
273448de00dSRick Macklemand
274448de00dSRick Macklem.Fl E
275448de00dSRick Macklemcommand-line options.
276448de00dSRick MacklemA common case for an accumulation of Opens is a shared library within
277448de00dSRick Macklemthe NFS mount that is used by several
278448de00dSRick Macklemprocesses, where at least one of these processes is always running.
27900c8b28cSRick MacklemThis option cannot be used for an NFS Version 4, minor version 0 mount.
28019625f29SRick MacklemIt may not work correctly when Delegations are being issued by a server,
28119625f29SRick Macklembut note that the AmazonEFS server does not issued delegations at this time.
28200c8b28cSRick MacklemThis option is only meaningful when used with the
28300c8b28cSRick Macklem.Cm nfsv4
284b413b035SRick Macklemoption.
2855e70ce7aSRick Macklem.It Cm pnfs
286547a4dbaSRick MacklemEnable support for parallel NFS (pNFS) for minor version 1 or 2 of the
2875e70ce7aSRick MacklemNFS Version 4 protocol.
2885e70ce7aSRick MacklemThis option is only meaningful when used with the
289b413b035SRick Macklem.Cm nfsv4
2905e70ce7aSRick Macklemoption.
2915a06ac35SEdward Tomasz Napierala.It Cm noac
2925a06ac35SEdward Tomasz NapieralaDisable attribute caching.
2934b5bc283SCraig Rodrigues.It Cm noconn
2944b5bc283SCraig RodriguesFor UDP mount points, do not do a
2954b5bc283SCraig Rodrigues.Xr connect 2 .
2964b5bc283SCraig RodriguesThis must be used if the server does not reply to requests from the standard
2974b5bc283SCraig RodriguesNFS port number 2049 or replies to requests using a different IP address
2984b5bc283SCraig Rodrigues(which can occur if the server is multi-homed).
2994b5bc283SCraig RodriguesSetting the
3004b5bc283SCraig Rodrigues.Va vfs.nfs.nfs_ip_paranoia
3014b5bc283SCraig Rodriguessysctl to 0 will make this option the default.
302e2f2b370SRuslan Ermilov.It Cm nocto
303e2f2b370SRuslan ErmilovNormally, NFS clients maintain the close-to-open cache coherency.
304e2f2b370SRuslan ErmilovThis works by flushing at close time and checking at open time.
305e2f2b370SRuslan ErmilovChecking at open time is implemented by getting attributes from
306e2f2b370SRuslan Ermilovthe server and purging the data cache if they do not match
307e2f2b370SRuslan Ermilovattributes cached by the client.
308e2f2b370SRuslan Ermilov.Pp
309e2f2b370SRuslan ErmilovThis option disables checking at open time.
310e2f2b370SRuslan ErmilovIt may improve performance for read-only mounts,
311e2f2b370SRuslan Ermilovbut should only be used if the data on the server changes rarely.
312e2f2b370SRuslan ErmilovBe sure to understand the consequences before enabling this option.
3134b5bc283SCraig Rodrigues.It Cm noinet4 , noinet6
3144b5bc283SCraig RodriguesDisables
3154b5bc283SCraig Rodrigues.Dv AF_INET
3164b5bc283SCraig Rodriguesor
3174b5bc283SCraig Rodrigues.Dv AF_INET6
3184b5bc283SCraig Rodriguesconnections.
3194b5bc283SCraig RodriguesUseful for hosts that have
3204b5bc283SCraig Rodriguesboth an A record and an AAAA record for the same name.
3214b5bc283SCraig Rodrigues.It Cm nolockd
32213190d87SAlfred PerlsteinDo
32313190d87SAlfred Perlstein.Em not
32413190d87SAlfred Perlsteinforward
32513190d87SAlfred Perlstein.Xr fcntl 2
3269b436906SRick Macklemlocks over the wire via the NLM protocol for NFSv3 mounts
3279b436906SRick Macklemor via the NFSv4 protocol for NFSv4 mounts.
32813190d87SAlfred PerlsteinAll locks will be local and not seen by the server
3299b436906SRick Macklemand likewise not seen by other NFS clients for NFSv3 or NFSv4 mounts.
330a7475cf4SRuslan ErmilovThis removes the need to run the
33113190d87SAlfred Perlstein.Xr rpcbind 8
33213190d87SAlfred Perlsteinservice and the
33313190d87SAlfred Perlstein.Xr rpc.statd 8
33413190d87SAlfred Perlsteinand
33513190d87SAlfred Perlstein.Xr rpc.lockd 8
3369b436906SRick Macklemservers on the client for NFSv3 mounts.
3373fd0605eSAlfred PerlsteinNote that this option will only be honored when performing the
3383fd0605eSAlfred Perlsteininitial mount, it will be silently ignored if used while updating
3393fd0605eSAlfred Perlsteinthe mount options.
3409b436906SRick MacklemAlso, note that NFSv4 mounts do not use these daemons.
3419b436906SRick MacklemThe NFSv4 protocol handles locks,
3429b436906SRick Macklemunless this option is specified.
343a8e2866cSRick Macklem.It Cm noncontigwr
344a8e2866cSRick MacklemThis mount option allows the NFS client to
345a8e2866cSRick Macklemcombine non-contiguous byte ranges being written
346a8e2866cSRick Macklemsuch that the dirty byte range becomes a superset of the bytes
347a8e2866cSRick Macklemthat are dirty.
348a8e2866cSRick MacklemThis reduces the number of writes significantly for software
349a8e2866cSRick Macklembuilds.
3500fcf43f6SAllan JudeThe merging of byte ranges is not done if the file has been file
351a8e2866cSRick Macklemlocked, since most applications modifying a file from multiple
352a8e2866cSRick Macklemclients will use file locking.
353a8e2866cSRick MacklemAs such, this option could result in a corrupted file for the
354a8e2866cSRick Macklemrare case of an application modifying the file from multiple
355a8e2866cSRick Macklemclients concurrently without using file locking.
356011981fdSRick Macklem.It Cm principal
357011981fdSRick MacklemFor the RPCSEC_GSS security flavors, such as krb5, krb5i and krb5p,
358011981fdSRick Macklemthis option sets the name of the host based principal name expected
3590fcf43f6SAllan Judeby the server.
3600fcf43f6SAllan JudeThis option overrides the default, which will be ``nfs@<server-fqdn>''
3610fcf43f6SAllan Judeand should normally be sufficient.
3624b5bc283SCraig Rodrigues.It Cm noresvport
363cc75b131SJoerg WunschDo
364cc75b131SJoerg Wunsch.Em not
365cc75b131SJoerg Wunschuse a reserved socket port number (see below).
3664b5bc283SCraig Rodrigues.It Cm port Ns = Ns Aq Ar port_number
3674b5bc283SCraig RodriguesUse specified port number for NFS requests.
3684b5bc283SCraig RodriguesThe default is to query the portmapper for the NFS port.
3695a06ac35SEdward Tomasz Napierala.It Cm proto Ns = Ns Aq Ar protocol
3705a06ac35SEdward Tomasz NapieralaSpecify transport protocol version to use.
3715a06ac35SEdward Tomasz NapieralaCurrently, they are:
3725a06ac35SEdward Tomasz Napierala.Bd -literal
3735a06ac35SEdward Tomasz Napieralaudp -   Use UDP over IPv4
3745a06ac35SEdward Tomasz Napieralatcp -   Use TCP over IPv4
3755a06ac35SEdward Tomasz Napieralaudp6 -  Use UDP over IPv6
3765a06ac35SEdward Tomasz Napieralatcp6 -  Use TCP over IPv6
3775a06ac35SEdward Tomasz Napierala.Ed
3784b5bc283SCraig Rodrigues.It Cm rdirplus
379011981fdSRick MacklemUsed with NFSV3 to specify that the \fBReaddirPlus\fR RPC should
3808fae3551SRodney W. Grimesbe used.
381011981fdSRick MacklemFor NFSV4, setting this option has a similar effect, in that it will make
382011981fdSRick Macklemthe Readdir Operation get more attributes.
3838fae3551SRodney W. GrimesThis option reduces RPC traffic for cases such as
3848fae3551SRodney W. Grimes.Dq "ls -l" ,
385a62dc406SDoug Rabsonbut tends to flood the attribute and name caches with prefetched entries.
386ef8f7ac9SSheldon HearnTry this option and see whether performance improves or degrades.
387ef8f7ac9SSheldon HearnProbably
388a62dc406SDoug Rabsonmost useful for client to server network interconnects with a large bandwidth
389a62dc406SDoug Rabsontimes delay product.
3904b5bc283SCraig Rodrigues.It Cm readahead Ns = Ns Aq Ar value
3914b5bc283SCraig RodriguesSet the read-ahead count to the specified value.
3924b5bc283SCraig RodriguesThis may be in the range of 0 - 4, and determines how many blocks
3934b5bc283SCraig Rodrigueswill be read ahead when a large file is being read sequentially.
3944b5bc283SCraig RodriguesTrying a value greater than 1 for this is suggested for
3954b5bc283SCraig Rodriguesmounts with a large bandwidth * delay product.
3964b5bc283SCraig Rodrigues.It Cm readdirsize Ns = Ns Aq Ar value
3974b5bc283SCraig RodriguesSet the readdir read size to the specified value.
3984b5bc283SCraig RodriguesThe value should normally
3994b5bc283SCraig Rodriguesbe a multiple of
4004b5bc283SCraig Rodrigues.Dv DIRBLKSIZ
4014b5bc283SCraig Rodriguesthat is <= the read size for the mount.
402a7475cf4SRuslan Ermilov.It Cm resvport
4034b5bc283SCraig RodriguesUse a reserved socket port number.
4044b5bc283SCraig RodriguesThis flag is obsolete, and only retained for compatibility reasons.
4054b5bc283SCraig RodriguesReserved port numbers are used by default now.
4064b5bc283SCraig Rodrigues(For the rare case where the client has a trusted root account
4074b5bc283SCraig Rodriguesbut untrustworthy users and the network cables are in secure areas this does
4084b5bc283SCraig Rodrigueshelp, but for normal desktop clients this does not apply.)
4094b5bc283SCraig Rodrigues.It Cm retrans Ns = Ns Aq Ar value
4104b5bc283SCraig RodriguesSet the retransmit timeout count for soft mounts to the specified value.
4114b5bc283SCraig Rodrigues.It Cm retrycnt Ns = Ns Aq Ar count
4124b5bc283SCraig RodriguesSet the mount retry count to the specified value.
4134b5bc283SCraig RodriguesThe default is a retry count of zero, which means to keep retrying
4144b5bc283SCraig Rodriguesforever.
4154b5bc283SCraig RodriguesThere is a 60 second delay between each attempt.
4164b5bc283SCraig Rodrigues.It Cm rsize Ns = Ns Aq Ar value
4178fae3551SRodney W. GrimesSet the read data size to the specified value.
418a62dc406SDoug RabsonIt should normally be a power of 2 greater than or equal to 1024.
4198fae3551SRodney W. GrimesThis should be used for UDP mounts when the
4208fae3551SRodney W. Grimes.Dq "fragments dropped due to timeout"
4218fae3551SRodney W. Grimesvalue is getting large while actively using a mount point.
4228fae3551SRodney W. Grimes(Use
4238fae3551SRodney W. Grimes.Xr netstat 1
4248fae3551SRodney W. Grimeswith the
4258fae3551SRodney W. Grimes.Fl s
4268fae3551SRodney W. Grimesoption to see what the
4278fae3551SRodney W. Grimes.Dq "fragments dropped due to timeout"
4288fae3551SRodney W. Grimesvalue is.)
429011981fdSRick Macklem.It Cm sec Ns = Ns Aq Ar flavor
430011981fdSRick MacklemThis option specifies what security flavor should be used for the mount.
431011981fdSRick MacklemCurrently, they are:
432011981fdSRick Macklem.Bd -literal
433011981fdSRick Macklemkrb5 -  Use KerberosV authentication
434011981fdSRick Macklemkrb5i - Use KerberosV authentication and
435011981fdSRick Macklem        apply integrity checksums to RPCs
436011981fdSRick Macklemkrb5p - Use KerberosV authentication and
437011981fdSRick Macklem        encrypt the RPC data
438011981fdSRick Macklemsys -   The default AUTH_SYS, which uses a
439011981fdSRick Macklem        uid + gid list authenticator
440011981fdSRick Macklem.Ed
4414b5bc283SCraig Rodrigues.It Cm soft
4428fae3551SRodney W. GrimesA soft mount, which implies that file system calls will fail
443a7475cf4SRuslan Ermilovafter
444a7475cf4SRuslan Ermilov.Ar retrycnt
445a7475cf4SRuslan Ermilovround trip timeout intervals.
44661330e49SRick Macklem.It Cm syskrb5
44761330e49SRick MacklemThis option specifies that a KerberosV NFSv4 minor version 1 or 2 mount
44861330e49SRick Macklemuses AUTH_SYS for system operations.
44961330e49SRick MacklemUsing this option avoids the need for a KerberosV mount to have a
45061330e49SRick Macklemhost-based principal entry in the default keytab file
45161330e49SRick Macklem(no
45261330e49SRick Macklem.Cm gssname
45361330e49SRick Macklemoption) or a requirement for the user doing the mount to have a
45461330e49SRick Macklemvalid KerberosV ticket granting ticket (TGT) when the mount is done.
45561330e49SRick MacklemThis option is intended to be used with the
45661330e49SRick Macklem.Cm sec Ns = Ns krb5
45761330e49SRick Macklemand
45861330e49SRick Macklem.Cm tls
45961330e49SRick Macklemoptions and can only be used for
46061330e49SRick MacklemNFSv4 mounts with minor version 1 or 2.
4614b5bc283SCraig Rodrigues.It Cm tcp
4624b5bc283SCraig RodriguesUse TCP transport.
4634b5bc283SCraig RodriguesThis is the default option, as it provides for increased reliability on both
4644b5bc283SCraig RodriguesLAN and WAN configurations compared to UDP.
4654b5bc283SCraig RodriguesSome old NFS servers do not support this method; UDP mounts may be required
4664b5bc283SCraig Rodriguesfor interoperability.
4674b5bc283SCraig Rodrigues.It Cm timeout Ns = Ns Aq Ar value
4682a9b29b3SEdward Tomasz NapieralaSet the initial retransmit timeout to the specified value,
4692a9b29b3SEdward Tomasz Napieralaexpressed in tenths of a second.
4708fae3551SRodney W. GrimesMay be useful for fine tuning UDP mounts over internetworks
4718fae3551SRodney W. Grimeswith high packet loss rates or an overloaded server.
4728fae3551SRodney W. GrimesTry increasing the interval if
4738fae3551SRodney W. Grimes.Xr nfsstat 1
4748fae3551SRodney W. Grimesshows high retransmit rates while the file system is active or reducing the
4758fae3551SRodney W. Grimesvalue if there is a low retransmit rate but long response delay observed.
476a7475cf4SRuslan Ermilov(Normally, the
4774b5bc283SCraig Rodrigues.Cm dumbtimer
478a7475cf4SRuslan Ermilovoption should be specified when using this option to manually
479a62dc406SDoug Rabsontune the timeout
480a62dc406SDoug Rabsoninterval.)
4815a06ac35SEdward Tomasz Napierala.It Cm timeo Ns = Ns Aq Ar value
4825a06ac35SEdward Tomasz NapieralaAlias for
4835a06ac35SEdward Tomasz Napierala.Cm timeout .
48404914a21SRick Macklem.It Cm tls
48504914a21SRick MacklemThis option specifies that the connection to the server must use TLS
4860083eef3SRick Macklemper RFC 9289.
48704914a21SRick MacklemTLS is only supported for TCP connections and the
48804914a21SRick Macklem.Xr rpc.tlsclntd 8
48904914a21SRick Macklemdaemon must be running for an NFS over TCP connection to use TLS.
49079302a63SRick Macklem.It Cm tlscertname Ns = Ns Aq Ar name
49179302a63SRick MacklemThis option specifies the name of an alternate certificate to be
49279302a63SRick Macklempresented to the NFS server during TLS handshake.
49379302a63SRick MacklemThe default certificate file names are
49479302a63SRick Macklem.Dq cert.pem
49579302a63SRick Macklemand
49679302a63SRick Macklem.Dq certkey.pem .
49779302a63SRick MacklemWhen this option is specified,
49879302a63SRick Macklem.Ar name
49979302a63SRick Macklemreplaces
50079302a63SRick Macklem.Dq cert
50179302a63SRick Macklemin the above file names.
50279302a63SRick MacklemFor example, if the value of
50379302a63SRick Macklem.Ar name
50479302a63SRick Macklemis specified as
50579302a63SRick Macklem.Dq other
50679302a63SRick Macklemthe certificate file names to be used will be
50779302a63SRick Macklem.Dq other.pem
50879302a63SRick Macklemand
50979302a63SRick Macklem.Dq otherkey.pem .
51079302a63SRick MacklemThese files are stored in
51179302a63SRick Macklem.Pa /etc/rpc.tlsclntd
51279302a63SRick Macklemby default.
51379302a63SRick MacklemThis option is only meaningful when used with the
51479302a63SRick Macklem.Cm tls
51579302a63SRick Macklemoption and the
51679302a63SRick Macklem.Xr rpc.tlsclntd 8
51779302a63SRick Macklemis running with the
51879302a63SRick Macklem.Fl m
51979302a63SRick Macklemcommand line flag set.
5204b5bc283SCraig Rodrigues.It Cm udp
5214b5bc283SCraig RodriguesUse UDP transport.
522528c159fSBjoern A. Zeeb.It Cm vers Ns = Ns Aq Ar vers_number
523528c159fSBjoern A. ZeebUse the specified version number for NFS requests.
524528c159fSBjoern A. ZeebSee the
525528c159fSBjoern A. Zeeb.Cm nfsv2 ,
526528c159fSBjoern A. Zeeb.Cm nfsv3 ,
527528c159fSBjoern A. Zeeband
528528c159fSBjoern A. Zeeb.Cm nfsv4
529528c159fSBjoern A. Zeeboptions for details.
530840fb1c0SJohn Baldwin.It Cm wcommitsize Ns = Ns Aq Ar value
531840fb1c0SJohn BaldwinSet the maximum pending write commit size to the specified value.
532840fb1c0SJohn BaldwinThis determines the maximum amount of pending write data that the NFS
533840fb1c0SJohn Baldwinclient is willing to cache for each file.
5344b5bc283SCraig Rodrigues.It Cm wsize Ns = Ns Aq Ar value
5358fae3551SRodney W. GrimesSet the write data size to the specified value.
5369806e231SRuslan ErmilovDitto the comments w.r.t.\& the
5374b5bc283SCraig Rodrigues.Cm rsize
5388fae3551SRodney W. Grimesoption, but using the
5398fae3551SRodney W. Grimes.Dq "fragments dropped due to timeout"
5408fae3551SRodney W. Grimesvalue on the server instead of the client.
5418fae3551SRodney W. GrimesNote that both the
5424b5bc283SCraig Rodrigues.Cm rsize
5438fae3551SRodney W. Grimesand
5444b5bc283SCraig Rodrigues.Cm wsize
5458fae3551SRodney W. Grimesoptions should only be used as a last ditch effort at improving performance
5468fae3551SRodney W. Grimeswhen mounting servers that do not support TCP mounts.
5474b5bc283SCraig Rodrigues.El
5484b5bc283SCraig Rodrigues.El
549c2a9d237SGordon Bergling.Sh IMPLEMENTATION NOTES
550c2a9d237SGordon BerglingWhen neither the
551c2a9d237SGordon Bergling.Cm rsize
552c2a9d237SGordon Berglingnor
553c2a9d237SGordon Bergling.Cm wsize
554c2a9d237SGordon Berglingoptions are specified, the I/O size will be set to the largest value
555c2a9d237SGordon Berglingsupported by both the NFS client and server.
556c2a9d237SGordon BerglingThe largest value supported by the NFS client is defined by
557c2a9d237SGordon Berglingthe tunable
558c2a9d237SGordon Bergling.Cd vfs.maxbcachebuf
559c2a9d237SGordon Berglingwhich can be set to a power of two up to
560c2a9d237SGordon Bergling.Cd kern.maxphys .
561c2a9d237SGordon Bergling.Pp
562c2a9d237SGordon BerglingThe
563c2a9d237SGordon Bergling.Xr nfsstat 1
564c2a9d237SGordon Berglingcommand with the
565c2a9d237SGordon Bergling.Ic -m
566c2a9d237SGordon Berglingcommand line option will show what
567c2a9d237SGordon Bergling.Nm
568c2a9d237SGordon Berglingoption settings are actually in use for the mount.
5694b5bc283SCraig Rodrigues.Sh COMPATIBILITY
5704b5bc283SCraig RodriguesThe following command line flags are equivalent to
5714b5bc283SCraig Rodrigues.Fl o
5724b5bc283SCraig Rodriguesnamed options and are supported for compatibility with older
5734b5bc283SCraig Rodriguesinstallations.
5744b5bc283SCraig Rodrigues.Bl -tag -width indent
5754b5bc283SCraig Rodrigues.It Fl 2
5764b5bc283SCraig RodriguesSame as
5774b5bc283SCraig Rodrigues.Fl o Cm nfsv2
5784b5bc283SCraig Rodrigues.It Fl 3
5794b5bc283SCraig RodriguesSame as
5804b5bc283SCraig Rodrigues.Fl o Cm nfsv3
5814b5bc283SCraig Rodrigues.It Fl D
5824b5bc283SCraig RodriguesSame as
5834b5bc283SCraig Rodrigues.Fl o Cm deadthresh
5844b5bc283SCraig Rodrigues.It Fl I
5854b5bc283SCraig RodriguesSame as
5864b5bc283SCraig Rodrigues.Fl o Cm readdirsize Ns = Ns Aq Ar value
5874b5bc283SCraig Rodrigues.It Fl L
5884b5bc283SCraig RodriguesSame as
5894b5bc283SCraig Rodrigues.Fl o Cm nolockd
5904b5bc283SCraig Rodrigues.It Fl N
5914b5bc283SCraig RodriguesSame as
5924b5bc283SCraig Rodrigues.Fl o Cm noresvport
5934b5bc283SCraig Rodrigues.It Fl P
5944b5bc283SCraig RodriguesUse a reserved socket port number.
5954b5bc283SCraig RodriguesThis flag is obsolete, and only retained for compatibility reasons.
5964b5bc283SCraig Rodrigues(For the rare case where the client has a trusted root account
5974b5bc283SCraig Rodriguesbut untrustworthy users and the network cables are in secure areas this does
5984b5bc283SCraig Rodrigueshelp, but for normal desktop clients this does not apply.)
5994b5bc283SCraig Rodrigues.It Fl R
6004b5bc283SCraig RodriguesSame as
6014b5bc283SCraig Rodrigues.Fl o Cm retrycnt Ns = Ns Aq Ar value
6024b5bc283SCraig Rodrigues.It Fl T
6034b5bc283SCraig RodriguesSame as
6044b5bc283SCraig Rodrigues.Fl o Cm tcp
6054b5bc283SCraig Rodrigues.It Fl U
6064b5bc283SCraig RodriguesSame as
6074b5bc283SCraig Rodrigues.Fl o Cm mntudp
6084b5bc283SCraig Rodrigues.It Fl a
6094b5bc283SCraig RodriguesSame as
6104b5bc283SCraig Rodrigues.Fl o Cm readahead Ns = Ns Aq Ar value
6114b5bc283SCraig Rodrigues.It Fl b
6124b5bc283SCraig RodriguesSame as
6134b5bc283SCraig Rodrigues.Fl o Cm bg
6144b5bc283SCraig Rodrigues.It Fl c
6154b5bc283SCraig RodriguesSame as
6164b5bc283SCraig Rodrigues.Fl o Cm noconn
6174b5bc283SCraig Rodrigues.It Fl d
6184b5bc283SCraig RodriguesSame as
6194b5bc283SCraig Rodrigues.Fl o Cm dumbtimer
6204b5bc283SCraig Rodrigues.It Fl g
6214b5bc283SCraig RodriguesSame as
6224b5bc283SCraig Rodrigues.Fl o Cm maxgroups
6234b5bc283SCraig Rodrigues.It Fl i
6244b5bc283SCraig RodriguesSame as
6254b5bc283SCraig Rodrigues.Fl o Cm intr
6264b5bc283SCraig Rodrigues.It Fl l
6274b5bc283SCraig RodriguesSame as
6284b5bc283SCraig Rodrigues.Fl o Cm rdirplus
6294b5bc283SCraig Rodrigues.It Fl r
6304b5bc283SCraig RodriguesSame as
6314b5bc283SCraig Rodrigues.Fl o Cm rsize Ns = Ns Aq Ar value
6324b5bc283SCraig Rodrigues.It Fl s
6334b5bc283SCraig RodriguesSame as
6344b5bc283SCraig Rodrigues.Fl o Cm soft
6354b5bc283SCraig Rodrigues.It Fl t
6364b5bc283SCraig RodriguesSame as
6374b5bc283SCraig Rodrigues.Fl o Cm retransmit Ns = Ns Aq Ar value
638*3ddd961dSBenedict Reuschling(deprecated)
6394b5bc283SCraig Rodrigues.It Fl w
6404b5bc283SCraig RodriguesSame as
6414b5bc283SCraig Rodrigues.Fl o Cm wsize Ns = Ns Aq Ar value
6428fae3551SRodney W. Grimes.It Fl x
6434b5bc283SCraig RodriguesSame as
6444b5bc283SCraig Rodrigues.Fl o Cm retrans Ns = Ns Aq Ar value
6458fae3551SRodney W. Grimes.El
646528c159fSBjoern A. Zeeb.Pp
647528c159fSBjoern A. ZeebThe following
648528c159fSBjoern A. Zeeb.Fl o
649528c159fSBjoern A. Zeebnamed options are equivalent to other
650528c159fSBjoern A. Zeeb.Fl o
651528c159fSBjoern A. Zeebnamed options and are supported for compatibility with other
652528c159fSBjoern A. Zeeboperating systems (e.g., Linux, Solaris, and OSX) to ease usage of
653528c159fSBjoern A. Zeeb.Xr autofs 5
654528c159fSBjoern A. Zeebsupport.
655528c159fSBjoern A. Zeeb.Bl -tag -width indent
656528c159fSBjoern A. Zeeb.It Fl o Cm vers Ns = Ns 2
657528c159fSBjoern A. ZeebSame as
658528c159fSBjoern A. Zeeb.Fl o Cm nfsv2
659528c159fSBjoern A. Zeeb.It Fl o Cm vers Ns = Ns 3
660528c159fSBjoern A. ZeebSame as
661528c159fSBjoern A. Zeeb.Fl o Cm nfsv3
662528c159fSBjoern A. Zeeb.It Fl o Cm vers Ns = Ns 4
663528c159fSBjoern A. ZeebSame as
664528c159fSBjoern A. Zeeb.Fl o Cm nfsv4
665528c159fSBjoern A. Zeeb.El
6668fae3551SRodney W. Grimes.Sh SEE ALSO
6674488c8c3SRick Macklem.Xr nfsstat 1 ,
6680c269d1fSCraig Rodrigues.Xr nmount 2 ,
6698fae3551SRodney W. Grimes.Xr unmount 2 ,
6704488c8c3SRick Macklem.Xr lagg 4 ,
671011981fdSRick Macklem.Xr nfsv4 4 ,
6728fae3551SRodney W. Grimes.Xr fstab 5 ,
673011981fdSRick Macklem.Xr gssd 8 ,
6742a2d4405SMatthew Dillon.Xr mount 8 ,
675ffc717e2SSheldon Hearn.Xr nfsd 8 ,
676893d2b85SSheldon Hearn.Xr nfsiod 8 ,
67704914a21SRick Macklem.Xr rpc.tlsclntd 8 ,
678893d2b85SSheldon Hearn.Xr showmount 8
6790fcf43f6SAllan Jude.Sh HISTORY
6800fcf43f6SAllan JudeA version of the
6810fcf43f6SAllan Jude.Nm
6820fcf43f6SAllan Judeutility appeared in
6830fcf43f6SAllan Jude.Bx 4.4 .
684011981fdSRick Macklem.Sh BUGS
6859b436906SRick MacklemSince NFSv4 performs open/lock operations that have their ordering strictly
686011981fdSRick Macklemenforced by the server, the options
687011981fdSRick Macklem.Cm intr
688011981fdSRick Macklemand
689011981fdSRick Macklem.Cm soft
690011981fdSRick Macklemcannot be safely used.
6919b436906SRick MacklemFor NFSv4 minor version 1 or 2 mounts, the ordering is done
6929b436906SRick Macklemvia session slots and the NFSv4 client now handles broken session slots
6939b436906SRick Macklemfairly well.
6949b436906SRick MacklemAs such, if the
6959b436906SRick Macklem.Cm nolockd
6969b436906SRick Macklemoption is used along with
6979b436906SRick Macklem.Cm intr
6989b436906SRick Macklemand/or
6999b436906SRick Macklem.Cm soft ,
7009b436906SRick Mackleman NFSv4 minor version 1 or 2 mount
7019b436906SRick Macklemshould work fairly well, although still not completely correctly.
7029b436906SRick MacklemFor NFSv4 minor version 0 mounts,
703011981fdSRick Macklem.Cm hard
7049b436906SRick Macklemmounts without the
7059b436906SRick Macklem.Cm intr
7069b436906SRick Macklemmount option is strongly recommended.
707