Requirements for Master Servers
Since the Master Server is a critical component of MooseFS, it should be installed on a machine that ensures high stability and performance. It’s recommended to use a server equipped with a redundant power supply, ECC memory, and a RAID 1, RAID 5, or RAID 10 disk array.
The operating system must be POSIX-compliant, and a 64-bit system is strongly recommended for best results.
CPU
Since the Master Server runs as a single-threaded process, it’s recommended to use a modern CPU with a high clock speed and a low core count - this is especially important in MooseFS deployments that manage a large number of small files.
For best performance, the CPU should have hyper-threading disabled and be configured for maximum performance mode (with all power-saving features turned off).
To help choose the right processor, you can compare CPUs using this website: https://www.cpubenchmark.net/singleThread.html. Be sure to focus on the “Single Thread Rating” for the most relevant comparison.
RAM
For performance reasons, the Master Server stores the entire filesystem metadata structure in RAM. This includes information about objects such as files, directories, symbolic links, sockets, pipes, and other filesystem entities. On average, managing 1 million of these objects requires approximately 300–350 MiB of RAM.
However, if you store a significant number of extra attributes (xattrs) for your files, the required RAM may increase. Extra attributes are additional metadata associated with files, such as security labels, user-defined information, or application-specific data, which can increase memory usage.
For example, if your system is expected to manage around 100 million objects (including files, directories, symbolic links, etc.), the Master Server should have at least 32–35 GiB of RAM available for metadata alone, not including memory needed for the operating system and other services. Proper memory planning is essential for ensuring smooth performance and avoiding bottlenecks.
HDD
The required size of the hard drive depends on two main factors:
- the number of files and chunks stored in the system (which affects the main metadata file)
- the number of operations performed on those files (which affects the metadata changelog).
As a rough reference, 20 GiB of disk space is typically enough to store metadata for around 25 million files and retain changelogs for up to 50 hours.
Recommended Minimum Space Calculation
You can estimate the minimum amount of space needed using the following formula:
RAM– the amount of RAM in GiBBACK_LOGS– the number of metadata changelog files to keep (default:50, set in/etc/mfs/mfsmaster.cfg)BACK_META_KEEP_PREVIOUS– the number of previous metadata files to retain (default:1, also set in/etc/mfs/mfsmaster.cfg)CHANGELOG_FILE_SIZE– the size of a single changelog file, typically around 1 GiB, though this can vary on systems with high operation loads
Formula:
SPACE = RAM * (BACK_META_KEEP_PREVIOUS + 2) + CHANGELOG_FILE_SIZE * (BACK_LOGS + 1) [GiB]
Example
If your system has 128 GiB of RAM and is not expected to experience an extremely high operation load, the recommended minimum space for the metadata directory (usually /var/lib/mfs) would be:
128 * (1 + 2) + 1 * (50 + 1) = 384 + 51 = 435 GiB
Final Recommendation
We strongly recommend allocating more space than the calculated minimum. This provides a buffer in case changelog files grow larger than expected - such as during periods of increased system activity or higher operation frequency.