xref: /freebsd/sbin/mount_nfs/mount_nfs.8 (revision 5dae51da3da0cc94d17bd67b308fad304ebec7e0)
1.\" Copyright (c) 1992, 1993, 1994, 1995
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"	@(#)mount_nfs.8	8.3 (Berkeley) 3/29/95
29.\" $FreeBSD$
30.\"
31.Dd September 10, 2016
32.Dt MOUNT_NFS 8
33.Os
34.Sh NAME
35.Nm mount_nfs
36.Nd mount NFS file systems
37.Sh SYNOPSIS
38.Nm
39.Op Fl 23bcdiLlNPsTU
40.Op Fl a Ar maxreadahead
41.Op Fl D Ar deadthresh
42.Op Fl g Ar maxgroups
43.Op Fl I Ar readdirsize
44.Op Fl o Ar options
45.Op Fl R Ar retrycnt
46.Op Fl r Ar readsize
47.Op Fl t Ar timeout
48.Op Fl w Ar writesize
49.Op Fl x Ar retrans
50.Ar rhost : Ns Ar path node
51.Sh DESCRIPTION
52The
53.Nm
54utility calls the
55.Xr nmount 2
56system call to prepare and graft a remote NFS file system
57.Pq Ar rhost : Ns Ar path
58on to the file system tree at the point
59.Ar node .
60This command is normally executed by
61.Xr mount 8 .
62It implements the mount protocol as described in RFC 1094, Appendix A and
63.%T "NFS: Network File System Version 3 Protocol Specification" ,
64Appendix I.
65.Pp
66By default,
67.Nm
68keeps retrying until the mount succeeds.
69This behaviour is intended for file systems listed in
70.Xr fstab 5
71that are critical to the boot process.
72For non-critical file systems, the
73.Cm bg
74and
75.Cm retrycnt
76options provide mechanisms to prevent the boot process from hanging
77if the server is unavailable.
78.Pp
79If the server becomes unresponsive while an NFS file system is
80mounted, any new or outstanding file operations on that file system
81will hang uninterruptibly until the server comes back.
82To modify this default behaviour, see the
83.Cm intr
84and
85.Cm soft
86options.
87.Pp
88The options are:
89.Bl -tag -width indent
90.It Fl o
91Options are specified with a
92.Fl o
93flag followed by a comma separated string of options.
94See the
95.Xr mount 8
96man page for possible options and their meanings.
97The following NFS specific options are also available:
98.Bl -tag -width indent
99.It Cm acregmin Ns = Ns Aq Ar seconds
100.It Cm acregmax Ns = Ns Aq Ar seconds
101.It Cm acdirmin Ns = Ns Aq Ar seconds
102.It Cm acdirmax Ns = Ns Aq Ar seconds
103When attributes of files are cached, a timeout calculated to determine
104whether a given cache entry has expired.
105These four values determine the upper and lower bounds of the timeouts for
106.Dq directory
107attributes and
108.Dq regular
109(ie: everything else).
110The default values are 3 -> 60 seconds
111for regular files, and 30 -> 60 seconds for directories.
112The algorithm to calculate the timeout is based on the age of the file.
113The older the file,
114the longer the cache is considered valid, subject to the limits above.
115.It Cm actimeo Ns = Ns Aq Ar seconds
116Set four cache timeouts above to specified value.
117.It Cm allgssname
118This option can be used along with
119.Fl o Cm gssname
120to specify that all operations should use the host-based initiator
121credential.
122This may be used for clients that run system daemons that need to
123access files on the NFSv4 mounted volume.
124.It Cm bg
125If an initial attempt to contact the server fails, fork off a child to keep
126trying the mount in the background.
127Useful for
128.Xr fstab 5 ,
129where the file system mount is not critical to multiuser operation.
130.It Cm deadthresh Ns = Ns Aq Ar value
131Set the
132.Dq "dead server threshold"
133to the specified number of round trip timeout intervals before a
134.Dq "server not responding"
135message is displayed.
136.It Cm dumbtimer
137Turn off the dynamic retransmit timeout estimator.
138This may be useful for UDP mounts that exhibit high retry rates,
139since it is possible that the dynamically estimated timeout interval is too
140short.
141.It Cm fg
142Same as not specifying
143.Cm bg .
144.It Cm gssname Ns = Ns Aq Ar service-principal-name
145This option can be used with the KerberosV security flavors for NFSv4 mounts
146to specify the
147.Dq "service-principal-name"
148of a host-based entry in the default
149keytab file that is used for system operations.
150It allows the mount to be performed by
151.Dq "root"
152and avoids problems with
153cached credentials for the system operations expiring.
154The
155.Dq "service-prinicpal-name"
156should be specified without instance or domain and is typically
157.Dq "host" ,
158.Dq "nfs"
159or
160.Dq "root" .
161.It Cm hard
162Same as not specifying
163.Cm soft .
164.It Cm intr
165Make the mount interruptible, which implies that file system calls that
166are delayed due to an unresponsive server will fail with EINTR when a
167termination signal is posted for the process.
168.It Cm maxgroups Ns = Ns Aq Ar value
169Set the maximum size of the group list for the credentials to the
170specified value.
171This should be used for mounts on old servers that cannot handle a
172group list size of 16, as specified in RFC 1057.
173Try 8, if users in a lot of groups cannot get response from the mount
174point.
175.It Cm mntudp
176Force the mount protocol to use UDP transport, even for TCP NFS mounts.
177(Necessary for some old
178.Bx
179servers.)
180.It Cm nametimeo Ns = Ns Aq Ar value
181Override the default of NFS_DEFAULT_NAMETIMEO for the timeout (in seconds)
182for positive name cache entries.
183If this is set to 0 it disables positive name caching for the mount point.
184.It Cm negnametimeo Ns = Ns Aq Ar value
185Override the default of NFS_DEFAULT_NEGNAMETIMEO for the timeout (in seconds)
186for negative name cache entries.
187If this is set to 0 it disables negative name caching for the mount point.
188.It Cm nfsv2
189Use the NFS Version 2 protocol (the default is to try version 3 first
190then version 2).
191Note that NFS version 2 has a file size limit of 2 gigabytes.
192.It Cm nfsv3
193Use the NFS Version 3 protocol.
194.It Cm nfsv4
195Use the NFS Version 4 protocol.
196This option will force the mount to use
197TCP transport.
198.It Cm minorversion Ns = Ns Aq Ar value
199Override the default of 0 for the minor version of the NFS Version 4 protocol.
200The only minor version currently supported is 1.
201This option is only meaningful when used with the
202.Cm nfsv4
203option.
204.It Cm pnfs
205Enable support for parallel NFS (pNFS) for minor version 1 of the
206NFS Version 4 protocol.
207This option is only meaningful when used with the
208.Cm minorversion
209option.
210.It Cm noac
211Disable attribute caching.
212.It Cm noconn
213For UDP mount points, do not do a
214.Xr connect 2 .
215This must be used if the server does not reply to requests from the standard
216NFS port number 2049 or replies to requests using a different IP address
217(which can occur if the server is multi-homed).
218Setting the
219.Va vfs.nfs.nfs_ip_paranoia
220sysctl to 0 will make this option the default.
221.It Cm nocto
222Normally, NFS clients maintain the close-to-open cache coherency.
223This works by flushing at close time and checking at open time.
224Checking at open time is implemented by getting attributes from
225the server and purging the data cache if they do not match
226attributes cached by the client.
227.Pp
228This option disables checking at open time.
229It may improve performance for read-only mounts,
230but should only be used if the data on the server changes rarely.
231Be sure to understand the consequences before enabling this option.
232.It Cm noinet4 , noinet6
233Disables
234.Dv AF_INET
235or
236.Dv AF_INET6
237connections.
238Useful for hosts that have
239both an A record and an AAAA record for the same name.
240.It Cm nolockd
241Do
242.Em not
243forward
244.Xr fcntl 2
245locks over the wire.
246All locks will be local and not seen by the server
247and likewise not seen by other NFS clients.
248This removes the need to run the
249.Xr rpcbind 8
250service and the
251.Xr rpc.statd 8
252and
253.Xr rpc.lockd 8
254servers on the client.
255Note that this option will only be honored when performing the
256initial mount, it will be silently ignored if used while updating
257the mount options.
258.It Cm noncontigwr
259This mount option allows the NFS client to
260combine non-contiguous byte ranges being written
261such that the dirty byte range becomes a superset of the bytes
262that are dirty.
263This reduces the number of writes significantly for software
264builds.
265The merging of byte ranges is not done if the file has been file
266locked, since most applications modifying a file from multiple
267clients will use file locking.
268As such, this option could result in a corrupted file for the
269rare case of an application modifying the file from multiple
270clients concurrently without using file locking.
271.It Cm principal
272For the RPCSEC_GSS security flavors, such as krb5, krb5i and krb5p,
273this option sets the name of the host based principal name expected
274by the server.
275This option overrides the default, which will be ``nfs@<server-fqdn>''
276and should normally be sufficient.
277.It Cm noresvport
278Do
279.Em not
280use a reserved socket port number (see below).
281.It Cm port Ns = Ns Aq Ar port_number
282Use specified port number for NFS requests.
283The default is to query the portmapper for the NFS port.
284.It Cm proto Ns = Ns Aq Ar protocol
285Specify transport protocol version to use.
286Currently, they are:
287.Bd -literal
288udp -   Use UDP over IPv4
289tcp -   Use TCP over IPv4
290udp6 -  Use UDP over IPv6
291tcp6 -  Use TCP over IPv6
292.Ed
293.It Cm rdirplus
294Used with NFSV3 to specify that the \fBReaddirPlus\fR RPC should
295be used.
296For NFSV4, setting this option has a similar effect, in that it will make
297the Readdir Operation get more attributes.
298This option reduces RPC traffic for cases such as
299.Dq "ls -l" ,
300but tends to flood the attribute and name caches with prefetched entries.
301Try this option and see whether performance improves or degrades.
302Probably
303most useful for client to server network interconnects with a large bandwidth
304times delay product.
305.It Cm readahead Ns = Ns Aq Ar value
306Set the read-ahead count to the specified value.
307This may be in the range of 0 - 4, and determines how many blocks
308will be read ahead when a large file is being read sequentially.
309Trying a value greater than 1 for this is suggested for
310mounts with a large bandwidth * delay product.
311.It Cm readdirsize Ns = Ns Aq Ar value
312Set the readdir read size to the specified value.
313The value should normally
314be a multiple of
315.Dv DIRBLKSIZ
316that is <= the read size for the mount.
317.It Cm resvport
318Use a reserved socket port number.
319This flag is obsolete, and only retained for compatibility reasons.
320Reserved port numbers are used by default now.
321(For the rare case where the client has a trusted root account
322but untrustworthy users and the network cables are in secure areas this does
323help, but for normal desktop clients this does not apply.)
324.It Cm retrans Ns = Ns Aq Ar value
325Set the retransmit timeout count for soft mounts to the specified value.
326.It Cm retrycnt Ns = Ns Aq Ar count
327Set the mount retry count to the specified value.
328The default is a retry count of zero, which means to keep retrying
329forever.
330There is a 60 second delay between each attempt.
331.It Cm rsize Ns = Ns Aq Ar value
332Set the read data size to the specified value.
333It should normally be a power of 2 greater than or equal to 1024.
334This should be used for UDP mounts when the
335.Dq "fragments dropped due to timeout"
336value is getting large while actively using a mount point.
337(Use
338.Xr netstat 1
339with the
340.Fl s
341option to see what the
342.Dq "fragments dropped due to timeout"
343value is.)
344.It Cm sec Ns = Ns Aq Ar flavor
345This option specifies what security flavor should be used for the mount.
346Currently, they are:
347.Bd -literal
348krb5 -  Use KerberosV authentication
349krb5i - Use KerberosV authentication and
350        apply integrity checksums to RPCs
351krb5p - Use KerberosV authentication and
352        encrypt the RPC data
353sys -   The default AUTH_SYS, which uses a
354        uid + gid list authenticator
355.Ed
356.It Cm soft
357A soft mount, which implies that file system calls will fail
358after
359.Ar retrycnt
360round trip timeout intervals.
361.It Cm tcp
362Use TCP transport.
363This is the default option, as it provides for increased reliability on both
364LAN and WAN configurations compared to UDP.
365Some old NFS servers do not support this method; UDP mounts may be required
366for interoperability.
367.It Cm timeout Ns = Ns Aq Ar value
368Set the initial retransmit timeout to the specified value,
369expressed in tenths of a second.
370May be useful for fine tuning UDP mounts over internetworks
371with high packet loss rates or an overloaded server.
372Try increasing the interval if
373.Xr nfsstat 1
374shows high retransmit rates while the file system is active or reducing the
375value if there is a low retransmit rate but long response delay observed.
376(Normally, the
377.Cm dumbtimer
378option should be specified when using this option to manually
379tune the timeout
380interval.)
381.It Cm timeo Ns = Ns Aq Ar value
382Alias for
383.Cm timeout .
384.It Cm udp
385Use UDP transport.
386.It Cm vers Ns = Ns Aq Ar vers_number
387Use the specified version number for NFS requests.
388See the
389.Cm nfsv2 ,
390.Cm nfsv3 ,
391and
392.Cm nfsv4
393options for details.
394.It Cm wcommitsize Ns = Ns Aq Ar value
395Set the maximum pending write commit size to the specified value.
396This determines the maximum amount of pending write data that the NFS
397client is willing to cache for each file.
398.It Cm wsize Ns = Ns Aq Ar value
399Set the write data size to the specified value.
400Ditto the comments w.r.t.\& the
401.Cm rsize
402option, but using the
403.Dq "fragments dropped due to timeout"
404value on the server instead of the client.
405Note that both the
406.Cm rsize
407and
408.Cm wsize
409options should only be used as a last ditch effort at improving performance
410when mounting servers that do not support TCP mounts.
411.El
412.El
413.Sh COMPATIBILITY
414The following command line flags are equivalent to
415.Fl o
416named options and are supported for compatibility with older
417installations.
418.Bl -tag -width indent
419.It Fl 2
420Same as
421.Fl o Cm nfsv2
422.It Fl 3
423Same as
424.Fl o Cm nfsv3
425.It Fl D
426Same as
427.Fl o Cm deadthresh
428.It Fl I
429Same as
430.Fl o Cm readdirsize Ns = Ns Aq Ar value
431.It Fl L
432Same as
433.Fl o Cm nolockd
434.It Fl N
435Same as
436.Fl o Cm noresvport
437.It Fl P
438Use a reserved socket port number.
439This flag is obsolete, and only retained for compatibility reasons.
440(For the rare case where the client has a trusted root account
441but untrustworthy users and the network cables are in secure areas this does
442help, but for normal desktop clients this does not apply.)
443.It Fl R
444Same as
445.Fl o Cm retrycnt Ns = Ns Aq Ar value
446.It Fl T
447Same as
448.Fl o Cm tcp
449.It Fl U
450Same as
451.Fl o Cm mntudp
452.It Fl a
453Same as
454.Fl o Cm readahead Ns = Ns Aq Ar value
455.It Fl b
456Same as
457.Fl o Cm bg
458.It Fl c
459Same as
460.Fl o Cm noconn
461.It Fl d
462Same as
463.Fl o Cm dumbtimer
464.It Fl g
465Same as
466.Fl o Cm maxgroups
467.It Fl i
468Same as
469.Fl o Cm intr
470.It Fl l
471Same as
472.Fl o Cm rdirplus
473.It Fl r
474Same as
475.Fl o Cm rsize Ns = Ns Aq Ar value
476.It Fl s
477Same as
478.Fl o Cm soft
479.It Fl t
480Same as
481.Fl o Cm retransmit Ns = Ns Aq Ar value
482.It Fl w
483Same as
484.Fl o Cm wsize Ns = Ns Aq Ar value
485.It Fl x
486Same as
487.Fl o Cm retrans Ns = Ns Aq Ar value
488.El
489.Pp
490The following
491.Fl o
492named options are equivalent to other
493.Fl o
494named options and are supported for compatibility with other
495operating systems (e.g., Linux, Solaris, and OSX) to ease usage of
496.Xr autofs 5
497support.
498.Bl -tag -width indent
499.It Fl o Cm vers Ns = Ns 2
500Same as
501.Fl o Cm nfsv2
502.It Fl o Cm vers Ns = Ns 3
503Same as
504.Fl o Cm nfsv3
505.It Fl o Cm vers Ns = Ns 4
506Same as
507.Fl o Cm nfsv4
508.El
509.Sh SEE ALSO
510.Xr nmount 2 ,
511.Xr unmount 2 ,
512.Xr nfsv4 4 ,
513.Xr fstab 5 ,
514.Xr gssd 8 ,
515.Xr mount 8 ,
516.Xr nfsd 8 ,
517.Xr nfsiod 8 ,
518.Xr showmount 8
519.Sh HISTORY
520A version of the
521.Nm
522utility appeared in
523.Bx 4.4 .
524.Sh BUGS
525Since nfsv4 performs open/lock operations that have their ordering strictly
526enforced by the server, the options
527.Cm intr
528and
529.Cm soft
530cannot be safely used.
531.Cm hard
532nfsv4 mounts are strongly recommended.
533