Skip to main content

mfschunkserver.cfg

Main configuration file for mfschunkserver.

This page reproduces the manual page mfschunkserver.cfg(5) as the product ships it: the text man mfschunkserver.cfg prints on a machine where the packages are installed. It is not edited here, and where it disagrees with the rest of this documentation, the documentation is the side kept against the sources. What the subject is: mfschunkserver.cfg.

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 (default is mfs)

  • 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 (default is /var/lib/mfs)

  • 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 slight 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 (default is /etc/mfs/mfshdd.cfg)

  • HDD_TEST_SPEED
    Speed of background chunk tests in MiB/s per disk (formally an 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_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_IO_SECONDS_TO_ERROR
    consider i/o operations, that last more than the defined number of seconds, as i/o errors; 0 (default) disables this option (length of i/o is never counted as error); i/o errors generated via this option count toward the error tolerance counters (previous two options), but do not cause i/o error for the client performing the operation

  • 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 zeros) 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 comma 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 chunkserver port; default is 9420

  • MASTER_CONTROL_PORT
    (pro only) MooseFS master control (supervisor) 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 (default is *, means any)

  • CSSERV_LISTEN_PORT
    port to listen on for client (mount) connections (default is 9422)

Notes​

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 omitted, 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 to 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)

See also​

mfschunkserver(8), mfshdd.cfg(5)