|OPTION = VALUE|
WORKING_USER user to run daemon as WORKING_GROUP group to run daemon as; optional value - 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; note: process must be started as root to increase priority, if setting of priority fails, process retains the nice level it started with FILE_UMASK set default umask for group and others (user has always 0); default is 027 - block write for group and block all for others DATA_PATH where to store metadata files and lock file EXPORTS_FILENAME alternate location/name of mfsexports.cfg file TOPOLOGY_FILENAME alternate location/name of mfstopology.cfg file LICENCE_FILENAME alternate location/name of mfslicence.bin file (pro version only) BACK_LOGS number of metadata change log files (default is 50) METADATA_SAVE_FREQ how often (in hours) master will store metadata (default is 1) METADATA_DOWNLOAD_FREQ how often (in hours) leader will download metadata from followers (pro version only ; default is 24) BACK_META_KEEP_PREVIOUS number of previous metadata files to be kept (default is 1) CHANGELOG_PRESERVE_SECONDS how many seconds of change logs have to be preserved in memory (default is 1800; this sets the minimum, actual number may be a bit bigger due to logs being kept in 5k blocks; zero disables extra logs storage) MISSING_LOG_CAPACITY how many missing chunks will be stored in master (up to 100*MISSING_LOG_CAPACITY bytes of memory will be allocated ; default value is 100000) MATOML_LISTEN_HOST IP address to listen on for metalogger, masters and supervisors connections (* means any) MATOML_LISTEN_PORT port to listen on for metalogger, masters and supervisors connections MASTER_RECONNECTION_DELAY delay in seconds before next try to reconnect to master-leader if not connected (pro version only ; default is 5) MASTER_TIMEOUT timeout in seconds for master-leader connections (pro version only ; default is 10) BIND_HOST local address to use for connecting with master-leader (pro version only ; default is *, i.e. default local address) MATOCS_LISTEN_HOST IP address to listen on for chunkserver connections (* means any) MATOCS_LISTEN_PORT port to listen on for chunkserver connections MATOCS_TIMEOUT default timeout in seconds for master-chunkserver connection (default is 10) REPLICATIONS_DELAY_INIT initial delay in seconds before starting replications (default is 300) CHUNKS_LOOP_MAX_CPS Chunks loop shouldnt check more chunks per seconds than given number (default is 100000) CHUNKS_LOOP_MIN_TIME Chunks loop shouldnt be done in less seconds than given number (default is 300) 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,1,1,4 - see NOTES) CHUNKS_READ_REP_LIMIT Maximum number of chunks to replicate from one chunkserver (default is 10,5,2,5 - see NOTES) CS_HEAVY_LOAD_THRESHOLD Threshold for chunkserver load. (default is 100 - see NOTES) CS_HEAVY_LOAD_RATIO_THRESHOLD Threshold ratio for chunkserver load (default is 5.0 - see NOTES) CS_HEAVY_LOAD_GRACE_PERIOD Defines how long chunkservers will remain in grace mode (default is 900 - see NOTES) ACCEPTABLE_DIFFERENCE Maximum difference between space usage of chunkservers (deprecated, use ACCEPTABLE_PERCENTAGE_DIFFERENCE instead) ACCEPTABLE_PERCENTAGE_DIFFERENCE Maximum percentage difference between space usage of chunkservers (default is 1 = 1%) PRIORITY_QUEUES_LENGTH Length of priority queues (for endangered, undergoal etc. chunks - chunks that should be processed first - default is 1000000) 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 SESSION_SUSTAIN_TIME How long to sustain a disconnected client session (in seconds; default is 86400 = 1 day) QUOTA_TIME_LIMIT Time limit in seconds for soft quota (default is 604800 = 7 days) ATIME_MODE Set atime modification mode (default is 0 = always modify atime - see NOTES)
Chunks in master are tested in a loop. Speed (or frequency) is regulated by two options CHUNKS_LOOP_MIN_TIME and CHUNKS_LOOP_MAX_CPS. First defines minimal time between iterations of the loop and second defines 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 beccomes bigger then time of loop can increase according to CHUNKS_LOOP_MAX_CPS.
Example: CHUNKS_LOOP_MIN_TIME is set to 300, CHUNKS_LOOP_MAX_CPS is set to 100000 and there is 1000000 (one million) chunks in the system. 1000000/100000 = 10, which is less than 300, so one loop iteration will take 300 seconds. With 1000000000 (one billion) chunks the system needs 10000 seconds for one iteration of the loop.
Deletion limits are defined as soft and hard limit. When number of chunks to delete increases from loop to loop, current limit can be temporary increased above soft limit, but never above hard limit.
Replication limits are divided into four cases:
Usually first number should be grater than or equal to second, second greater than or equal to third, and fourth greater than or equal to third ( 1st >= 2nd >= 3rd <= 4th ). If one number is given, then all limits are set to this number (for backward compatibility).
[bu] first limit is for endangered chunks (chunks with only one copy) [bu] second limit is for undergoal chunks (chunks with number of copies lower than specified goal) [bu] third limit is for rebalance between servers with space usage around arithmetic mean [bu] fourth limit is for rebalance between other servers (very low or very high space usage)
Whenever chunkserver load is higher than CS_HEAVY_LOAD_THRESHOLD and CS_HEAVY_LOAD_RATIO_THRESHOLD times higher than average load, then chunkserver is switched into grace mode. Chunkserver stays in grace mode for CS_HEAVY_LOAD_GRACE_PERIOD seconds.
There are five values for ATIME_MODE (all other values are treated as 0):
[bu] 0 = Always modify atime for files, folders and symlinks. [bu] 1 = Always modify atime but only in case of files (do not modify atime in case of folders and symlinks). [bu] 2 = Modify atime only when it is lower than ctime or mtime and when current time is higher than ctime or mtime respectively, also modify atime when current atime is older than 24h. Do it for all objects during access (like "relatime" option in Linux). [bu] 3 = Same as above but only in case of files. In case of folders and symlinks do not modify atime. [bu] 4 = Never modify atime during access (like "noatime" option).
Copyright (C) 2016 Jakub Kruszona-Zawadzki, Core Technology Sp. z o.o.
This file is part of MooseFS.
MooseFS 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 2 (only).
MooseFS 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 MooseFS; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA or visit http://www.gnu.org/licenses/gpl-2.0.html
|MooseFS 2.0.88-1||MFSMASTER.CFG (5)||March 2016|