No empty .Rs/.Re
[netbsd-mini2440.git] / sbin / mount_nfs / mount_nfs.8
blob83333f81793bf4c51641fb09c9c5495317a34dd6
1 .\"     $NetBSD: mount_nfs.8,v 1.38 2009/04/08 13:12:20 joerg Exp $
2 .\"
3 .\" Copyright (c) 1992, 1993, 1994, 1995
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95
31 .\"
32 .Dd April 18, 2009
33 .Dt MOUNT_NFS 8
34 .Os
35 .Sh NAME
36 .Nm mount_nfs
37 .Nd mount NFS file systems
38 .Sh SYNOPSIS
39 .Nm
40 .Bk -words
41 .Op Fl 23bCcdilPpqsTUX
42 .Ek
43 .Bk -words
44 .Op Fl a Ar maxreadahead
45 .Ek
46 .Bk -words
47 .Op Fl D Ar deadthresh
48 .Ek
49 .Bk -words
50 .Op Fl g Ar maxgroups
51 .Ek
52 .Bk -words
53 .Op Fl I Ar readdirsize
54 .Ek
55 .Bk -words
56 .Op Fl L Ar leaseterm
57 .Ek
58 .Bk -words
59 .Op Fl o Ar options
60 .Ek
61 .Bk -words
62 .Op Fl R Ar retrycnt
63 .Ek
64 .Bk -words
65 .Op Fl r Ar readsize
66 .Ek
67 .Bk -words
68 .Op Fl t Ar timeout
69 .Ek
70 .Bk -words
71 .Op Fl w Ar writesize
72 .Ek
73 .Bk -words
74 .Op Fl x Ar retrans
75 .Ek
76 .Ar rhost:path node
77 .Sh DESCRIPTION
78 The
79 .Nm
80 command calls the
81 .Xr mount 2
82 system call to prepare and graft a remote
83 .Tn NFS
84 file system (rhost:path)
85 on to the file system tree at the mount point
86 .Ar node .
87 The directory specified by
88 .Ar node
89 is converted to an absolute path before use.
90 This command is normally executed by
91 .Xr mount 8 .
92 It implements the mount protocol as described in RFC 1094, Appendix A and
93 .%T "NFS: Network File System Version 3 Protocol Specification" ,
94 Appendix I.
95 .Pp
96 The options are:
97 .Bl -tag -width indent
98 .It Fl 2
99 Use the
100 .Tn NFS
101 Version 2 protocol.
102 .It Fl 3
103 Use the
104 .Tn NFS
105 Version 3 protocol.
106 The default is to try version 3 first, and
107 fall back to version 2 if the mount fails.
108 .It Fl a Ar maxreadahead
109 Set the read-ahead count to the specified value.
110 This may be in the range of 0 - 4, and determines how many blocks
111 will be read ahead when a large file is being read sequentially.
112 Trying a value greater than 1 for this is suggested for
113 mounts with a large bandwidth * delay product.
114 .It Fl b
115 If an initial attempt to contact the server fails, fork off a child to keep
116 trying the mount in the background.
117 Useful for
118 .Xr fstab 5 ,
119 where the filesystem mount is not critical to multiuser operation.
120 .It Fl C
122 .Tn UDP
123 mount points, do a
124 .Xr connect 2 .
125 Although this flag increases the efficiency of
126 .Tn UDP
127 mounts it cannot
128 be used for servers that do not reply to requests from the
129 standard
130 .Tn NFS
131 port number 2049, or for servers with multiple network interfaces.
132 In these cases if the socket is connected and the server
133 replies from a different port number or a different network interface
134 the client will get ICMP port unreachable and the mount will hang.
135 .It Fl c
137 .Tn UDP
138 mount points, do not do a
139 .Xr connect 2 .
140 This flag is deprecated and connectionless
141 .Tn UDP
142 mounts are the default.
143 .It Fl D Ar deadthresh
144 Set the
145 .Dq "dead server threshold"
146 to the specified number of round trip timeout intervals.
147 After a
148 .Dq "dead server threshold"
149 of retransmit timeouts,
150 .Dq "not responding"
151 message is printed to a tty.
152 .It Fl d
153 Turn off the dynamic retransmit timeout estimator.
154 This may be useful for
155 .Tn UDP
156 mounts that exhibit high retry rates,
157 since it is possible that the dynamically estimated timeout interval is too
158 short.
159 .It Fl g Ar maxgroups
160 Set the maximum size of the group list for the credentials to the
161 specified value.
162 This should be used for mounts on old servers that cannot handle a
163 group list size of 16, as specified in RFC 1057.
164 Try 8, if users in a lot of groups cannot get response from the mount
165 point.
166 .It Fl I Ar readdirsize
167 Set the readdir read size to the specified value.
168 The value should normally
169 be a multiple of
170 .Dv DIRBLKSIZ
171 that is \*[Le] the read size for the mount.
172 .It Fl i
173 Make the mount interruptible, which implies that file system calls that
174 are delayed due to an unresponsive server will fail with
175 .Er EINTR
176 when a
177 termination signal is posted for the process.
178 .It Fl L Ar leaseterm
179 Ignored.
180 It used to be
181 .Tn NQNFS
182 lease term.
183 .It Fl l
184 Used with
185 .Tn NFS
186 Version 3 to specify that the
187 .Fn ReaddirPlus
188 .Tn RPC
189 should be used.
190 This option reduces
191 .Tn RPC
192 traffic for cases such as
193 .Ic "ls -l" ,
194 but tends to flood the attribute and name caches with prefetched entries.
195 Try this option and see whether performance improves or degrades.
196 Probably most useful for client to server network
197 interconnects with a large bandwidth times delay product.
198 .It Fl o Ar options
199 Options are specified with a
200 .Fl o
201 flag followed by a comma separated string of options.
202 See the
203 .Xr mount 8
204 man page for possible options and their meanings.
206 The following
207 .Tn NFS
208 specific options are also available:
209 .Bl -tag -width indent
210 .It Cm bg
211 Same as
212 .Fl b .
213 .It Cm conn
214 Same as
215 .Fl C .
216 .It Cm deadthresh Ns = Ns Aq Ar deadthresh
217 Same as
218 .Fl D Ar deadthresh .
219 .It Cm dumbtimer
220 Same as
221 .Fl d .
222 .It Cm intr
223 Same as
224 .Fl i .
225 .It Cm leaseterm Ns = Ns Aq Ar leaseterm
226 Same as
227 .Fl L Ar leaseterm .
228 .It Cm maxgrps Ns = Ns Aq Ar maxgroups
229 Same as
230 .Fl g Ar maxgroups .
231 .It Cm mntudp
232 Same as
233 .Fl U .
234 .It Cm nfsv2
235 Same as
236 .Fl 2 .
237 .It Cm nfsv3
238 Same as
239 .Fl 3 .
240 .It Cm noresport
241 Same as
242 .Fl p .
243 .It Cm nqnfs
244 Same as
245 .Fl q .
246 .It Cm port Ns = Ns Aq Ar portnumber
247 Use the specified port number for
248 .Tn NFS
249 requests.
250 The default is to query the portmapper for the
251 .Tn NFS
252 port.
253 .It Cm rdirplus
254 Same as
255 .Fl l .
256 .It Cm readahead Ns = Ns Aq Ar maxreadahead
257 Same as
258 .Fl a Ar maxreadahead .
259 .It Cm rsize Ns = Ns Aq Ar readsize
260 Same as
261 .Fl -r Ar readsize .
262 .It Cm soft
263 Same as
264 .Fl s .
265 .It Cm tcp
266 Same as
267 .Fl T .
268 .It Cm timeo Ns = Ns Aq Ar timeout
269 Same as
270 .Fl t Ar timeout .
271 .It Cm wsize Ns = Ns Aq Ar writesize
272 Same as
273 .Fl w Ar writesize .
275 .It Fl P
276 Use a reserved socket port number.
277 This is the default, and available
278 for backwards compatibility purposes only.
279 .It Fl p
280 Do not use a reserved port number for RPCs.
281 This option is provided only to be able to mimic the old
282 default behavior of not using a reserved port, and should rarely be useful.
283 .It Fl q
284 A synonym of
285 .Fl 3 .
286 It used to specify
287 .Tn NQNFS .
288 .It Fl R Ar retrycnt
289 Set the retry count for doing the mount to the specified value.
290 The default is 10000.
291 .It Fl r Ar readsize
292 Set the read data size to the specified value in bytes.
293 It should normally be a power of 2 greater than or equal to 1024.
295 This should be used for
296 .Tn UDP
297 mounts when the
298 .Dq "fragments dropped after timeout"
299 value is getting large while actively using a mount point.
301 .Xr netstat 1
302 with the
303 .Fl s
304 option to see what the
305 .Dq "fragments dropped after timeout"
306 value is.
307 See the
309 .Fl w
310 option also.
311 .It Fl s
312 A soft mount, which implies that file system calls will fail
313 after
314 .Ar retrans
315 round trip timeout intervals.
316 .It Fl T
318 .Tn TCP
319 transport instead of
320 .Tn UDP .
321 This is recommended for servers that are not on the same physical network as
322 the client.
323 Not all
324 .Tn NFS
325 servers, especially not old ones, support this.
326 .It Fl t Ar timeout
327 Set the initial retransmit timeout to the specified value in 0.1 seconds.
328 May be useful for fine tuning
329 .Tn UDP
330 mounts over internetworks
331 with high packet loss rates or an overloaded server.
332 Try increasing the interval if
333 .Xr nfsstat 1
334 shows high retransmit rates while the file system is active or reducing the
335 value if there is a low retransmit rate but long response delay observed.
336 Normally, the -d option should be specified when using this option to manually
337 tune the timeout
338 interval.
339 The default is 3 seconds.
340 .It Fl U
341 Force the mount protocol to use
342 .Tn UDP
343 transport, even for
344 .Tn TCP
345 .Tn NFS
346 mounts.
347 This is necessary for some old
349 servers.
350 .It Fl w Ar writesize
351 Set the write data size to the specified value in bytes.
353 The same logic applies for use of this option as with the
355 .Fl r
356 option, but using the
357 .Dq "fragments dropped after timeout"
358 value on the
359 .Tn NFS
360 server instead of the client.
361 Note that both the
362 .Fl r
364 .Fl w
365 options should only be used as a last ditch effort at improving performance
366 when mounting servers that do not support
367 .Tn TCP
368 mounts.
369 .It Fl X
370 Perform 32 \*[Lt]-\*[Gt] 64 bit directory cookie translation for version 3 mounts.
371 This may be need in the case of a server using the upper 32 bits of
372 version 3 directory cookies, and when you are running emulated binaries
373 that access such a filesystem.
374 Native
376 binaries will never need this option.
377 This option introduces some overhead.
378 .It Fl x Ar retrans
379 Set the retransmit timeout count for soft mounts to the specified value.
380 The default is 10.
382 .Sh EXAMPLES
383 The simplest way to invoke
385 is with a command like:
387 .Dl "mount -t nfs remotehost:/filesystem /localmountpoint"
389 It is also possible to automatically mount filesystems at boot from your
390 .Pa /etc/fstab
391 by using a line like:
393 .Dl "remotehost:/home /home nfs rw 0 0"
394 .Sh PERFORMANCE
395 As can be derived from the comments accompanying the options, performance
396 tuning of
397 .Tn NFS
398 can be a non-trivial task.
399 Here are some common points
400 to watch:
401 .Bl -bullet -offset indent
403 Increasing the read and write size with the
404 .Fl r
406 .Fl w
407 options respectively will increase throughput if the network
408 interface can handle the larger packet sizes.
410 The default size for
411 .Tn NFS
412 version 2 is 8K when
413 using
414 .Tn UDP ,
415 64K when using
416 .Tn TCP .
418 The default size for
419 .Tn NFS
420 version 3 is platform dependent:
422 .Nx Ns /i386 ,
423 the default is 32K, for other platforms it is 8K.
424 Values over 32K are only supported for
425 .Tn TCP ,
426 where 64K is the maximum.
428 Any value over 32K is unlikely to get you more performance, unless
429 you have a very fast network.
431 If the network interface cannot handle larger packet sizes or a
432 long train of back to back packets, you may see low performance
433 figures or even temporary hangups during
434 .Tn NFS
435 activity.
437 This can especially happen with older
438 .Tn Ethernet
439 network interfaces.
440 What happens is that either the receive buffer on the network
441 interface on the client side is overflowing, or that similar events
442 occur on the server, leading to a lot of dropped packets.
444 In this case, decreasing the read and write size, using
445 .Tn TCP ,
446 or a combination of both will usually lead to better throughput.
447 Should you need to decrease the read and write size for all your
448 .Tn NFS
449 mounts because of a slow
450 .Tn Ethernet
451 network interface
452 .Pq e.g. a USB 1.1 to 10/100 Tn Ethernet network interface ,
453 you can use
455 .Bl -ohang -compact
456 .It Cd options NFS_RSIZE=value
457 .It Cd options NFS_WSIZE=value
460 in your kernel
461 .Xr config 1
462 file to avoid having do specify the sizes for all mounts.
464 For connections that are not on the same
465 .Tn LAN ,
466 and/or may experience packet loss, using
467 .Tn TCP
468 is strongly recommended.
470 .Sh ERRORS
471 Some common problems with
473 can be difficult for first time users to understand.
475 .Dl "mount_nfs: can't access /foo: Permission denied"
477 This message means that the remote host, is either not exporting
478 the filesystem you requested, or is not exporting it to your host.
479 If you believe the remote host is indeed exporting a filesystem to you,
480 make sure the
481 .Xr exports 5
482 file is exporting the proper directories.
484 A common mistake is that
485 .Xr mountd 8
486 will not export a filesystem with the
487 .Fl alldirs
488 option, unless it
489 is a mount point on the exporting host.
490 It is not possible to remotely
491 mount a subdirectory of an exported mount, unless it is exported with the
492 .Fl alldirs
493 option.
495 The following error:
497 .Dl "NFS Portmap: RPC: Program not registered"
499 means that the remote host is not running
500 .Xr mountd 8 .
501 The program
502 .Xr rpcinfo 8
503 can be used to determine if the remote host is running nfsd, and mountd by issuing
504 the command:
506 .Dl rpcinfo -p remotehostname
508 If the remote host is running nfsd, and mountd, it would display:
510 .Dl "100005    3   udp    719  mountd"
511 .Dl "100005    1   tcp    720  mountd"
512 .Dl "100005    3   tcp    720  mountd"
513 .Dl "100003    2   udp   2049  nfs"
514 .Dl "100003    3   udp   2049  nfs"
515 .Dl "100003    2   tcp   2049  nfs"
516 .Dl "100003    3   tcp   2049  nfs"
518 The error:
520 .Dl "mount_nfs: can't get net id for host"
522 indicates that
524 cannot resolve the name of the remote host.
525 .Sh SEE ALSO
526 .Xr nfsstat 1 ,
527 .Xr mount 2 ,
528 .Xr unmount 2 ,
529 .Xr options 4 ,
530 .Xr exports 5 ,
531 .Xr fstab 5 ,
532 .Xr mount 8 ,
533 .Xr mountd 8 ,
534 .Xr rpcinfo 8
536 .%R RFC 1094
537 .%D March 1989
538 .%T "NFS: Network File System Protocol specification"
541 .%R RFC 2623
542 .%D June 1999
543 .%T "NFS Version 2 and Version 3 Security Issues and the NFS Protocol's Use of RPCSEC_GCC and Kerberos V5"
546 .%R RFC 2624
547 .%D June 1999
548 .%T "NFS Version 4 Design Considerations"
551 .%R RFC 2695
552 .%D September 1999
553 .%T "Authentication Mechanisms for ONC RPC"
555 .Sh CAVEATS
556 An NFS server shouldn't loopback-mount its own exported file systems because
557 it's fundamentally prone to deadlock.