xref: /freebsd/sbin/mount_nfs/mount_nfs.8 (revision 0b3105a37d7adcadcb720112fed4dc4e8040be99)
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 October 30, 2014
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. If this is set to 0 it disables negative
187name 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 isn't 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. This option overrides the default, which will be
275``nfs@<server-fqdn>'' and should normally be sufficient.
276.It Cm noresvport
277Do
278.Em not
279use a reserved socket port number (see below).
280.It Cm port Ns = Ns Aq Ar port_number
281Use specified port number for NFS requests.
282The default is to query the portmapper for the NFS port.
283.It Cm proto Ns = Ns Aq Ar protocol
284Specify transport protocol version to use.
285Currently, they are:
286.Bd -literal
287udp -   Use UDP over IPv4
288tcp -   Use TCP over IPv4
289udp6 -  Use UDP over IPv6
290tcp6 -  Use TCP over IPv6
291.Ed
292.It Cm rdirplus
293Used with NFSV3 to specify that the \fBReaddirPlus\fR RPC should
294be used.
295For NFSV4, setting this option has a similar effect, in that it will make
296the Readdir Operation get more attributes.
297This option reduces RPC traffic for cases such as
298.Dq "ls -l" ,
299but tends to flood the attribute and name caches with prefetched entries.
300Try this option and see whether performance improves or degrades.
301Probably
302most useful for client to server network interconnects with a large bandwidth
303times delay product.
304.It Cm readahead Ns = Ns Aq Ar value
305Set the read-ahead count to the specified value.
306This may be in the range of 0 - 4, and determines how many blocks
307will be read ahead when a large file is being read sequentially.
308Trying a value greater than 1 for this is suggested for
309mounts with a large bandwidth * delay product.
310.It Cm readdirsize Ns = Ns Aq Ar value
311Set the readdir read size to the specified value.
312The value should normally
313be a multiple of
314.Dv DIRBLKSIZ
315that is <= the read size for the mount.
316.It Cm resvport
317Use a reserved socket port number.
318This flag is obsolete, and only retained for compatibility reasons.
319Reserved port numbers are used by default now.
320(For the rare case where the client has a trusted root account
321but untrustworthy users and the network cables are in secure areas this does
322help, but for normal desktop clients this does not apply.)
323.It Cm retrans Ns = Ns Aq Ar value
324Set the retransmit timeout count for soft mounts to the specified value.
325.It Cm retrycnt Ns = Ns Aq Ar count
326Set the mount retry count to the specified value.
327The default is a retry count of zero, which means to keep retrying
328forever.
329There is a 60 second delay between each attempt.
330.It Cm rsize Ns = Ns Aq Ar value
331Set the read data size to the specified value.
332It should normally be a power of 2 greater than or equal to 1024.
333This should be used for UDP mounts when the
334.Dq "fragments dropped due to timeout"
335value is getting large while actively using a mount point.
336(Use
337.Xr netstat 1
338with the
339.Fl s
340option to see what the
341.Dq "fragments dropped due to timeout"
342value is.)
343.It Cm sec Ns = Ns Aq Ar flavor
344This option specifies what security flavor should be used for the mount.
345Currently, they are:
346.Bd -literal
347krb5 -  Use KerberosV authentication
348krb5i - Use KerberosV authentication and
349        apply integrity checksums to RPCs
350krb5p - Use KerberosV authentication and
351        encrypt the RPC data
352sys -   The default AUTH_SYS, which uses a
353        uid + gid list authenticator
354.Ed
355.It Cm soft
356A soft mount, which implies that file system calls will fail
357after
358.Ar retrycnt
359round trip timeout intervals.
360.It Cm tcp
361Use TCP transport.
362This is the default option, as it provides for increased reliability on both
363LAN and WAN configurations compared to UDP.
364Some old NFS servers do not support this method; UDP mounts may be required
365for interoperability.
366.It Cm timeout Ns = Ns Aq Ar value
367Set the initial retransmit timeout to the specified value,
368expressed in tenths of a second.
369May be useful for fine tuning UDP mounts over internetworks
370with high packet loss rates or an overloaded server.
371Try increasing the interval if
372.Xr nfsstat 1
373shows high retransmit rates while the file system is active or reducing the
374value if there is a low retransmit rate but long response delay observed.
375(Normally, the
376.Cm dumbtimer
377option should be specified when using this option to manually
378tune the timeout
379interval.)
380.It Cm timeo Ns = Ns Aq Ar value
381Alias for
382.Cm timeout .
383.It Cm udp
384Use UDP transport.
385.It Cm vers Ns = Ns Aq Ar vers_number
386Use the specified version number for NFS requests.
387See the
388.Cm nfsv2 ,
389.Cm nfsv3 ,
390and
391.Cm nfsv4
392options for details.
393.It Cm wcommitsize Ns = Ns Aq Ar value
394Set the maximum pending write commit size to the specified value.
395This determines the maximum amount of pending write data that the NFS
396client is willing to cache for each file.
397.It Cm wsize Ns = Ns Aq Ar value
398Set the write data size to the specified value.
399Ditto the comments w.r.t.\& the
400.Cm rsize
401option, but using the
402.Dq "fragments dropped due to timeout"
403value on the server instead of the client.
404Note that both the
405.Cm rsize
406and
407.Cm wsize
408options should only be used as a last ditch effort at improving performance
409when mounting servers that do not support TCP mounts.
410.El
411.El
412.Sh COMPATIBILITY
413The following command line flags are equivalent to
414.Fl o
415named options and are supported for compatibility with older
416installations.
417.Bl -tag -width indent
418.It Fl 2
419Same as
420.Fl o Cm nfsv2
421.It Fl 3
422Same as
423.Fl o Cm nfsv3
424.It Fl D
425Same as
426.Fl o Cm deadthresh
427.It Fl I
428Same as
429.Fl o Cm readdirsize Ns = Ns Aq Ar value
430.It Fl L
431Same as
432.Fl o Cm nolockd
433.It Fl N
434Same as
435.Fl o Cm noresvport
436.It Fl P
437Use a reserved socket port number.
438This flag is obsolete, and only retained for compatibility reasons.
439(For the rare case where the client has a trusted root account
440but untrustworthy users and the network cables are in secure areas this does
441help, but for normal desktop clients this does not apply.)
442.It Fl R
443Same as
444.Fl o Cm retrycnt Ns = Ns Aq Ar value
445.It Fl T
446Same as
447.Fl o Cm tcp
448.It Fl U
449Same as
450.Fl o Cm mntudp
451.It Fl a
452Same as
453.Fl o Cm readahead Ns = Ns Aq Ar value
454.It Fl b
455Same as
456.Fl o Cm bg
457.It Fl c
458Same as
459.Fl o Cm noconn
460.It Fl d
461Same as
462.Fl o Cm dumbtimer
463.It Fl g
464Same as
465.Fl o Cm maxgroups
466.It Fl i
467Same as
468.Fl o Cm intr
469.It Fl l
470Same as
471.Fl o Cm rdirplus
472.It Fl r
473Same as
474.Fl o Cm rsize Ns = Ns Aq Ar value
475.It Fl s
476Same as
477.Fl o Cm soft
478.It Fl t
479Same as
480.Fl o Cm retransmit Ns = Ns Aq Ar value
481.It Fl w
482Same as
483.Fl o Cm wsize Ns = Ns Aq Ar value
484.It Fl x
485Same as
486.Fl o Cm retrans Ns = Ns Aq Ar value
487.El
488.Pp
489The following
490.Fl o
491named options are equivalent to other
492.Fl o
493named options and are supported for compatibility with other
494operating systems (e.g., Linux, Solaris, and OSX) to ease usage of
495.Xr autofs 5
496support.
497.Bl -tag -width indent
498.It Fl o Cm vers Ns = Ns 2
499Same as
500.Fl o Cm nfsv2
501.It Fl o Cm vers Ns = Ns 3
502Same as
503.Fl o Cm nfsv3
504.It Fl o Cm vers Ns = Ns 4
505Same as
506.Fl o Cm nfsv4
507.El
508.Sh SEE ALSO
509.Xr nmount 2 ,
510.Xr unmount 2 ,
511.Xr nfsv4 4 ,
512.Xr fstab 5 ,
513.Xr gssd 8 ,
514.Xr mount 8 ,
515.Xr nfsd 8 ,
516.Xr nfsiod 8 ,
517.Xr showmount 8
518.Sh BUGS
519Since nfsv4 performs open/lock operations that have their ordering strictly
520enforced by the server, the options
521.Cm intr
522and
523.Cm soft
524cannot be safely used.
525.Cm hard
526nfsv4 mounts are strongly recommended.
527