1MFSGOALS.CFG(5)                                                MFSGOALS.CFG(5)
2
3
4

NAME

6       mfsgoals.cfg - replication goals configuration file
7

DESCRIPTION

9       The file mfsgoals.cfg contains definitions of the replication goals.
10

SYNTAX

12       Syntax is:
13
14       id name : $type { label ... } id name : label ...
15
16       The # character starts comments.
17

DETAILS

19       There are 40 replication goals, with ids between 1 and 40, inclusive.
20       Each file stored on the filesystem refers to some goal id and is
21       replicated according to the goal currently associated with this id.
22
23       By default, goal 1 means one copy on any chunkserver, goal 2 means two
24       copies on any two chunkservers and so on, until 5 - which is the
25       maximal default number of copies. The purpose of mfsgoals.cfg is to
26       override this behavior, when desired. The file is a list of goal
27       definitions, each consisting of id, name and a list of labels. The
28       maximal length of this list is 40 labels.
29
30       id indicates the goal id to be redefined. If some files are already
31       assigned this goal id, their effective goal will change.
32
33       name is a human readable name used by the user interface tools
34       (mfssetgoal(1), mfsgetgoal(1)). name can consist of up to 32
35       alphanumeric characters: a-z, A-Z, 0-9, _.
36
37       type specifies goal type - currently supported types are:
38
39std - for each file using this goal and for each label, the system
40           will try to maintain a copy of the file on some chunkserver with
41           this label.
42
43xorN - for each file using this goal, the system will split the
44           file into N+1 parts (N ordinary + 1 parity). For reading, any N of
45           the parts are necessary. If labels are specified, parts will be
46           kept on chunkservers with these labels. Otherwise, default wildcard
47           labels will be used. N can be in range from 2 to 9.
48
49ec(K,M) - for each file using this goal, the system will split the
50           file into K + M parts (K data parts and M parity). For reading, any
51           K of the parts are necessary. If labels are specified, parts will
52           be kept on chunkservers with these labels. Otherwise, default
53           wildcard labels will be used. K can be in range from 2 to 32 and M
54           from 1 to 32. If the type is unspecified is is assumed to be std.
55
56       The list of labels is a list of chunkserver labels as defined in
57       mfschunkserver.cfg(5). label can consist of up to 32 alphanumeric
58       characters: a-z, A-Z, 0-9, _.
59
60       One label may occur multiple times - in such case the system will
61       create one copy per each occurrence. The special label _ means "a copy
62       on any chunkserver".
63
64       Note that changing the definition of a goal in mfsgoals.cfg affects all
65       files which currently use given goal id.
66

EXAMPLES

68       Some example goal definitions:
69
70       3 3 : _ _ _ # one of the default goals (three copies anywhere)
71
72       8 not_important_file : _ # only one copy
73
74       11 important_file : _ _
75
76       12 local_copy_on_mars : mars _ # at least one copy in the Martian
77       datacenter
78
79       13 cached_on_ssd : ssd _
80
81       14 very_important_file : _ _ _ _
82
83       15 default_xor3 : $xor3
84
85       16 fast_read : $xor2 { ssd ssd hdd }
86
87       17 xor5 : $xor5 { hdd } # at least one part on hdd
88
89       18 first_ec : $ec(3,1)
90
91       19 ec32_ssd : $ec(3,2) { ssd ssd ssd ssd ssd } # all parts on ssd
92
93       20 ec53_mixed : $ec(5,3) { hdd ssd hdd _ _ _ _ _ } # two parts on hdd
94       and one part on ssd
95

SNAPSHOT FILES

97       Snapshot shares data with the original file until the file receives
98       modification and diverges from the snapshotted version. If some
99       snapshot has different goal than its original file, any shared data are
100       stored according to the goal with higher id of the two.
101
103       Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o.
104
105       LizardFS is free software: you can redistribute it and/or modify it
106       under the terms of the GNU General Public License as published by the
107       Free Software Foundation, version 3.
108
109       LizardFS is distributed in the hope that it will be useful, but WITHOUT
110       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
111       FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
112       for more details.
113
114       You should have received a copy of the GNU General Public License along
115       with LizardFS. If not, see http://www.gnu.org/licenses/.
116

SEE ALSO

118       mfsmaster.cfg(5)
119
120
121
122                                  02/09/2023                   MFSGOALS.CFG(5)
Impressum