Provided by: moosefs-master_3.0.116-1ubuntu2_amd64
mfstopology.cfg - MooseFS network topology definitions
The file mfstopology.cfg assigns IP addresses to network locations. This file is optional. If your network is very small (i.e. has just one switch) or network topology is not necessary then leave this file empty.
Syntax is: IP_ADDRESSES LOCATION_PATH Lines starting with # character are ignored as comments. IP_ADDRESS can be specified in several forms: * all addresses n.n.n.n single IP address n.n.n.n/b IP class specified by network address and bits number n.n.n.n/m.m.m.m IP class specified by network address and mask f.f.f.f-t.t.t.t IP range specified by from-to addresses (inclusive) LOCATION_PATH can be specified as a sequence of words separated by vertical bars.
If one IP belongs to more than one definition then the last definition is used. Distance between IP numbers is defined as follows: 0 when IP numbers are the same, 1 when IP numbers are different, but paths specified by these numbers are the same. In case of different paths distance is defined as one plus maximum number of elements from both paths after common starting part. Distances are used to sort chunkservers during read and write operations. They are also used by goal chunks replications if you enable REPLICATIONS_RESPECT_TOPOLOGY (see mfsmaster.cfg(5)). New chunks are created randomly (without using topology information). Rebalance routines may take distances into account (see CHUNKS_UNIQUE_MODE in mfsmaster.cfg(5)).
192.168.1.0/24 US|CHICAGO|WTOWER|R1A 192.168.2.0-192.168.2.255 PL|WARSAW|GROCHOWSKA|R154 192.168.3.0/255.255.255.0 123 192.168.1.1 A|B|C
Distances calculated for two different IP numbers mapped to given location paths: d('US','DE') = 2 d('US','') = 2 d('US|PHOENIX|AT&T|RACK1','US|PHOENIX|AT&T|RACK2') = 2 d('US|PHOENIX|AT&T|RACK1','US|PHOENIX|ATM|RACK7') = 3 d('US|PHOENIX|AT&T|RACK1','US|CHICAGO|AT&T|RACK2') = 4 d('US|PHOENIX|AT&T|RACK1','US|ATM') = 4 d('US|PHOENIX|AT&T|RACK1','DE|BERLIN|ATM|RACK175') = 5
Copyright (C) 2021 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