Provided by: lizardfs-master_3.12.0+dfsg-4ubuntu1_amd64 bug

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)

                                            01/19/2020                           MFSMASTER.CFG(5)