mfschunkserver.cfg - main configuration file for
mfschunkserver
The file mfschunkserver.cfg contains configuration of
MooseFS chunkserver process.
Syntax is:
- OPTION =
VALUE
Lines starting with # character are ignored as
comments.
Changes in this section require process restart.
- WORKING_USER
- user to run daemon as
- WORKING_GROUP
- group to run daemon as; optional value - if empty then default user group
will be used
- SYSLOG_IDENT
- name of process to place in syslog messages; default is
mfschunkserver
- LOCK_MEMORY
- whether to perform mlockall() to avoid swapping out mfschunkserver
process; default is 0, i.e. no
- LIMIT_GLIBC_MALLOC_ARENAS
- limit malloc arenas to given value - prevents server from using huge
amount of virtual memory (Linux only, default is 4)
- DISABLE_OOM_KILLER
- disable out of memory killer (Linux only, default is 1)
- NICE_LEVEL
- nice level to run daemon with; default is -19; note: process must be
started as root to increase priority, if setting of priority fails,
process retains the nice level it started with
- FILE_UMASK
- set default umask for group and others (user has always 0); default is 027
- block write for group and block all for others
- DATA_PATH
- where to store daemon lock file
- ALLOW_STARTING_WITH_INVALID_DISKS
- when set to one chunkserver will not abort start even when incorrect
entries are found in 'mfshdd.cfg' file; default is 0 (do not start with
invalid entries)
- CAN_USE_MMAP
- using mmap for allocation can slightly reduce ram usage and give a silight
performance boost, but on certain architectures/kernels can lead to
problems - especially on architectures with more than one physical CPU;
default is 0
Changes in this section require only process reload.
- HDD_CONF_FILENAME
- alternate location/name of mfshdd.cfg file
- HDD_TEST_SPEED
- Speed of background chunk tests in MB/s per disk (formally entry defined
in mfshdd.cfg). Value can be given as a decimal number; default is
1.0
- HDD_MIN_TEST_INTERVAL
- prevents from testing chunk integrity when last I/O (including test) was
performed less than HDD_MIN_TEST_INTERVAL ago; default is 1 day; for value
formatting see TIME
- HDD_FADVISE_MIN_TIME
- If possible use posix_fadvise(POSIX_DONTNEED) after each chunk test (but
only if last I/O operation was performed more than HDD_FADVISE_MIN_TIME
ago). Using zero will always perform posix_fadvise (flush cache) and using
negative value will never flush cache after tests. This setting is valid
only for systems that support posix_fadivise; default is 1 day; for value
formatting see TIME
- HDD_LEAVE_SPACE_DEFAULT
- how much space should be left unused on each hard drive; number format:
[0-9]*(.[0-9]*)?([kMGTPE]|[KMGTPE]i)?B? ; default is 256MiB; examples:
0.5GB, .5G, 2.56GiB, 1256M etc.
- HDD_REBALANCE_UTILIZATION
- percent of total work time the chunkserver is allowed to spend on hdd
space rebalancing; default is 20
- HDD_HIGH_SPEED_REBALANCE_LIMIT
- maximum simultaneous writes per disk in high speed disk rebalance (0 means
use standard rebalance; default is 0)
- HDD_ERROR_TOLERANCE_COUNT,
HDD_ERROR_TOLERANCE_PERIOD
- how many i/o errors (COUNT) to tolerate in given amount of seconds
(PERIOD) on a single hard drive; if the number of errors exceeds this
setting, the offending hard drive will be marked as damaged; defaults are
2 and 600
- HDD_FSYNC_BEFORE_CLOSE
- enables/disables fsync before chunk closing; default is 0 (off)
- HDD_SPARSIFY_ON_WRITE
- enables/disables sparsification (skip leading and trailing zeroz) during
writing new block; default is 1 (on)
- HDD_RR_CHUNK_COUNT
- how many chunks should be created in one directory before moving to the
next one; higher values are better with most OSes caching algorithms, low
values lead to more even chunk distribution; default is 10000 which works
best in most cases
- HDD_KEEP_DUPLICATES_HOURS
- how many hours duplicate chunks should be kept before deleting (default is
one week); changing this value and reloading will reset the counter; for
value formatting see TIME
- WORKERS_MAX,
WORKERS_MAX_IDLE
- maximum number of active workers and maximum number of idle workers;
defaults are 250 and 40
- SYSLOG_MIN_LEVEL
- minimum level of messages that will be reported by chunkserver; levels in
order of importance: ERROR, WARNING, NOTICE, INFO, DEBUG (default is
INFO)
- SYSLOG_ELEVATE_TO
- reported messages of level lower than set by this option will be elevated
to this level (i.e. if SYSLOG_MIN_LEVEL is set to DEBUG and
SYSLOG_ELEVATE_TO is set to NOTICE, all INFO and DEBUG messages
will be sent to syslog as NOTICE ; default is NOTICE)
Changes in this section require only process reload.
- LABELS
- labels string defined as a set of letters (case insensitive) separated by
coma or semicolon; default is empty - no labels
- BIND_HOST
- local address to use for master connections; default is *, i.e. default
local address
- MASTER_HOST
- MooseFS master host, IP is allowed only in single-master installations;
default is mfsmaster
- MASTER_PORT
- MooseFS master command port; default is 9420
- MASTER_CONTROL_PORT
- (pro only) MooseFS master control port; default is 9419
- MASTER_TIMEOUT
- timeout in seconds for master connections (if not 0); If this value is
zero then chunkserver sets it initially to 10 and asks master for this
value. default is 0 (ask master).
- MASTER_RECONNECTION_DELAY
- delay in seconds before trying to reconnect to master after disconnection
(default is 5)
- AUTH_CODE
- authentication string (used only when master requires authorization)
- CHUNKS_PER_REGISTER_PACKET
- maximum number of chunks system will try to put in a single register
message (default is 1000, limits 100-10000)
Changes in this section require only process reload.
- CSSERV_LISTEN_HOST
- IP address to listen on for client (mount) connections (* means
any)
- CSSERV_LISTEN_PORT
- port to listen on for client (mount) connections (default is 9422)
For config variables that define time without requiring a single,
specific unit, time can be defined as a number of seconds (integer) or a
time period in one of two possible formats:
first format: #.#T where T is one of: s-seconds, m-minutes,
h-hours, d-days or w-weeks; fractions of seconds will be rounded to full
seconds
second format: #w#d#h#m#s, any number of definitions can be
ommited, but the remaining definitions must be in order (so #d#m is still a
valid definition, but #m#d is not); ranges: s,m: 0 to 59, h: 0 to 23, d: 0 t
o 6, w is unlimited and the first definition is also always unlimited (i.e.
for #d#h#m d will be unlimited)
Notice! For variable HDD_KEEP_DUPLICATES_HOURS only h,d and
w time units are accepted and a value without a time unit is treated as
hours; fractions are rounded to full hours.
Examples:
1.5h is the same as 1h30m, is the same as 90m, is the same as
5400s, is the same as 5400
2.5d is the same as 2d12h, is the same as 60h; 1d36h is not a
valid time period (h is not the first definition, so it is bound by range 0
to 23)
1.03m is the same as 62s (61.8 seconds will be rounded up to
62)
Copyright (C) 2024 Jakub Kruszona-Zawadzki, Saglabs SA
This file is part of MooseFS.
MooseFS is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation, version 2 (only).
MooseFS is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License
along with MooseFS; if not, write to the Free Software Foundation, Inc., 51
Franklin St, Fifth Floor, Boston, MA 02111-1301, USA or visit
http://www.gnu.org/licenses/gpl-2.0.html
mfschunkserver(8), mfshdd.cfg(5)