---
name: "mfschunkserver.cfg"
section: "5"
platform: "linux"
package: "moosefs"
version: "4.59.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/mfschunkserver.cfg"
---

# mfschunkserver.cfg(5)

main configuration file for mfschunkserver

## 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)

## 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 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) 2026 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 this program; if not, see \<https://www.gnu.org/licenses/\>.

## SEE ALSO

[**mfschunkserver**(8)](/mfschunkserver/8.md), [**mfshdd.cfg**(5)](/mfshdd.cfg/5.md)
