mfschunkserver.cfg(5)
π mfschunkserver.cfg π
okay bestie, this is mfschunkserver.cfg from section 5 of the manual, and it's the main configuration file for mfschunkserver in MooseFS. yes, the whole vibe of your chunkserver lives in here. let's get into it π«Ά
β¨ DESCRIPTION β¨
The file mfschunkserver.cfg contains the configuration of the MooseFS chunkserver process. that's it, that's the whole thing β it's lowkey the personality file for your chunkserver π
π SYNTAX π
The syntax is literally just this:
OPTION = VALUE
Lines starting with # are ignored as comments. iconic. so simple, so clean.
πΈ STARTUP OPTIONS πΈ
heads up bestie: changes in this section require a full process restart. not a reload, a restart. no shortcuts π
WORKING_USERβ the user to run the daemon as.WORKING_GROUPβ the group to run the daemon as. this one's optional β if it's empty, the default user group gets used instead.SYSLOG_IDENTβ the name of the process that shows up in syslog messages. default ismfschunkserver.LOCK_MEMORYβ whether to performmlockall()so themfschunkserverprocess doesn't get swapped out. default is0, aka no.LIMIT_GLIBC_MALLOC_ARENASβ limit malloc arenas to the value you give, which stops the server from eating a huge amount of virtual memory (Linux only, default is4).DISABLE_OOM_KILLERβ disable the out of memory killer (Linux only, default is1).NICE_LEVELβ the nice level to run the daemon with. default is-19. note: the process has to be started as root to increase priority, and if setting the priority fails, the process just keeps the nice level it started with. πFILE_UMASKβ sets the default umask for group and others (the user always gets0, no exceptions). default is027β blocks write for group and blocks everything for others.DATA_PATHβ where to store the daemon lock file.ALLOW_STARTING_WITH_INVALID_DISKSβ when set to one, the chunkserver will not abort startup even when incorrect entries are found in themfshdd.cfgfile. default is0β meaning don't start with invalid entries. queen of boundaries, honestly.CAN_USE_MMAPβ usingmmapfor allocation can slightly reduce RAM usage and give a slight performance boost, but on certain architectures/kernels it can lead to problems β especially on architectures with more than one physical CPU. default is0. > proceed with caution bestie, this one's giving risky π
π RUNTIME OPTIONS π
good news: changes in this section only need a process reload. much more chill β¨
HDD_CONF_FILENAMEβ alternate location/name of themfshdd.cfgfile.HDD_TEST_SPEEDβ the speed of background chunk tests, in MB/s per disk (and yes, formally this entry is defined inmfshdd.cfg). the value can be given as a decimal number; default is1.0.HDD_MIN_TEST_INTERVALβ stops chunk integrity testing when the last I/O (test included) happened less thanHDD_MIN_TEST_INTERVALago. default is 1 day. for value formatting, see the TIME section below β°HDD_FADVISE_MIN_TIMEβ if possible, useposix_fadvise(POSIX_DONTNEED)after each chunk test β but only if the last I/O operation happened more thanHDD_FADVISE_MIN_TIMEago. using zero will always performposix_fadvise(flush cache), and using a negative value will never flush cache after tests. this setting is valid only for systems that supportposix_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 is256MiB; examples:0.5GB,.5G,2.56GiB,1256Metc.HDD_REBALANCE_UTILIZATIONβ the percent of total work time the chunkserver is allowed to spend on hdd space rebalancing. default is20.HDD_HIGH_SPEED_REBALANCE_LIMITβ maximum simultaneous writes per disk in high speed disk rebalance (0means use standard rebalance; default is0).HDD_ERROR_TOLERANCE_COUNT,HDD_ERROR_TOLERANCE_PERIODβ how many i/o errors (COUNT) to tolerate in a given amount of seconds (PERIOD) on a single hard drive. if the number of errors exceeds this setting, the offending hard drive gets marked as damaged. defaults are2and600.HDD_FSYNC_BEFORE_CLOSEβ enables/disablesfsyncbefore chunk closing. default is0(off).HDD_SPARSIFY_ON_WRITEβ enables/disables sparsification (skipping leading and trailing zeroz) while writing a new block. default is1(on).HDD_RR_CHUNK_COUNTβ how many chunks should be created in one directory before moving on to the next one. higher values are better with most OSes' caching algorithms, low values lead to more even chunk distribution. default is10000, 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 are250and40.SYSLOG_MIN_LEVELβ the minimum level of messages that will be reported by the chunkserver. levels in order of importance:ERROR,WARNING,NOTICE,INFO,DEBUG(default isINFO).SYSLOG_ELEVATE_TOβ reported messages of a level lower than what's set here get elevated up to this level. (like, ifSYSLOG_MIN_LEVELisDEBUGandSYSLOG_ELEVATE_TOisNOTICE, then allINFOandDEBUGmessages get sent to syslog asNOTICE.) default isNOTICE.
π¦ MASTER CONNECTION OPTIONS π¦
another reload-only section, we love that for us π
LABELSβ labels string defined as a set of letters (case insensitive) separated by coma or semicolon; default is empty β no labels.BIND_HOSTβ the local address to use for master connections. default is*, i.e. the default local address.MASTER_HOSTβ the MooseFS master host. an IP is allowed only in single-master installations; default ismfsmaster.MASTER_PORTβ the MooseFS master command port; default is9420.MASTER_CONTROL_PORTβ (pro only) the MooseFS master control port; default is9419.MASTER_TIMEOUTβ timeout in seconds for master connections (if not0). if this value is zero, the chunkserver initially sets it to10and asks the master for this value. default is0(ask master).MASTER_RECONNECTION_DELAYβ delay in seconds before trying to reconnect to the master after a disconnection (default is5).AUTH_CODEβ authentication string (used only when the master requires authorization).CHUNKS_PER_REGISTER_PACKETβ maximum number of chunks the system will try to put in a single register message (default is1000, limits100-10000).
π CLIENTS CONNECTION OPTIONS π
reload only, again. we stay winning β¨
CSSERV_LISTEN_HOSTβ the IP address to listen on for client (mount) connections (*means any).CSSERV_LISTEN_PORTβ the port to listen on for client (mount) connections (default is9422).
β NOTES β
β° TIME β°
ok so 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:
#.#TwhereTis one of:s-seconds,m-minutes,h-hours,d-days orw-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#mis still a valid definition, but#m#dis not). ranges:s,m:0to59,h:0to23,d:0to6,wis unlimited and the first definition is also always unlimited (i.e. for#d#h#m,dwill be unlimited).
Notice! For the variableHDD_KEEP_DUPLICATES_HOURSonlyh,dandwtime 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 π₯
and that's the whole page bestie π this was MooseFS 4.59.2-1, from May 2026 β go configure something iconic, you've got this ππ¦β¨
π¦ where this page comes from
- arch rolling: moosefs 4.59.2-2 Β· GPL-2.0-only
- nixos 26.05: moosefs 4.59.2
- nixpkgs unstable: moosefs 4.59.2
- ubuntu stonking: moosefs-chunkserver 4.59.2-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms