'\" t .\" Title: mfsmaster.cfg .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 03/11/2019 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "MFSMASTER\&.CFG" "5" "03/11/2019" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" mfsmaster.cfg \- main configuration file for mfsmaster .SH "DESCRIPTION" .sp The file \fBmfsmaster\&.cfg\fR contains configuration of LizardFS metadata server process\&. .SH "SYNTAX" .sp Syntax is: .sp \fIOPTION\fR \fB=\fR \fIVALUE\fR .sp Lines starting with \fB#\fR character are ignored\&. .SH "OPTIONS" .sp Configuration options: .PP \fBPERSONALITY\fR .RS 4 Current \fIpersonality\fR of this instance of metadata server\&. Valid values are \fImaster\fR, \fIshadow\fR and \fIha\-cluster\-managed\fR\&. If installation is managed by an HA cluster the only valid value is \fIha\-cluster\-managed\fR, otherwise the only valid values are \fImaster\fR and \fIshadow\fR, in which case only one metadata server in LizardFS shall have \fImaster\fR personality\&. PERSONALITY = \fImaster\fR means that this instance of metadata server acts as main metadata server govering all file system metadata modifications\&. PERSONALITY = \fIshadow\fR means that this instance of metadata server acts as backup metadata server ready for immediate deployment as new \fImaster\fR in case of current \fImaster\fR failure\&. Metadata server personality can be changed at any moment as long as one changes personality from \fIshadow\fR to \fImaster\fR, changing personality the other way around is forbidden\&. PERSONALITY = \fIha\-cluster\-managed\fR means that this instance is managed by HA cluster, server runs in \fIshadow\fR mode as long as its not remotly promoted to \fImaster\fR\&. .RE .PP \fBDATA_PATH\fR .RS 4 where to store metadata files and lock file .RE .PP \fBWORKING_USER\fR .RS 4 user to run daemon as .RE .PP \fBWORKING_GROUP\fR .RS 4 group to run daemon as (optional \- if empty then default user group will be used) .RE .PP \fBSYSLOG_IDENT\fR .RS 4 name of process to place in syslog messages (default is mfsmaster) .RE .PP \fBLOCK_MEMORY\fR .RS 4 whether to perform mlockall() to avoid swapping out mfsmaster process (default is 0, i\&.e\&. no) .RE .PP \fBNICE_LEVEL\fR .RS 4 nice level to run daemon with (default is \-19 if possible; note: process must be started as root to increase priority) .RE .PP \fBEXPORTS_FILENAME\fR .RS 4 alternative name of \fBmfsexports\&.cfg\fR file .RE .PP \fBTOPOLOGY_FILENAME\fR .RS 4 alternative name of \fBmfstopology\&.cfg\fR file .RE .PP \fBCUSTOM_GOALS_FILENAME\fR .RS 4 alternative name of \fBmfsgoals\&.cfg\fR file .RE .PP \fBPREFER_LOCAL_CHUNKSERVER\fR .RS 4 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\&. .RE .PP \fBBACK_LOGS\fR .RS 4 number of metadata change log files (default is 50) .RE .PP \fBBACK_META_KEEP_PREVIOUS\fR .RS 4 number of previous metadata files to be kept (default is 1) .RE .PP \fBAUTO_RECOVERY\fR .RS 4 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 \fImfsmetarestore\fR should be used to recover the metadata (default is 0) .RE .PP \fBREPLICATIONS_DELAY_INIT\fR .RS 4 DEPRECATED \- see \fBOPERATIONS_DELAY_INIT\fR .RE .PP \fBREPLICATIONS_DELAY_DISCONNECT\fR .RS 4 DEPRECATED \- see \fBOPERATIONS_DELAY_DISCONNECT\fR .RE .PP \fBOPERATIONS_DELAY_INIT\fR .RS 4 initial delay in seconds before starting chunk operations (default is 300) .RE .PP \fBOPERATIONS_DELAY_DISCONNECT\fR .RS 4 chunk operations delay in seconds after chunkserver disconnection (default is 3600) .RE .PP \fBMATOML_LISTEN_HOST\fR .RS 4 IP address to listen on for metalogger connections (\fB*\fR means any) .RE .PP \fBMATOML_LISTEN_PORT\fR .RS 4 port to listen on for metalogger connections (default is 9419) .RE .PP \fBMATOML_LOG_PRESERVE_SECONDS\fR .RS 4 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) .RE .PP \fBMATOCS_LISTEN_HOST\fR .RS 4 IP address to listen on for chunkserver connections (\fB*\fR means any) .RE .PP \fBMATOCS_LISTEN_PORT\fR .RS 4 port to listen on for chunkserver connections (default is 9420) .RE .PP \fBMATOCL_LISTEN_HOST\fR .RS 4 IP address to listen on for client (mount) connections (\fB*\fR means any) .RE .PP \fBMATOCL_LISTEN_PORT\fR .RS 4 port to listen on for client (mount) connections (default is 9421) .RE .PP \fBMATOTS_LISTEN_HOST\fR .RS 4 IP address to listen on for tapeserver connections (\fB*\fR means any) .RE .PP \fBMATOTS_LISTEN_PORT\fR .RS 4 Port to listen on for tapeserver connections (default is 9424) .RE .PP \fBCHUNKS_LOOP_MAX_CPS\fR .RS 4 Chunks loop shouldn\(cqt check more chunks per seconds than given number (default is 100000) .RE .PP \fBCHUNKS_LOOP_MIN_TIME\fR .RS 4 Chunks loop will check all chunks in specified time (default is 300) unless \fBCHUNKS_LOOP_MAX_CPS\fR will force slower execution\&. .RE .PP \fBCHUNKS_LOOP_PERIOD\fR .RS 4 Time in milliseconds between chunks loop execution (default is 1000)\&. .RE .PP \fBCHUNKS_LOOP_MAX_CPU\fR .RS 4 Hard limit on CPU usage by chunks loop (percentage value, default is 60)\&. .RE .PP \fBCHUNKS_SOFT_DEL_LIMIT\fR .RS 4 Soft maximum number of chunks to delete on one chunkserver (default is 10) .RE .PP \fBCHUNKS_HARD_DEL_LIMIT\fR .RS 4 Hard maximum number of chunks to delete on one chunkserver (default is 25) .RE .PP \fBCHUNKS_WRITE_REP_LIMIT\fR .RS 4 Maximum number of chunks to replicate to one chunkserver (default is 2) .RE .PP \fBCHUNKS_READ_REP_LIMIT\fR .RS 4 Maximum number of chunks to replicate from one chunkserver (default is 10) .RE .PP \fBENDANGERED_CHUNKS_PRIORITY\fR .RS 4 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)\&. .RE .PP \fBENDANGERED_CHUNKS_MAX_CAPACITY\fR .RS 4 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)\&. .RE .PP \fBACCEPTABLE_DIFFERENCE\fR .RS 4 A maximum difference between disk usage on chunkservers that doesn\(cqt trigger chunk rebalancing (default is 0\&.1, i\&.e\&. 10%)\&. .RE .PP \fBCHUNKS_REBALANCING_BETWEEN_LABELS\fR .RS 4 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)\&. .RE .PP \fBREJECT_OLD_CLIENTS\fR .RS 4 Reject \fBmfsmount\fRs older than 1\&.6\&.0 (0 or 1, default is 0)\&. Note that \fBmfsexports\fR access control is NOT used for those old clients\&. .RE .PP \fBGLOBALIOLIMITS_FILENAME\fR .RS 4 Configuration of global I/O limits (default is no I/O limiting) .RE .PP \fBGLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS\fR .RS 4 How often mountpoints will request bandwidth allocations under constant, predictable load (default is 0\&.1) .RE .PP \fBGLOBALIOLIMITS_ACCUMULATE_MS\fR .RS 4 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) .RE .PP \fBMETADATA_CHECKSUM_INTERVAL\fR .RS 4 how often metadata checksum shall be sent to backup servers (default is: every 50 metadata updates) .RE .PP \fBMETADATA_CHECKSUM_RECALCULATION_SPEED\fR .RS 4 how fast should metadata be recalculated in background (default : 100 objects per function call) .RE .PP \fBDISABLE_METADATA_CHECKSUM_VERIFICATION\fR .RS 4 should checksum verification be disabled while applying changelog .RE .PP \fBNO_ATIME\fR .RS 4 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) .RE .PP \fBMETADATA_SAVE_REQUEST_MIN_PERIOD\fR .RS 4 minimal time in seconds between metadata dumps caused by requests from shadow masters (default is 1800) .RE .PP \fBSESSION_SUSTAIN_TIME\fR .RS 4 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) .RE .PP \fBUSE_BDB_FOR_NAME_STORAGE\fR .RS 4 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) .RE .PP \fBBDB_NAME_STORAGE_CACHE_SIZE\fR .RS 4 Size of memory cache (in MB) for file/directory names used by Berkeley DB storage\&. (default is 10) .RE .PP \fBAVOID_SAME_IP_CHUNKSERVERS\fR .RS 4 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) .RE .PP \fBREDUNDANCY_LEVEL\fR .RS 4 minimum number of required redundant chunk parts that can be lost before chunk becomes endangered (default is 0) .RE .PP \fBSNAPSHOT_INITIAL_BATCH_SIZE\fR .RS 4 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) .RE .PP \fBSNAPSHOT_INITIAL_BATCH_SIZE_LIMIT\fR .RS 4 This option specifies the maximum initial batch size set for snapshot request\&. (default is 10000) .RE .sp \fBFILE_TEST_LOOP_MIN_TIME\fR Test files loop will try to check all files in specified time in seconds (default is 3600)\&. It\(cqs possible for the loop to take more time if the master server is busy or the machine doesn\(cqt have enough processing power to make all the needed calculations\&. .sp Options below are mandatory for all Shadow instances: .PP \fBMASTER_HOST\fR .RS 4 address of the host running LizardFS metadata server that currently acts as \fImaster\fR .RE .PP \fBMASTER_PORT\fR .RS 4 port number where LizardFS metadata server currently running as \fImaster\fR listens for connections from \*(Aqshadow\(cqs and metaloggers (default is 9420) .RE .PP \fBMASTER_RECONNECTION_DELAY\fR .RS 4 delay in seconds before trying to reconnect to metadata server after disconnection (default is 1) .RE .PP \fBMASTER_TIMEOUT\fR .RS 4 timeout (in seconds) for metadata server connections (default is 60) .RE .PP \fBLOAD_FACTOR_PENALTY\fR .RS 4 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) .RE .SH "NOTES" .sp Chunks in master are tested in loop\&. Speed (or frequency) is regulated by two options \fBCHUNKS_LOOP_MIN_TIME\fR and \fBCHUNKS_LOOP_MAX_CPS\fR\&. 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 \fBCHUNK_LOOP_MIN_TIME\fR, but when number of chunks became bigger then time of loop can increase according to \fBCHUNKS_LOOP_MAX_CPS\fR\&. .sp Deletion limits are defined as \fIsoft\fR and \fIhard\fR 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\&. .SH "COPYRIGHT" .sp Copyright 2008\-2009 Gemius SA, 2013\-2017 Skytechnology sp\&. z o\&.o\&. .sp 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\&. .sp 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\&. .sp You should have received a copy of the GNU General Public License along with LizardFS\&. If not, see http://www\&.gnu\&.org/licenses/\&. .SH "SEE ALSO" .sp mfsmaster(8), mfsexports\&.cfg(5), mfstopology\&.cfg(5)