1GANESHA-CORE-CONFIG(8) NFS-Ganesha GANESHA-CORE-CONFIG(8)
2
3
4
6 ganesha-core-config - NFS Ganesha Core Configuration File
7
9 /etc/ganesha/ganesha.conf
10
11
13 NFS-Ganesha reads the configuration data from: | /etc/ganesha/gane‐
14 sha.conf
15
16 This file lists NFS related core config options.
17
18 NFS_CORE_PARAM {}
19 Core parameters:
20
21 NFS_Port (uint16, range 0 to UINT16_MAX, default 2049)
22 Port number used by NFS Protocol.
23
24 MNT_Port (uint16, range 0 to UINT16_MAX, default 0)
25 Port number used by MNT Protocol.
26
27 NLM_Port (uint16, range 0 to UINT16_MAX, default 0)
28 Port number used by NLM Protocol.
29
30 Rquota_Port (uint16, range 0 to UINT16_MAX, default 875)
31 Port number used by Rquota Protocol.
32
33 Bind_addr(IPv4 or IPv6 addr, default 0.0.0.0)
34 The address to which to bind for our listening port.
35
36 NFS_Program(uint32, range 1 to INT32_MAX, default 100003)
37 RPC program number for NFS.
38
39 MNT_Program(uint32, range 1 to INT32_MAX, default 100005)
40 RPC program number for MNT.
41
42 NLM_Program(uint32, range 1 to INT32_MAX, default 100021)
43 RPC program number for NLM.
44
45 Drop_IO_Errors(bool, default false)
46 For NFSv3, whether to drop rather than reply to requests yield‐
47 ing I/O errors. It results in client retry.
48
49 Drop_Inval_Errors(bool, default false)
50 For NFSv3, whether to drop rather than reply to requests yield‐
51 ing invalid argument errors. False by default and settable with
52 Drop_Inval_Errors.
53
54 Drop_Delay_Errors(bool, default false)
55 For NFSv3, whether to drop rather than reply to requests yield‐
56 ing delay errors. False by default and settable with Drop_De‐
57 lay_Errors.
58
59 Plugins_Dir(path, default /usr/lib64/ganesha )
60 Path to the directory containing server specific modules
61
62 Enable_NFS_Stats(bool, default true)
63 Whether to collect perfomance statistics. By default the perfo‐
64 mance counting is enabled. Enable_NFS_Stats can be enabled or
65 disabled dynamically via ganesha_stats.
66
67 Enable_Fast_Stats(bool, default false)
68 Whether to use fast stats. If enabled this will skip statistics
69 counters collection for per client and per export.
70
71 Enable_FSAL_Stats(bool, default false)
72 Whether to count and collect FSAL specific performance statis‐
73 tics. Enable_FSAL_Stats can be enabled or disabled dynamically
74 via ganesha_stats
75
76 Enable_FULLV3_Stats(bool, default false)
77 Whether to count and collect "detailed statistics" for NFSv3.
78 Enable_FULLV3_Stats can be enabled or disabled dynamically via
79 ganesha_stats.
80
81 Enable_FULLV4_Stats(bool, default false)
82 Whether to count and collect "detailed statistics" for NFSv4.
83 Enable_FULLV4_Stats can be enabled or disabled dynamically via
84 ganesha_stats.
85
86 Enable_CLNT_AllOps_Stats(bool, default false)
87 Whether to count and collect statistics for all NFS operations
88 requested by NFS clients. Enable_CLNT_AllOps_Stats can be en‐
89 abled or disabled dynamically via ganesha_stats.
90
91 Short_File_Handle(bool, default false)
92 Whether to use short NFS file handle to accommodate VMware NFS
93 client. Enable this if you have a VMware NFSv3 client. VMware
94 NFSv3 client has a max limit of 56 byte file handles.
95
96 Manage_Gids_Expiration(int64, range 0 to 7*24*60*60, default 30*60)
97 How long the server will trust information it got by calling
98 getgroups() when "Manage_Gids = TRUE" is used in a export entry.
99
100 heartbeat_freq(uint32, range 0 to 5000 default 1000)
101 Frequency of dbus health heartbeat in ms.
102
103 Enable_NLM(bool, default true)
104 Whether to support the Network Lock Manager protocol.
105
106 Blocked_Lock_Poller_Interval(int64, range 0 to 180, default 10)
107 Polling interval for blocked lock polling thread
108
109 Protocols(enum list, default [3,4,9P])
110
111 Possible values:
112 3, 4, NFS3, NFS4, V3, V4, NFSv3, NFSv4, 9P
113
114 The protocols that Ganesha will listen for. This is a hard
115 limit, as this list determines which sockets are opened. This
116 list can be restricted per export, but cannot be expanded.
117
118 NSM_Use_Caller_Name(bool, default false)
119 Whether to use the supplied name rather than the IP address in
120 NSM operations.
121
122 Clustered(bool, default true)
123 Whether this Ganesha is part of a cluster of Ganeshas. Its ven‐
124 dor specific option.
125
126 fsid_device(bool, default false)
127 Whether to use device major/minor for fsid.
128
129 mount_path_pseudo(bool, default false)
130 Whether to use Pseudo (true) or Path (false) for NFS v3 and 9P
131 mounts.
132
133 This option defaults to false for backward compatibility, how‐
134 ever, for new setups, it's strongly recommended to be set true
135 since it then means the same server path for the mount is used
136 for both v3 and v4.x.
137
138 Note that as an export related option, it seems very desireable
139 to be able to change this on config reload, unfortunately, at
140 the moment it is NOT changeable on config reload. A restart is
141 necessary to change this.
142
143 Dbus_Name_Prefix
144 DBus name prefix. Required if one wants to run multiple ganesha
145 instances on single host. The prefix should be different for ev‐
146 ery ganesha instance. If this is set, the dbus name will be
147 <prefix>.org.ganesha.nfsd
148
149 Enable_UDP(enum, values [False, True, Mount], default True)
150 Whether to create UDP listeners for Mount, NFS, NLM, RQUOTA, and
151 register them with portmapper. Set to false, e.g., to run as
152 non-root. Set to Mount to enable only Mount UDP listener.
153
154 Max_Uid_To_Group_Reqs(uint32, range 0 to INT32_MAX, default 0)
155 Maximum number of concurrent uid2grp requests that can be made
156 by ganesha. In environments with a slow Directory Service
157 Provider, where users are part of large number of groups, and
158 Manage_Gids is set to True, uid2grp queries made by ganesha can
159 fail if a large number of them are made in parallel. This option
160 throttles the number of concurrent uid2grp queries that ganesha
161 makes.
162
163 Enable_V3fh_Validation_For_V4(bool, default false)
164 Set true to enforce when v3 file handle used for v4
165
166 Parameters controlling TCP DRC behavior:
167 DRC_Disabled(bool, default false)
168 Whether to disable the DRC entirely.
169
170 TCP_Npart(uint32, range 1 to 20, default 1)
171 Number of partitions in the tree for the TCP DRC.
172
173 DRC_TCP_Size(uint32, range 1 to 32767, default 1024)
174 Maximum number of requests in a transport's DRC.
175
176 DRC_TCP_Cachesz(uint32, range 1 to 255, default 127)
177 Number of entries in the O(1) front-end cache to a TCP Duplicate
178 Request Cache.
179
180 DRC_TCP_Hiwat(uint32, range 1 to 256, default 64)
181 High water mark for a TCP connection's DRC at which to start re‐
182 tiring entries if we can.
183
184 DRC_TCP_Recycle_Npart(uint32, range 1 to 20, default 7)
185 Number of partitions in the recycle tree that holds per-connec‐
186 tion DRCs so they can be used on reconnection (or recycled.)
187
188 DRC_TCP_Recycle_Expire_S(uint32, range 0 to 60*60, default 600)
189 How long to wait (in seconds) before freeing the DRC of a dis‐
190 connected client.
191
192 DRC_TCP_Checksum(bool, default true)
193 Whether to use a checksum to match requests as well as the XID
194
195 Parameters controlling UDP DRC behavior:
196 DRC_UDP_Npart(uint32, range 1 to 100, default 7)
197 Number of partitions in the tree for the UDP DRC.
198
199 DRC_UDP_Size(uint32, range 512, to 32768, default 32768)
200 Maximum number of requests in the UDP DRC.
201
202 DRC_UDP_Cachesz(uint32, range 1 to 2047, default 599)
203 Number of entries in the O(1) front-end cache to the UDP Dupli‐
204 cate Request Cache.
205
206 DRC_UDP_Hiwat(uint32, range 1 to 32768, default 16384)
207 High water mark for the UDP DRC at which to start retiring en‐
208 tries if we can
209
210 DRC_UDP_Checksum(bool, default true)
211 Whether to use a checksum to match requests as well as the XID.
212
213 Parameters affecting the relation with TIRPC:
214 RPC_Max_Connections(uint32, range 1 to 10000, default 1024)
215 Maximum number of connections for TIRPC.
216
217 RPC_Idle_Timeout_S(uint32, range 0 to 60*60, default 300)
218 Idle timeout (seconds). Default to 300 seconds.
219
220 MaxRPCSendBufferSize(uint32, range 1 to 1048576*9, default 1048576)
221 Size of RPC send buffer.
222
223 MaxRPCRecvBufferSize(uint32, range 1 to 1048576*9, default 1048576)
224 Size of RPC receive buffer.
225
226 RPC_Ioq_ThrdMax(uint32, range 1 to 1024*128 default 200)
227 TIRPC ioq max simultaneous io threads
228
229 RPC_GSS_Npart(uint32, range 1 to 1021, default 13)
230 Partitions in GSS ctx cache table
231
232 RPC_GSS_Max_Ctx(uint32, range 1 to 1048576, default 16384)
233 Max GSS contexts in cache. Default 16k
234
235 RPC_GSS_Max_Gc(uint32, range 1 to 1048576, default 200)
236 Max entries to expire in one idle check
237
238 Parameters for TCP:
239 Enable_TCP_keepalive(bool, default true)
240 Whether tcp sockets should use SO_KEEPALIVE
241
242 TCP_KEEPCNT(UINT32, range 0 to 255, default 0 -> use system defaults)
243 Maximum number of TCP probes before dropping the connection
244
245 TCP_KEEPIDLE(UINT32, range 0 to 65535, default 0 -> use system de‐
246 fautls)
247 Idle time before TCP starts to send keepalive probes
248
249 TCP_KEEPINTVL(INT32, range 0 to 65535, default 0 -> use system de‐
250 faults)
251 Time between each keepalive probe
252
253 NFS_IP_NAME {}
254 Index_Size(uint32, range 1 to 51, default 17)
255 Configuration for hash table for NFS Name/IP map.
256
257 Expiration_Time(uint32, range 1 to 60*60*24, default 3600)
258 Expiration time for ip-name mappings.
259
260 NFS_KRB5 {}
261 PrincipalName(string, default "nfs")
262
263 KeytabPath(path, default )
264 Kerberos keytab.
265
266 CCacheDir(path, default /var/run/ganesha )
267 The ganesha credential cache.
268
269 Active_krb5(bool, default false)
270 Whether to activate Kerberos 5. Defaults to true (if Kerberos
271 support is compiled in)
272
273 NFSv4 {}
274 Graceless(bool, default false)
275 Whether to disable the NFSv4 grace period.
276
277 Lease_Lifetime(uint32, range 0 to 120, default 60)
278 The NFSv4 lease lifetime.
279
280 Grace_Period(uint32, range 0 to 180, default 90)
281 The NFS grace period.
282
283 DomainName(string, default localdomain )
284 Domain to use if we aren't using the nfsidmap.
285
286 IdmapConf(path, default /etc/idmapd.conf )
287 Path to the idmap configuration file.
288
289 UseGetpwnam(bool, default false if using idmap, true otherwise)
290 Whether to use local password (PAM, on Linux) rather than nf‐
291 sidmap.
292
293 Allow_Numeric_Owners(bool, default true)
294 Whether to allow bare numeric IDs in NFSv4 owner and group iden‐
295 tifiers.
296
297 Only_Numeric_Owners(bool, default false)
298 Whether to ONLY use bare numeric IDs in NFSv4 owner and group
299 identifiers.
300
301 Delegations(bool, default false)
302 Whether to allow delegations.
303
304 Deleg_Recall_Retry_Delay(uint32_t, range 0 to 10, default 1)
305 Delay after which server will retry a recall in case of failures
306
307 pnfs_mds(bool, default false)
308 Whether this a pNFS MDS server. For FSAL Gluster, if this is
309 true, set pnfs_mds in gluster block as well.
310
311 pnfs_ds(bool, default false)
312 Whether this a pNFS DS server.
313
314 RecoveryBackend(enum, default fs )
315 Use different backend for client info:
316
317 • fs : filesystem
318
319 • fs_ng: filesystem (better resiliency)
320
321 • rados_kv : rados key-value
322
323 • rados_ng : rados key-value (better resiliency)
324
325 • rados_cluster: clustered rados backend (active/active)
326
327 RecoveryRoot(path, default /var/lib/nfs/ganesha )
328 Specify the root recovery directory for fs or fs_ng recovery
329 backends.
330
331 RecoveryDir(path, default v4recov )
332 Specify the recovery directory name for fs or fs_ng recovery
333 backends.
334
335 RecoveryOldDir(path, v4old )
336 Specify the recovery old directory name for fs recovery backend.
337
338 Minor_Versions(enum list, values [0, 1, 2], default [0, 1, 2])
339 List of supported NFSV4 minor version numbers.
340
341 Slot_Table_Size(uint32, range 1 to 1024, default 64)
342 Size of the NFSv4.1 slot table
343
344 Enforce_UTF8_Validation(bool, default false)
345 Set true to enforce valid UTF-8 for path components and compound
346 tags
347
348 Max_Client_Ids(uint32, range 0 to UINT32_MAX, default 0)
349 Specify a max limit on number of NFS4 ClientIDs supported by the
350 server. With filesystem recovery backend, each ClientID trans‐
351 lates to one directory. With certain workloads, this could re‐
352 sult in reaching inode limits of the filesystem that
353 /var/lib/nfs/ganesha is part of. The above limit can be used as
354 a guardrail to prevent getting into this situation.
355
356 Server_Scope(string, default )
357 Specify the value which is common for all cluster nodes. For
358 e.g., Name of the cluster or cluster-id.
359
360 RADOS_KV {}
361 ceph_conf(string, no default)
362 Connection to ceph cluster, should be file path for ceph config‐
363 uration.
364
365 userid(path, no default)
366 User ID to ceph cluster.
367
368 namespace(string, default NULL)
369 RADOS Namespace in which to store objects
370
371 pool(string, default nfs-ganesha )
372 Pool for client info.
373
374 grace_oid(string, default grace )
375 Name of the object containing the rados_cluster grace DB
376
377 nodeid(string, default result of gethostname())
378 Unique node identifier within rados_cluster
379
380 RADOS_URLS {}
381 ceph_conf(string, no default)
382 Connection to ceph cluster, should be file path for ceph config‐
383 uration.
384
385 userid(path, no default)
386 User ID to ceph cluster.
387
388 watch_url(url, no default)
389 rados:// URL to watch for notifications of config changes. When
390 a notification is received, the server will issue a SIGHUP to
391 itself.
392
393
394
395
396 Jan 28, 2023 GANESHA-CORE-CONFIG(8)