1MFSMASTER.CFG(5) MFSMASTER.CFG(5)
2
3
4
6 mfsmaster.cfg - main configuration file for mfsmaster
7
9 The file mfsmaster.cfg contains configuration of LizardFS metadata
10 server process.
11
13 Syntax is:
14
15 OPTION = VALUE
16
17 Lines starting with # character are ignored.
18
20 Configuration options:
21
22 PERSONALITY
23 Current personality of this instance of metadata server. Valid
24 values are master, shadow and ha-cluster-managed. If installation
25 is managed by an HA cluster the only valid value is
26 ha-cluster-managed, otherwise the only valid values are master and
27 shadow, in which case only one metadata server in LizardFS shall
28 have master personality.
29
30 PERSONALITY = master means that this instance of metadata server
31 acts as main metadata server govering all file system metadata
32 modifications.
33
34 PERSONALITY = shadow means that this instance of metadata server
35 acts as backup metadata server ready for immediate deployment as
36 new master in case of current master failure.
37
38 Metadata server personality can be changed at any moment as long as
39 one changes personality from shadow to master, changing personality
40 the other way around is forbidden.
41
42 PERSONALITY = ha-cluster-managed means that this instance is
43 managed by HA cluster, server runs in shadow mode as long as its
44 not remotly promoted to master.
45
46 DATA_PATH
47 where to store metadata files and lock file
48
49 WORKING_USER
50 user to run daemon as
51
52 WORKING_GROUP
53 group to run daemon as (optional - if empty then default user group
54 will be used)
55
56 SYSLOG_IDENT
57 name of process to place in syslog messages (default is mfsmaster)
58
59 LOCK_MEMORY
60 whether to perform mlockall() to avoid swapping out mfsmaster
61 process (default is 0, i.e. no)
62
63 NICE_LEVEL
64 nice level to run daemon with (default is -19 if possible; note:
65 process must be started as root to increase priority)
66
67 EXPORTS_FILENAME
68 alternative name of mfsexports.cfg file
69
70 TOPOLOGY_FILENAME
71 alternative name of mfstopology.cfg file
72
73 CUSTOM_GOALS_FILENAME
74 alternative name of mfsgoals.cfg file
75
76 PREFER_LOCAL_CHUNKSERVER
77 If a client mountpoint has a local chunkserver, and a given chunk
78 happens to reside locally, then mfsmaster will list the local
79 chunkserver first. However, when the local client mount is issuing
80 many read(s)/write(s), to many local chunks, these requests can
81 overload the local chunkserver and disk subsystem. Setting this to
82 0(the default is 1) means that remote chunkservers will be
83 considered as equivalent to the local chunkserver.
84
85 This is useful when the network is faster than the disk, and when
86 there is high-IO load on the client mountpoints.
87
88 BACK_LOGS
89 number of metadata change log files (default is 50)
90
91 BACK_META_KEEP_PREVIOUS
92 number of previous metadata files to be kept (default is 1)
93
94 AUTO_RECOVERY
95 when this option is set (equals 1) master will try to recover
96 metadata from changelog when it is being started after a crash;
97 otherwise it will refuse to start and mfsmetarestore should be used
98 to recover the metadata (default is 0)
99
100 REPLICATIONS_DELAY_INIT
101 DEPRECATED - see OPERATIONS_DELAY_INIT
102
103 REPLICATIONS_DELAY_DISCONNECT
104 DEPRECATED - see OPERATIONS_DELAY_DISCONNECT
105
106 OPERATIONS_DELAY_INIT
107 initial delay in seconds before starting chunk operations (default
108 is 300)
109
110 OPERATIONS_DELAY_DISCONNECT
111 chunk operations delay in seconds after chunkserver disconnection
112 (default is 3600)
113
114 MATOML_LISTEN_HOST
115 IP address to listen on for metalogger connections (* means any)
116
117 MATOML_LISTEN_PORT
118 port to listen on for metalogger connections (default is 9419)
119
120 MATOML_LOG_PRESERVE_SECONDS
121 how many seconds of change logs have to be preserved in memory
122 (default is 600; note: logs are stored in blocks of 5k lines, so
123 sometimes real number of seconds may be little bigger; zero
124 disables extra logs storage)
125
126 MATOCS_LISTEN_HOST
127 IP address to listen on for chunkserver connections (* means any)
128
129 MATOCS_LISTEN_PORT
130 port to listen on for chunkserver connections (default is 9420)
131
132 MATOCL_LISTEN_HOST
133 IP address to listen on for client (mount) connections (* means
134 any)
135
136 MATOCL_LISTEN_PORT
137 port to listen on for client (mount) connections (default is 9421)
138
139 MATOTS_LISTEN_HOST
140 IP address to listen on for tapeserver connections (* means any)
141
142 MATOTS_LISTEN_PORT
143 Port to listen on for tapeserver connections (default is 9424)
144
145 CHUNKS_LOOP_MAX_CPS
146 Chunks loop shouldn’t check more chunks per seconds than given
147 number (default is 100000)
148
149 CHUNKS_LOOP_MIN_TIME
150 Chunks loop will check all chunks in specified time (default is
151 300) unless CHUNKS_LOOP_MAX_CPS will force slower execution.
152
153 CHUNKS_LOOP_PERIOD
154 Time in milliseconds between chunks loop execution (default is
155 1000).
156
157 CHUNKS_LOOP_MAX_CPU
158 Hard limit on CPU usage by chunks loop (percentage value, default
159 is 60).
160
161 CHUNKS_SOFT_DEL_LIMIT
162 Soft maximum number of chunks to delete on one chunkserver (default
163 is 10)
164
165 CHUNKS_HARD_DEL_LIMIT
166 Hard maximum number of chunks to delete on one chunkserver (default
167 is 25)
168
169 CHUNKS_WRITE_REP_LIMIT
170 Maximum number of chunks to replicate to one chunkserver (default
171 is 2)
172
173 CHUNKS_READ_REP_LIMIT
174 Maximum number of chunks to replicate from one chunkserver (default
175 is 10)
176
177 ENDANGERED_CHUNKS_PRIORITY
178 Percentage of endangered chunks that should be replicated with high
179 priority. Example: when set to 0.2, up to 20% of chunks served in
180 one turn would be extracted from endangered priority queue. When
181 set to 1 (max), no other chunks would be processed as long as there
182 are any endangered chunks in the queue (not advised) (default is 0,
183 i.e. there is no overhead for prioritizing endangered chunks).
184
185 ENDANGERED_CHUNKS_MAX_CAPACITY
186 Max capacity of endangered chunks queue. This value can limit
187 memory usage of master server if there are lots of endangered
188 chunks in the system. This value is ignored if
189 ENDANGERED_CHUNKS_PRIORITY is set to 0. (default is 1Mi, i.e. no
190 more than 1Mi chunks will be kept in a queue).
191
192 ACCEPTABLE_DIFFERENCE
193 A maximum difference between disk usage on chunkservers that
194 doesn’t trigger chunk rebalancing (default is 0.1, i.e. 10%).
195
196 CHUNKS_REBALANCING_BETWEEN_LABELS
197 When balancing disk usage, allow moving chunks between servers with
198 different labels (default is 0, i.e. chunks will be moved only
199 between servers with the same label).
200
201 REJECT_OLD_CLIENTS
202 Reject mfsmounts older than 1.6.0 (0 or 1, default is 0). Note that
203 mfsexports access control is NOT used for those old clients.
204
205 GLOBALIOLIMITS_FILENAME
206 Configuration of global I/O limits (default is no I/O limiting)
207
208 GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS
209 How often mountpoints will request bandwidth allocations under
210 constant, predictable load (default is 0.1)
211
212 GLOBALIOLIMITS_ACCUMULATE_MS
213 After inactivity, no waiting is required to transfer the amount of
214 data equivalent to normal data flow over the period of that many
215 milliseconds (default is 250)
216
217 METADATA_CHECKSUM_INTERVAL
218 how often metadata checksum shall be sent to backup servers
219 (default is: every 50 metadata updates)
220
221 METADATA_CHECKSUM_RECALCULATION_SPEED
222 how fast should metadata be recalculated in background (default :
223 100 objects per function call)
224
225 DISABLE_METADATA_CHECKSUM_VERIFICATION
226 should checksum verification be disabled while applying changelog
227
228 NO_ATIME
229 when this option is set to 1 inode access time is not updated on
230 every access, otherwise (when set to 0) it is updated (default is
231 0)
232
233 METADATA_SAVE_REQUEST_MIN_PERIOD
234 minimal time in seconds between metadata dumps caused by requests
235 from shadow masters (default is 1800)
236
237 SESSION_SUSTAIN_TIME
238 Time in seconds for which client session data (e.g. list of open
239 files) should be sustained in the master server after connection
240 with the client was lost. Values between 60 and 604800 (one week)
241 are accepted. (default is 86400)
242
243 USE_BDB_FOR_NAME_STORAGE
244 When this option is set to 1 Berkley DB is used for storing
245 file/directory names in file (DATA_PATH/name_storage.db). By
246 default all strings are kept in system memory. (default is 0)
247
248 BDB_NAME_STORAGE_CACHE_SIZE
249 Size of memory cache (in MB) for file/directory names used by
250 Berkeley DB storage. (default is 10)
251
252 AVOID_SAME_IP_CHUNKSERVERS
253 When this option is set to 1, process of selecting chunkservers for
254 chunks will try to avoid using those that share the same ip.
255 (default is 0)
256
257 REDUNDANCY_LEVEL
258 minimum number of required redundant chunk parts that can be lost
259 before chunk becomes endangered (default is 0)
260
261 SNAPSHOT_INITIAL_BATCH_SIZE
262 This option can be used to specify initial number of snapshotted
263 nodes that will be atomically cloned before enqueuing the task for
264 execution in fixed-sized batches. (default is 1000)
265
266 SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT
267 This option specifies the maximum initial batch size set for
268 snapshot request. (default is 10000)
269
270 FILE_TEST_LOOP_MIN_TIME Test files loop will try to check all files in
271 specified time in seconds (default is 3600). It’s possible for the loop
272 to take more time if the master server is busy or the machine doesn’t
273 have enough processing power to make all the needed calculations.
274
275 Options below are mandatory for all Shadow instances:
276
277 MASTER_HOST
278 address of the host running LizardFS metadata server that currently
279 acts as master
280
281 MASTER_PORT
282 port number where LizardFS metadata server currently running as
283 master listens for connections from 'shadow’s and metaloggers
284 (default is 9420)
285
286 MASTER_RECONNECTION_DELAY
287 delay in seconds before trying to reconnect to metadata server
288 after disconnection (default is 1)
289
290 MASTER_TIMEOUT
291 timeout (in seconds) for metadata server connections (default is
292 60)
293
294 LOAD_FACTOR_PENALTY
295 When set, percentage of load will be added to chunkserver disk
296 usage to determine most fitting chunkserver. Heavy loaded
297 chunkservers will be picked for operations less frequently.
298 (default is 0, correct values are in range from 0 to 0.5)
299
301 Chunks in master are tested in loop. Speed (or frequency) is regulated
302 by two options CHUNKS_LOOP_MIN_TIME and CHUNKS_LOOP_MAX_CPS. First
303 defines minimal time of the loop and second maximal number of chunk
304 tests per second. Typically at the beginning, when number of chunks is
305 small, time is constant, regulated by CHUNK_LOOP_MIN_TIME, but when
306 number of chunks became bigger then time of loop can increase according
307 to CHUNKS_LOOP_MAX_CPS.
308
309 Deletion limits are defined as soft and hard limit. When number of
310 chunks to delete increases from loop to loop then current limit can be
311 temporary increased above soft limit, but never above hard limit.
312
314 Copyright 2008-2009 Gemius SA, 2013-2017 Skytechnology sp. z o.o.
315
316 LizardFS is free software: you can redistribute it and/or modify it
317 under the terms of the GNU General Public License as published by the
318 Free Software Foundation, version 3.
319
320 LizardFS is distributed in the hope that it will be useful, but WITHOUT
321 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
322 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
323 for more details.
324
325 You should have received a copy of the GNU General Public License along
326 with LizardFS. If not, see http://www.gnu.org/licenses/.
327
329 mfsmaster(8), mfsexports.cfg(5), mfstopology.cfg(5)
330
331
332
333 02/09/2023 MFSMASTER.CFG(5)