1GANESHA-CORE-CONFIG(8)            NFS-Ganesha           GANESHA-CORE-CONFIG(8)
2
3
4

NAME

6       ganesha-core-config - NFS Ganesha Core Configuration File
7

SYNOPSIS

9       /etc/ganesha/ganesha.conf
10
11

DESCRIPTION

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