MooseFS

Topics: Network filesystem

MooseFS presents data stored across networked machines through a shared filesystem, so clients can access distributed storage through a common namespace.

Subtopics

MooseFS basics

MooseFS (abbreviated: MFS) is a distributed storage system that consists of servers that take one of the following three roles:

  • Master server
  • Metalogger server
  • Chunk server

Finally, a MooseFS client mounts one or more MFS volumes to access its file contents.

Master server

The master server holds all file metadata in memory and acts as a mediator between clients and chunk servers. All clients send their read and write requests (as well as mount and unmount events) to the master, who knows which chunk servers are the right ones to handle them.

The master dumps his metadata regularly to a file, which makes it resume operation faster after a crash. This file can also be backed up. Additionally, the Metalogger fetches this metadata dump to be ready to take over as master in case of an outage.

Metalogger server

MooseFS metalogger gathers metadata backups from the Master server in order to take over in case the master dies. It can be considered a cold-standby master server.

Chunk server

Chunkservers hold the actual file contents. For each volume, a “goal” called level of redundancy can be set. E. g. a goal of 3 means that the file data for this volume must be copied to three chunkservers, which is our default.

Note that restarting a chunkserver may take some time, so be sure to restart them one by one and wait until they have finished their filesystem scan after startup, which also can take a minute or two. This can be watched via /var/log/syslog.

Also note that many of our LXC servers are also chunkservers, take care in case of reboots or maintenance.

Client

Clients use FuSE to mount MFS volumes. MFS mounts behave like local mounts, in optimal circumstances there’s only little notable difference. The df command always shows the usage of the volume in relation to its quota. Normally a client recovers from network outages or a restared master, so that normally no remounts are necessary.

Bookmarks

Questions