MooseFS Distributed Storage – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System / Software-Defined Storage
MooseFS Distributed Storage – Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System / Software-Defined Storage
MooseFS is a Petabyte Open Source Network Distributed File System. It is easy to deploy and maintain, highly reliable, fault tolerant, highly performing, easily scalable and POSIX compliant.
MooseFS spreads data over a number of commodity servers, which are visible to the user as one resource. For standard file operations MooseFS acts like ordinary Unix-like file system:
mfsbdev)MooseFS can be installed on any POSIX compliant operating system including various Linux distributions, FreeBSD and macOS:
MooseFS Client uses FUSE library, available for: Linux & BSD and macOS.
There is a separate MooseFS Client for Microsoft Windows available, built on top of Dokany.
You can install MooseFS using your favourite package manager on one of the following platforms using officially supported repositories:
i386:
amd64:
armhf:
arm64:
Packages for CentOS 6 (i386, amd64) are also available, but no longer supported.
Debian packages are compatible with Proxmox.
RPM packages are compatible with openSUSE Leap.
Minimal set of packages, which are needed to run MooseFS:
moosefs-master MooseFS Master Server for metadata servers,moosefs-chunkserver MooseFS Chunkserver for data storage servers,moosefs-client MooseFS Client – client side package to mount the filesystem.Feel free to download the source code from our GitHub code repository!
Install the following dependencies before building MooseFS from sources:
Debian / Ubuntu:sudo apt install build-essential libpcap-dev zlib1g-dev libfuse3-dev pkg-config
if you don't have FUSE 3.x in your system, use:sudo apt install build-essential libpcap-dev zlib1g-dev libfuse-dev pkg-config
CentOS / RHEL / Rocky Linux / AlmaLinux:sudo yum install gcc make libpcap-devel zlib-devel fuse3-devel pkgconfig
if you don't have FUSE 3.x in your system, use:sudo yum install gcc make libpcap-devel zlib-devel fuse-devel pkgconfig
Recommended packages:
Debian / Ubuntu:sudo apt install fuse3
if you don't have FUSE 3.x in your system, use:sudo apt install fuse
CentOS / RHEL / Rocky Linux / AlmaLinux:sudo yum install fuse3
if you don't have FUSE 3.x in your system, use:sudo yum install fuse
./linux_build.sh./freebsd_build.sh./macosx_build.shThese scripts only build MooseFS and do not install binaries (i.e., they do not run make install). To install them, run make install (as root or sudo make install) manually.
Just three steps to have MooseFS up and running:
moosefs-master packageroot):cd /etc/mfs
cp mfsmaster.cfg.sample mfsmaster.cfg
cp mfsexports.cfg.sample mfsexports.cfg
root):cd /var/lib/mfs
cp metadata.mfs.empty metadata.mfs
chown mfs:mfs metadata.mfs
rm metadata.mfs.empty
root): mfsmaster startmfsmaster name, e.g. by adding a DNS entry (recommended) or by adding it in /etc/hosts on all servers that run any of MooseFS components.moosefs-chunkserver packageroot):cd /etc/mfs
cp mfschunkserver.cfg.sample mfschunkserver.cfg
cp mfshdd.cfg.sample mfshdd.cfg
mfshdd.cfg file make one or more entries containing paths to HDDs / partitions designated for storing chunks, e.g.:/mnt/chunks1
/mnt/chunks2
/mnt/chunks3
It is recommended to use XFS as an underlying filesystem for disks designated to store chunks.
mfs:mfs to above mentioned locations:chown mfs:mfs /mnt/chunks1 /mnt/chunks2 /mnt/chunks3
chmod 770 /mnt/chunks1 /mnt/chunks2 /mnt/chunks3
mfschunkserver startRepeat steps above for the second (third, ...) Chunkserver. More than two Chunkservers are strongly recommended.
moosefs-client packageroot):mkdir /mnt/mfs
mount -t moosefs mfsmaster: /mnt/mfs
or: mfsmount -H mfsmaster /mnt/mfs if the above method is not supported by your system
/etc/fstab entry to mount MooseFS during the system boot:mfsmaster: /mnt/mfs moosefs defaults,mfsdelayedinit 0 0
There are more configuration parameters available but most of them may stay with defaults. We do our best to keep MooseFS easy to deploy and maintain.
MooseFS, for testing purposes, can even be installed on a single machine!
Setting up moosefs-cli or moosefs-gui is also recommended – it gives you a possibility to monitor the cluster online:
moosefs-cli and moosefs-gui packages (they are typically set up on the Master Server)root): mfsgui startIt is also strongly recommended to set up at least one Metalogger on a different machine than Master Server (e.g. on one of Chunkservers). Metalogger constantly synchronizes and backups the metadata:
moosefs-metalogger packageroot):cd /etc/mfs
cp mfsmetalogger.cfg.sample mfsmetalogger.cfg
root): mfsmetalogger startRefer to installation guides for more details.
Copyright © 2008-2026 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.
No open issues yet, or sync has not completed.