mfschunkserver.cfg(5)

NAME
mfschunkserver.cfg - main configuration file for mfschunkserver

DESCRIPTION
The file mfschunkserver.cfg contains configuration of MooseFS chunkserver process.

SYNTAX

Syntax is:

OPTION = VALUE

Lines starting with # character are ignored as comments.

STARTUP OPTIONS
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

RUNTIME OPTIONS
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)

MASTER CONNECTION OPTIONS
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)

CLIENTS CONNECTION OPTIONS
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)

TIME

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
Copyright (C) 2025 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

SEE ALSO
mfschunkserver(8), mfshdd.cfg(5)