Quick view at the MooseFS Architecture
Typical MooseFS architecture consists of four components. In this article, we describe each of them.
A MooseFS cluster consists of components of four types: Master Servers, Chunkservers, Metaloggers (metadata backup servers) and client machines.
Leader Master Server, Master Server Followers are the machines managing the whole file system, storing metadata for every file and folder.
The leader is always the central point of a cluster. Leader Master Server directs clients to appropriate data servers (Chunkservers) for read/write operations.
It leads all inter-servers data manipulations (replicating, auto-healing, balancing etc.). Master Server neither reads nor sends any file data (chunks).
Each client and data server must know the IP/DNS address of the Master Server. Clients learn from the Master Server addresses of Chunkservers (data servers) for sending or receiving chunks of data.
Master Server Followers are Highly Available online backup copies of Leader Master Server (available with HA configurations).
Data servers (Chunkservers) are machines that store files’ data (chunks). They serve data for clients and synchronize among themselves when necessary.
Metadata backup server(s) (Metaloggers) can be any number of such servers, all of which store metadata changelogs and periodically download the main metadata file.
In MooseFS Community, any Metalogger can be easily set up as a new Master Server in case of main Master Server failure.
Client computers that use (mount) the filesystem can be any number of such machines contacting Master Servers (to receive and modify file metadata) and Chunkservers (to exchange actual file data) using the MooseFS TCP/IP network protocol.
Linux/FreeBSD/OS X machines use the mfsmount process based on the FUSE mechanism (Filesystem in USErspace) so that MooseFS is available on every operating system supported by FUSE. Also, Windows machines (both desktops and servers) use the native Windows mfs4win driver.
All components communicate with each other using the MooseFS TCP/IP based protocol. The most common network type used for MooseFS clusters is Ethernet but other types supporting TCP/IP stack may be used.
If you want to know more, download MooseFS Hardware Guide.