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       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 performance statistics. By default the per‐
64              formance 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 desirable
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       Readdir_Res_Size(uint32,    range   4096   to   64*1024*1024,   default
167       64*1024*1024)
168              Response  size  of  readdir  request.   Suggested   values   are
169              4096,8192,16384  and 32768. Recommended 16384(16K) if readdir(ls
170              command) operation performed on directory which has more files.
171
172       Readdir_Max_Count(uint32, range 32 to 1024*1024, default 1024*1024)
173              Maximum number of directory entries returned for a  readdir  re‐
174              quest.   Suggested  values are 4096,8192,16384 and 32768. Recom‐
175              mended 16384(16K) if readdir(ls command) operation performed  on
176              directory which has more files.
177
178       Getattrs_In_Complete_Read(bool, default true)
179              Whether  to  call  extra  getattrs after read, in order to check
180              file size and validate the EOF flag correctness. Needed for ESXi
181              client compatibility when FSAL's don't set it correctly.
182
183   Parameters controlling TCP DRC behavior:
184       DRC_Disabled(bool, default false)
185              Whether to disable the DRC entirely.
186
187       TCP_Npart(uint32, range 1 to 20, default 1)
188              Number of partitions in the tree for the TCP DRC.
189
190       DRC_TCP_Size(uint32, range 1 to 32767, default 1024)
191              Maximum number of requests in a transport's DRC.
192
193       DRC_TCP_Cachesz(uint32, range 1 to 255, default 127)
194              Number of entries in the O(1) front-end cache to a TCP Duplicate
195              Request Cache.
196
197       DRC_TCP_Hiwat(uint32, range 1 to 256, default 64)
198              High water mark for a TCP connection's DRC at which to start re‐
199              tiring entries if we can.
200
201       DRC_TCP_Recycle_Npart(uint32, range 1 to 20, default 7)
202              Number  of partitions in the recycle tree that holds per-connec‐
203              tion DRCs so they can be used on reconnection (or recycled.)
204
205       DRC_TCP_Recycle_Expire_S(uint32, range 0 to 60*60, default 600)
206              How long to wait (in seconds) before freeing the DRC of  a  dis‐
207              connected client.
208
209       DRC_TCP_Checksum(bool, default true)
210              Whether to use a checksum to match requests as well as the XID
211
212   Parameters controlling UDP DRC behavior:
213       DRC_UDP_Npart(uint32, range 1 to 100, default 7)
214              Number of partitions in the tree for the UDP DRC.
215
216       DRC_UDP_Size(uint32, range 512, to 32768, default 32768)
217              Maximum number of requests in the UDP DRC.
218
219       DRC_UDP_Cachesz(uint32, range 1 to 2047, default 599)
220              Number  of entries in the O(1) front-end cache to the UDP Dupli‐
221              cate Request Cache.
222
223       DRC_UDP_Hiwat(uint32, range 1 to 32768, default 16384)
224              High water mark for the UDP DRC at which to start  retiring  en‐
225              tries if we can
226
227       DRC_UDP_Checksum(bool, default true)
228              Whether to use a checksum to match requests as well as the XID.
229
230   Parameters affecting the relation with TIRPC:
231       RPC_Max_Connections(uint32, range 1 to 10000, default 1024)
232              Maximum number of connections for TIRPC.
233
234       RPC_Idle_Timeout_S(uint32, range 0 to 60*60, default 300)
235              Idle timeout (seconds). Default to 300 seconds.
236
237       MaxRPCSendBufferSize(uint32, range 1 to 1048576*9, default 1048576)
238              Size of RPC send buffer.
239
240       MaxRPCRecvBufferSize(uint32, range 1 to 1048576*9, default 1048576)
241              Size of RPC receive buffer.
242
243       RPC_Ioq_ThrdMax(uint32, range 1 to 1024*128 default 200)
244              TIRPC ioq max simultaneous io threads
245
246       RPC_GSS_Npart(uint32, range 1 to 1021, default 13)
247              Partitions in GSS ctx cache table
248
249       RPC_GSS_Max_Ctx(uint32, range 1 to 1048576, default 16384)
250              Max GSS contexts in cache. Default 16k
251
252       RPC_GSS_Max_Gc(uint32, range 1 to 1048576, default 200)
253              Max entries to expire in one idle check
254
255   Parameters for TCP:
256       Enable_TCP_keepalive(bool, default true)
257              Whether tcp sockets should use SO_KEEPALIVE
258
259       TCP_KEEPCNT(UINT32, range 0 to 255, default 0 -> use system defaults)
260              Maximum number of TCP probes before dropping the connection
261
262       TCP_KEEPIDLE(UINT32,  range  0  to  65535,  default 0 -> use system de‐
263       faults)
264              Idle time before TCP starts to send keepalive probes
265
266       TCP_KEEPINTVL(INT32, range 0 to 65535, default  0  ->  use  system  de‐
267       faults)
268              Time between each keepalive probe
269
270   NFS_IP_NAME {}
271       Index_Size(uint32, range 1 to 51, default 17)
272              Configuration for hash table for NFS Name/IP map.
273
274       Expiration_Time(uint32, range 1 to 60*60*24, default 3600)
275              Expiration time for ip-name mappings.
276
277   NFS_KRB5 {}
278       PrincipalName(string, default "nfs")
279
280       KeytabPath(path, default "")
281              Kerberos keytab.
282
283       CCacheDir(path, default "/var/run/ganesha")
284              The ganesha credential cache.
285
286       Active_krb5(bool, default false)
287              Whether  to  activate  Kerberos 5. Defaults to true (if Kerberos
288              support is compiled in)
289
290   NFSv4 {}
291       Graceless(bool, default false)
292              Whether to disable the NFSv4 grace period.
293
294       Lease_Lifetime(uint32, range 0 to 120, default 60)
295              The NFSv4 lease lifetime.
296
297       Grace_Period(uint32, range 0 to 180, default 90)
298              The NFS grace period.
299
300       DomainName(string, default "localdomain")
301              Domain to use if we aren't using the nfsidmap.
302
303       IdmapConf(path, default "/etc/idmapd.conf")
304              Path to the idmap configuration file.
305
306       UseGetpwnam(bool, default false if using idmap, true otherwise)
307              Whether to use local password (PAM, on Linux)  rather  than  nf‐
308              sidmap.
309
310       Allow_Numeric_Owners(bool, default true)
311              Whether to allow bare numeric IDs in NFSv4 owner and group iden‐
312              tifiers.
313
314       Only_Numeric_Owners(bool, default false)
315              Whether to ONLY use bare numeric IDs in NFSv4  owner  and  group
316              identifiers.
317
318       Delegations(bool, default false)
319              Whether to allow delegations.
320
321       Deleg_Recall_Retry_Delay(uint32_t, range 0 to 10, default 1)
322              Delay after which server will retry a recall in case of failures
323
324       pnfs_mds(bool, default false)
325              Whether  this  a  pNFS MDS server.  For FSAL Gluster, if this is
326              true, set pnfs_mds in gluster block as well.
327
328       pnfs_ds(bool, default false)
329              Whether this a pNFS DS server.
330
331       RecoveryBackend(enum, default "fs")
332              Use different backend for client info:
333
334              • fs : filesystem
335
336              • fs_ng: filesystem (better resiliency)
337
338              • rados_kv : rados key-value
339
340              • rados_ng : rados key-value (better resiliency)
341
342              • rados_cluster: clustered rados backend (active/active)
343
344       RecoveryRoot(path, default "/var/lib/nfs/ganesha")
345              Specify the root recovery directory for  fs  or  fs_ng  recovery
346              backends.
347
348       RecoveryDir(path, default "v4recov")
349              Specify  the  recovery  directory  name for fs or fs_ng recovery
350              backends.
351
352       RecoveryOldDir(path, "v4old")
353              Specify the recovery old directory name for fs recovery backend.
354
355       Minor_Versions(enum list, values [0, 1, 2], default [0, 1, 2])
356              List of supported NFSV4 minor version numbers.
357
358       Slot_Table_Size(uint32, range 1 to 1024, default 64)
359              Size of the NFSv4.1 slot table
360
361       Enforce_UTF8_Validation(bool, default false)
362              Set true to enforce valid UTF-8 for path components and compound
363              tags
364
365       Max_Client_Ids(uint32, range 0 to UINT32_MAX, default 0)
366              Specify a max limit on number of NFS4 ClientIDs supported by the
367              server. With filesystem recovery backend, each  ClientID  trans‐
368              lates  to  one directory. With certain workloads, this could re‐
369              sult  in  reaching  inode  limits   of   the   filesystem   that
370              /var/lib/nfs/ganesha  is part of. The above limit can be used as
371              a guardrail to prevent getting into this situation.
372
373       Server_Scope(string, default "")
374              Specify the value which is common for all  cluster  nodes.   For
375              e.g., Name of the cluster or cluster-id.
376
377       Server_Owner(string, default "")
378              Connections  to servers with the same server owner can be shared
379              by the client. This is advertised to the client on EXCHANGE_ID.
380
381   RADOS_KV {}
382       ceph_conf(string, no default)
383              Connection to ceph cluster, should be file path for ceph config‐
384              uration.
385
386       userid(path, no default)
387              User ID to ceph cluster.
388
389       namespace(string, default NULL)
390              RADOS Namespace in which to store objects
391
392       pool(string, default "nfs-ganesha")
393              Pool for client info.
394
395       grace_oid(string, default "grace")
396              Name of the object containing the rados_cluster grace DB
397
398       nodeid(string, default result of gethostname())
399              Unique node identifier within rados_cluster
400
401   RADOS_URLS {}
402       ceph_conf(string, no default)
403              Connection to ceph cluster, should be file path for ceph config‐
404              uration.
405
406       userid(path, no default)
407              User ID to ceph cluster.
408
409       watch_url(url, no default)
410              rados:// URL to watch for notifications of config changes.  When
411              a  notification  is  received, the server will issue a SIGHUP to
412              itself.
413
414
415
416
417                                 Jan 20, 2023           GANESHA-CORE-CONFIG(8)
Impressum