mfstopology.cfg(5)

NAME
mfstopology.cfg - MooseFS network topology definitions

DESCRIPTION
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

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.

NOTES
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)).

EXAMPLES
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

DISTANCE EXAMPLES
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
Copyright (C) 2023 Jakub Kruszona-Zawadzki, Saglabs SA 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

SEE ALSO
mfsmaster(8), mfsmaster.cfg(5)