Scroll to navigation

MFSMASTER.CFG(5)   MFSMASTER.CFG(5)

NAME

mfsmaster.cfg - main configuration file for mfsmaster

DESCRIPTION

The file mfsmaster.cfg contains configuration of LizardFS metadata server process.

SYNTAX

Syntax is:

OPTION = VALUE

Lines starting with # character are ignored.

OPTIONS

Configuration options:

PERSONALITY

Current personality of this instance of metadata server. Valid values are master, shadow and ha-cluster-managed. If installation is managed by an HA cluster the only valid value is ha-cluster-managed, otherwise the only valid values are master and shadow, in which case only one metadata server in LizardFS shall have master personality.

PERSONALITY = master means that this instance of metadata server acts as main metadata server govering all file system metadata modifications.

PERSONALITY = shadow means that this instance of metadata server acts as backup metadata server ready for immediate deployment as new master in case of current master failure.

Metadata server personality can be changed at any moment as long as one changes personality from shadow to master, changing personality the other way around is forbidden.

PERSONALITY = ha-cluster-managed means that this instance is managed by HA cluster, server runs in shadow mode as long as its not remotly promoted to master.

DATA_PATH

where to store metadata files and lock file

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

LOCK_MEMORY

whether to perform mlockall() to avoid swapping out mfsmaster 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)

EXPORTS_FILENAME

alternative name of mfsexports.cfg file

TOPOLOGY_FILENAME

alternative name of mfstopology.cfg file

CUSTOM_GOALS_FILENAME

alternative name of mfsgoals.cfg file

PREFER_LOCAL_CHUNKSERVER

If a client mountpoint has a local chunkserver, and a given chunk happens to reside locally, then mfsmaster will list the local chunkserver first. However, when the local client mount is issuing many read(s)/write(s), to many local chunks, these requests can overload the local chunkserver and disk subsystem. Setting this to 0(the default is 1) means that remote chunkservers will be considered as equivalent to the local chunkserver.

This is useful when the network is faster than the disk, and when there is high-IO load on the client mountpoints.

BACK_LOGS

number of metadata change log files (default is 50)

BACK_META_KEEP_PREVIOUS

number of previous metadata files to be kept (default is 1)

AUTO_RECOVERY

when this option is set (equals 1) master will try to recover metadata from changelog when it is being started after a crash; otherwise it will refuse to start and mfsmetarestore should be used to recover the metadata (default is 0)

REPLICATIONS_DELAY_INIT

DEPRECATED - see OPERATIONS_DELAY_INIT

REPLICATIONS_DELAY_DISCONNECT

DEPRECATED - see OPERATIONS_DELAY_DISCONNECT

OPERATIONS_DELAY_INIT

initial delay in seconds before starting chunk operations (default is 300)

OPERATIONS_DELAY_DISCONNECT

chunk operations delay in seconds after chunkserver disconnection (default is 3600)

MATOML_LISTEN_HOST

IP address to listen on for metalogger connections (* means any)

MATOML_LISTEN_PORT

port to listen on for metalogger connections (default is 9419)

MATOML_LOG_PRESERVE_SECONDS

how many seconds of change logs have to be preserved in memory (default is 600; note: logs are stored in blocks of 5k lines, so sometimes real number of seconds may be little bigger; zero disables extra logs storage)

MATOCS_LISTEN_HOST

IP address to listen on for chunkserver connections (* means any)

MATOCS_LISTEN_PORT

port to listen on for chunkserver connections (default is 9420)

MATOCL_LISTEN_HOST

IP address to listen on for client (mount) connections (* means any)

MATOCL_LISTEN_PORT

port to listen on for client (mount) connections (default is 9421)

MATOTS_LISTEN_HOST

IP address to listen on for tapeserver connections (* means any)

MATOTS_LISTEN_PORT

Port to listen on for tapeserver connections (default is 9424)

CHUNKS_LOOP_MAX_CPS

Chunks loop shouldn’t check more chunks per seconds than given number (default is 100000)

CHUNKS_LOOP_MIN_TIME

Chunks loop will check all chunks in specified time (default is 300) unless CHUNKS_LOOP_MAX_CPS will force slower execution.

CHUNKS_LOOP_PERIOD

Time in milliseconds between chunks loop execution (default is 1000).

CHUNKS_LOOP_MAX_CPU

Hard limit on CPU usage by chunks loop (percentage value, default is 60).

CHUNKS_SOFT_DEL_LIMIT

Soft maximum number of chunks to delete on one chunkserver (default is 10)

CHUNKS_HARD_DEL_LIMIT

Hard maximum number of chunks to delete on one chunkserver (default is 25)

CHUNKS_WRITE_REP_LIMIT

Maximum number of chunks to replicate to one chunkserver (default is 2)

CHUNKS_READ_REP_LIMIT

Maximum number of chunks to replicate from one chunkserver (default is 10)

ENDANGERED_CHUNKS_PRIORITY

Percentage of endangered chunks that should be replicated with high priority. Example: when set to 0.2, up to 20% of chunks served in one turn would be extracted from endangered priority queue. When set to 1 (max), no other chunks would be processed as long as there are any endangered chunks in the queue (not advised) (default is 0, i.e. there is no overhead for prioritizing endangered chunks).

ENDANGERED_CHUNKS_MAX_CAPACITY

Max capacity of endangered chunks queue. This value can limit memory usage of master server if there are lots of endangered chunks in the system. This value is ignored if ENDANGERED_CHUNKS_PRIORITY is set to 0. (default is 1Mi, i.e. no more than 1Mi chunks will be kept in a queue).

ACCEPTABLE_DIFFERENCE

A maximum difference between disk usage on chunkservers that doesn’t trigger chunk rebalancing (default is 0.1, i.e. 10%).

CHUNKS_REBALANCING_BETWEEN_LABELS

When balancing disk usage, allow moving chunks between servers with different labels (default is 0, i.e. chunks will be moved only between servers with the same label).

REJECT_OLD_CLIENTS

Reject mfsmounts older than 1.6.0 (0 or 1, default is 0). Note that mfsexports access control is NOT used for those old clients.

GLOBALIOLIMITS_FILENAME

Configuration of global I/O limits (default is no I/O limiting)

GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS

How often mountpoints will request bandwidth allocations under constant, predictable load (default is 0.1)

GLOBALIOLIMITS_ACCUMULATE_MS

After inactivity, no waiting is required to transfer the amount of data equivalent to normal data flow over the period of that many milliseconds (default is 250)

METADATA_CHECKSUM_INTERVAL

how often metadata checksum shall be sent to backup servers (default is: every 50 metadata updates)

METADATA_CHECKSUM_RECALCULATION_SPEED

how fast should metadata be recalculated in background (default : 100 objects per function call)

DISABLE_METADATA_CHECKSUM_VERIFICATION

should checksum verification be disabled while applying changelog

NO_ATIME

when this option is set to 1 inode access time is not updated on every access, otherwise (when set to 0) it is updated (default is 0)

METADATA_SAVE_REQUEST_MIN_PERIOD

minimal time in seconds between metadata dumps caused by requests from shadow masters (default is 1800)

SESSION_SUSTAIN_TIME

Time in seconds for which client session data (e.g. list of open files) should be sustained in the master server after connection with the client was lost. Values between 60 and 604800 (one week) are accepted. (default is 86400)

USE_BDB_FOR_NAME_STORAGE

When this option is set to 1 Berkley DB is used for storing file/directory names in file (DATA_PATH/name_storage.db). By default all strings are kept in system memory. (default is 0)

BDB_NAME_STORAGE_CACHE_SIZE

Size of memory cache (in MB) for file/directory names used by Berkeley DB storage. (default is 10)

AVOID_SAME_IP_CHUNKSERVERS

When this option is set to 1, process of selecting chunkservers for chunks will try to avoid using those that share the same ip. (default is 0)

REDUNDANCY_LEVEL

minimum number of required redundant chunk parts that can be lost before chunk becomes endangered (default is 0)

SNAPSHOT_INITIAL_BATCH_SIZE

This option can be used to specify initial number of snapshotted nodes that will be atomically cloned before enqueuing the task for execution in fixed-sized batches. (default is 1000)

SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT

This option specifies the maximum initial batch size set for snapshot request. (default is 10000)

FILE_TEST_LOOP_MIN_TIME Test files loop will try to check all files in specified time in seconds (default is 3600). It’s possible for the loop to take more time if the master server is busy or the machine doesn’t have enough processing power to make all the needed calculations.

Options below are mandatory for all Shadow instances:

MASTER_HOST

address of the host running LizardFS metadata server that currently acts as master

MASTER_PORT

port number where LizardFS metadata server currently running as master listens for connections from 'shadow’s and metaloggers (default is 9420)

MASTER_RECONNECTION_DELAY

delay in seconds before trying to reconnect to metadata server after disconnection (default is 1)

MASTER_TIMEOUT

timeout (in seconds) for metadata server connections (default is 60)

LOAD_FACTOR_PENALTY

When set, percentage of load will be added to chunkserver disk usage to determine most fitting chunkserver. Heavy loaded chunkservers will be picked for operations less frequently. (default is 0, correct values are in range from 0 to 0.5)

NOTES

Chunks in master are tested in loop. Speed (or frequency) is regulated by two options CHUNKS_LOOP_MIN_TIME and CHUNKS_LOOP_MAX_CPS. First defines minimal time of the loop and second maximal number of chunk tests per second. Typically at the beginning, when number of chunks is small, time is constant, regulated by CHUNK_LOOP_MIN_TIME, but when number of chunks became bigger then time of loop can increase according to CHUNKS_LOOP_MAX_CPS.

Deletion limits are defined as soft and hard limit. When number of chunks to delete increases from loop to loop then current limit can be temporary increased above soft limit, but never above hard limit.

COPYRIGHT

Copyright 2008-2009 Gemius SA, 2013-2017 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

mfsmaster(8), mfsexports.cfg(5), mfstopology.cfg(5)

03/11/2019