multiple threads for mountd
[nfs-utils.git] / utils / mountd / mountd.man
1 .\"
2 .\" mountd(8)
3 .\"
4 .\" Copyright (C) 1999 Olaf Kirch <okir@monad.swb.de>
5 .\" Modified by Paul Clements, 2004.
6 .TH rpc.mountd 8 "31 Aug 2004"
7 .SH NAME
8 rpc.mountd \- NFS mount daemon
9 .SH SYNOPSIS
10 .BI "/usr/sbin/rpc.mountd [" options "]"
11 .SH DESCRIPTION
12 The
13 .B rpc.mountd
14 program implements the NFS mount protocol. When receiving a MOUNT
15 request from an NFS client, it checks the request against the list of
16 currently exported file systems. If the client is permitted to mount
17 the file system,
18 .B rpc.mountd
19 obtains a file handle for requested directory and returns it to
20 the client.
21 .SS Exporting NFS File Systems
22 Making file systems available to NFS clients is called
23 .IR exporting .
24 .P
25 Usually, a file system and the hosts it should be made available to
26 are listed in the
27 .B /etc/exports
28 file, and invoking
29 .B exportfs -a
30 whenever the system is booted. The
31 .BR exportfs (8)
32 command makes export information available to both the kernel NFS
33 server module and the
34 .B rpc.mountd
35 daemon.
36 .P
37 Alternatively, you can export individual directories temporarily 
38 using
39 .BR exportfs 's
40 .IB host : /directory
41 syntax.
42 .SS The rmtab File
43 For every mount request received from an NFS client,
44 .B rpc.mountd
45 adds an entry to the
46 .B /var/lib/nfs/rmtab
47 file. When receiving an unmount request, that entry is removed.
48 .P
49 However, this file is mostly ornamental. One, the client can continue
50 to use the file handle even after calling
51 .B rpc.mountd 's
52 UMOUNT procedure. And two, if a client reboots without notifying
53 .B rpc.mountd ,
54 a stale entry will remain in
55 .BR rmtab .
56 .SH OPTIONS
57 .TP
58 .B \-d kind " or " \-\-debug kind
59 Turn on debugging. Valid kinds are: all, auth, call, general and parse.
60 .TP
61 .B \-F " or " \-\-foreground
62 Run in foreground (do not daemonize)
63 .TP
64 .B \-f " or " \-\-exports-file
65 This option specifies the exports file, listing the clients that this
66 server is prepared to serve and parameters to apply to each
67 such mount (see
68 .BR exports (5)).
69 By default, export information is read from
70 .IR /etc/exports .
71 .TP
72 .B \-h " or " \-\-help
73 Display usage message.
74 .TP
75 .B \-o num " or " \-\-descriptors num
76 Set the limit of the number of open file descriptors to num. The
77 default is to leave the limit unchanged.
78 .TP
79 .B \-N " or " \-\-no-nfs-version
80 This option can be used to request that
81 .B rpc.mountd
82 do not offer certain versions of NFS. The current version of
83 .B rpc.mountd
84 can support both NFS version 2 and the newer version 3. If the
85 NFS kernel module was compiled without support for NFSv3,
86 .B rpc.mountd
87 must be invoked with the option
88 .B "\-\-no-nfs-version 3" .
89 .TP
90 .B \-n " or " \-\-no-tcp
91 Don't advertise TCP for mount.
92 .TP
93 .B \-P
94 Ignored (compatibility with unfsd??).
95 .TP
96 .B \-p " or " \-\-port num
97 Force
98 .B rpc.mountd
99 to bind to the specified port num, instead of using the random port
100 number assigned by the portmapper.
101 .TP
102 .B \-H " or " \-\-ha-callout prog
103 Specify a high availability callout program, which will receive callouts
104 for all client mount and unmount requests. This allows 
105 .B rpc.mountd
106 to be used in a High Availability NFS (HA-NFS) environment. This callout is not
107 needed (and should not be used) with 2.6 and later kernels (instead,
108 mount the nfsd filesystem on
109 .B /proc/fs/nfsd
110 ).
111 The program will be called with 4 arguments.
112 The first will be
113 .B mount
114 or
115 .B unmount
116 depending on the reason for the callout.
117 The second will be the name of the client performing the mount.
118 The third will be the path that the client is mounting.
119 The last is the number of concurrent mounts that we believe the client
120 has of that path.
121 .TP
122 .BI "\-P," "" " \-\-state\-directory\-path "  directory
123 specify a directory in which to place statd state information.
124 If this option is not specified the default of
125 .BR /var/lib/nfs
126 is used.
127 .TP
128 .BR "\-t N" " or " "\-\-num\-threads=N"
129 This option specifies the number of worker threads that rpc.mountd
130 spawns.  The default is 1 thread, which is probably enough.  More
131 threads are usually only needed for NFS servers which need to handle
132 mount storms of hundreds of NFS mounts in a few seconds, or when
133 your DNS server is slow or unreliable.
134 .TP
135 .B \-V " or " \-\-nfs-version
136 This option can be used to request that
137 .B rpc.mountd
138 offer certain versions of NFS. The current version of
139 .B rpc.mountd
140 can support both NFS version 2 and the newer version 3.
141 .TP
142 .B \-v " or " \-\-version
143 Print the version of
144 .B rpc.mountd
145 and exit.
146
147 .SH TCP_WRAPPERS SUPPORT
148 This
149 .B rpc.mountd
150 version is protected by the
151 .B tcp_wrapper
152 library. You have to give the clients access to
153 .B rpc.mountd
154 if they should be allowed to use it. To allow connects from clients of
155 the .bar.com domain you could use the following line in /etc/hosts.allow:
156
157 mountd: .bar.com
158
159 You have to use the daemon name 
160 .B mountd
161 for the daemon name (even if the binary has a different name).
162
163 For further information please have a look at the
164 .BR tcpd (8)
165 and
166 .BR hosts_access (5)
167 manual pages.
168
169 .SH SEE ALSO
170 .BR rpc.nfsd (8),
171 .BR exportfs (8),
172 .BR exports (5),
173 .BR rpc.rquotad (8).
174 .SH FILES
175 .BR /etc/exports ,
176 .BR /var/lib/nfs/xtab .
177 .SH AUTHOR
178 Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.