Moose File System


Moose File System is an open-source, POSIX-compliant distributed file system developed by Core Technology. MooseFS aims to be fault-tolerant, highly available, highly performing, scalable general-purpose network distributed file system for data centers. Initially proprietary software, it was released to the public as open source on May 30, 2008.
Currently two editions of MooseFS are available:

Design

The MooseFS follows similar design principles as Fossil, Google File System, Lustre or Ceph. The file system comprises three components:
  • Metadata server — manages the location of files, file access and namespace hierarchy. The current version of MooseFS does support multiple metadata servers and automatic failover. Clients only talk to the MDS to retrieve/update a file's layout and attributes; the data itself is transferred directly between clients and chunk servers. The Metadata server is a user-space daemon; the metadata is kept in memory and lazily stored on local disk.
  • Metalogger server — periodically pulls the metadata from the MDS to store it for backup. Since version 1.6.5, this is an optional feature.
  • Chunk servers — store the data and optionally replicate it among themselves. There can be many of them, though the scalability limit has not been published. The biggest cluster reported so far consists of 160 servers. The Chunk server is also a user-space daemon that relies on the underlying local file system to manage the actual storage.
  • Clients — talk to both the MDS and CSS. MooseFS clients mount the file system into user-space via FUSE.

Features

To achieve high reliability and performance MooseFS offers the following features:

Hardware, software and networking

Similarly to other cluster-based file systems MooseFS uses commodity hardware running a POSIX compliant operating system. TCP/IP is used as the interconnect.

MooseFS in figures

Source:
  • Storage size is up to: 264 Bytes = 16 EiB = 16 384 PiB
  • Single file size is up to: 257 Bytes = 128 PiB
  • Number of files is up to: 231 = 2.1 billion
  • Number of active clients is unlimited it depends on number of file descriptors in the system