mfschunkserver.cfg(5)
=====================

== NAME

mfschunkserver.cfg - main configuration file for *mfschunkserver*

== DESCRIPTION

The file *mfschunkserver.cfg* contains configuration of LizardFS chunkserver process.

== SYNTAX

Syntax is:

'OPTION' *=* 'VALUE'::
Lines starting with *#* character are ignored.

== OPTIONS

Configuration options:

*DATA_PATH*::
where to store files with usage statistics and daemon lock file

*LABEL*::
the label of this chunkserver (for tiering)

*WORKING_USER*::
user to run daemon as

*WORKING_GROUP*::
group to run daemon as (optional - 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)

*NICE_LEVEL*::
nice level to run daemon with (default is -19 if possible; note: process must be started as root to
increase priority)

*MASTER_HOST*::
address of LizardFS master host to connect with (default is mfsmaster)

*MASTER_PORT*::
number of LizardFS master port to connect with (default is 9420)

*MASTER_RECONNECTION_DELAY*::
delay in seconds before trying to reconnect to the master server after disconnection (default is 5)

*MASTER_TIMEOUT*::
timeout (in seconds) for the master server connection (default is 60, minimum is 0.01)

*BIND_HOST*::
local address to use for connecting with the master server (default is ***,
i.e. default local address)

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

*CSSERV_TIMEOUT*::
timeout (in seconds) for client (mount) connections (default is 5)

*HDD_CONF_FILENAME*::
alternative name of *mfshdd.cfg* file

*HDD_LEAVE_SPACE_DEFAULT*::
free space threshold to set volume as 100% utilized when there is less than given amount of free
space left (default is "4GiB"). This number is always added to the used disk space reported by
chunkserver.

*HDD_TEST_FREQ*::
chunk test period in seconds (default is 10)

*HDD_ADVISE_NO_CACHE*::
whether to remove each chunk from page when closing it to reduce cache pressure
generated by chunkserver (default is 0, i.e. no)

*HDD_PUNCH_HOLES*::
if enabled then chunkserver detects zero values in chunk data and frees
corresponding file blocks (decreasing file system usage). This option works only on Linux
with file systems supporting punching holes (XFS, ext4, Btrfs, tmpfs)

*ENABLE_LOAD_FACTOR*::
if enabled, chunkserver will send periodical reports of its I/O load to master,
which will be taken into consideration when picking chunkservers for I/O operations.

*REPLICATION_BANDWIDTH_LIMIT_KBPS*::
limit how many kilobytes can be replicated from other chunkservers to this chunkserver in every
second (by default undefined, i.e. no limits)

*NR_OF_NETWORK_WORKERS*::
number of threads which handle (in a round-robin manner) connections with clients (default is 1);
these threads are responsible for reading from sockets and coping data from internal buffers to
sockets

*NR_OF_HDD_WORKERS_PER_NETWORK_WORKER*::
number of threads that each network worker may use to do disk operations like opening chunks,
reading or writing them (default is 2)

*READ_AHEAD_KB*::
additional number of kilobytes which should be passed to posix_fadvise(POSIX_FADV_WILLNEED)
before reading data from a chunk (default is 0, i.e. use posix_fadvise only with the amount
of data that is really needed; the value is aligned down to 64 KiB)

*MAX_READ_BEHIND_KB*::
try to fix out-of-order read requests; the value tells how much of skipped data to read if an
offset of some read operation is greater than the offset where the previos operation finished
(default is 0, i.e. don't read any skipped data; the value is aligned down to 64 KiB)

*CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT*::
whether to create new chunks in the MooseFS format (signature + <checksum>* + <data block>*) or in
the newer interleaved format ([<checksum> <data block>]*). (Default is 1, i.e. new chunks are created
in MooseFS format)

*PERFORM_FSYNC*::
call fsync() after a chunk is modified (default is 1, i.e. enabled)

== COPYRIGHT

Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o.

LizardFS 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 3.

LizardFS 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 LizardFS. If not, see
<http://www.gnu.org/licenses/>.

== SEE ALSO

mfschunkserver(8), mfshdd.cfg(5)
