This commit makes the following replication timeouts configurable: - total timeout (previously - 60s); - wave timeout (previously - 300ms); - connection timeout (previously - 1s). These changes allow replications to succeed even on very slow networks, i.e. ones slower than 1MBps bandwidth and >1s TCP handshake time. Change-Id: I81e910b94e2ab42adbad41261e997ae37ace25ce
154 lines
5.4 KiB
Plaintext
154 lines
5.4 KiB
Plaintext
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)
|
|
|
|
*REPLICATION_TOTAL_TIMEOUT_MS*::
|
|
total timeout for single replication operation. Replications that take longer than that
|
|
are considered failed and are immediately aborted (default: 60000)
|
|
|
|
*REPLICATION_CONNECTION_TIMEOUT_MS*::
|
|
connection for single replication operation. If connecting to another chunkserver takes longer
|
|
than this timeout, the operation is considered failed and is immediately aborted (default: 1000)
|
|
|
|
*REPLICATION_WAVE_TIMEOUT_MS*::
|
|
*ADVANCED*:: timeout for single wave in replication. After this timeout, next wave
|
|
of read requests is sent to other chunkservers (default: 500)
|
|
|
|
== 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)
|