mfshdd.cfg(5)
πΈ mfshdd.cfg(5) β this is part of MooseFS, bestie πΈ
okay so this file is mfshdd.cfg, and no cap it's literally just a lil list β a config file that tells mfschunkserver which directories (mountpoints) MooseFS is allowed to use for storage. that's it. that's the whole girl. she's part of MooseFS and she is thriving. π
β¨ NAME β¨
mfshdd.cfg β the list of MooseFS storage directories for mfschunkserver π
π DESCRIPTION π
The file mfshdd.cfg contains list of directories (mountpoints) used for MooseFS storage.
π¦ SYNTAX π¦
The syntax is giving:
[*|<|>|~]PATH [SPACE OPTIONS]
Lines starting with # character are ignored as comments. (yes queen, comment your config, future you will say thank you π)
Path can be prefixed with one or more special characters. These characters work as additional options β they're like little mood rings for your hard drive:
*β means this directory (hard drive) is "marked for removal" and all data will be replicated to other hard drives, usually on other chunkservers<β means that all data from this hard drive should be moved to other local hard drives>β means that all data from other local hard drives should be moved to this hard drive~β means that significant (more than 10% in less than a minute) change of total blocks count will not mark this drive as damaged (useful for compressed filesystems)
PATH is path to the mounting point of storage directory, usually a single hard drive.
SPACE OPTIONS allow to define limits in used space and alter disk usage reporting. A SPACE OPTION can be:
- a positive space limit, indicating a space limit definition (i.e. only this amount of space on the indicated path should be used for chunk storage)
- a negative space limit, indicating a reserved space definition (i.e. at least this amount of space should always be left free on the indicated path)
- an equals
=sign, optionally followed by a space limit indicator
Space limit can be either a defined amount of space (format: [0-9]*(.[0-9]*)?([kMGTPE]|[KMGTPE]i)?B?) or a percent of total device size.
An equals sign indicates, that a disk is "shared" with another process (either another chunk server process or an unrelated process) and the amount of space used on the disk is not necessarily indicative of the amount of space used by chunks. Additionally, an indicator of a space limit can be defined. Percent says how many percent of the available disk space should be considered as available for the chunkserver. Size says how much exact space should be considered available for the chunkserver. If the percent or space are negative, then we define the unavailable amount of space instead.
The presence or absence of SPACE OPTION changes the way chunk server calculates available and used space on a given path. vibe check incoming, this is the math part, stay with me bestie β¨
Let's define 3 base values:
total_hddβ total device size, as returned bystatvfsavail_hddβ total available space, as returned bystatvfscalc_sizeβ used space (sum of chunk's disk usage)
When there is no SPACE OPTION defined then total and available space are reported as follows:
- reported total =
total_hdd - reported avail =
avail_hdd
Otherwise available space is calculated using formulas:
- With constant reserved space (negative space limit
-X)- reported avail =
total_hdd - X - calc_size(or zero ifX + calc_size > total_hdd)
- reported avail =
- With perecent of reserved space (negative space limit
-X%) (yes, "perecent" β that's how it's written in the source, we don't make the rules π )- reported avail =
total_hdd - total_hdd*X/100 - calc_size(or zero iftotal_hdd*X/100 + calc_size > total_hdd)
- reported avail =
- With constant space limit (positive space limit
X)- reported avail =
X - calc_size(or zero ifcalc_size > X)
- reported avail =
- With percent space limit (positive space limit
X%)- reported avail =
total_hdd*X/100 - calc_size(or zero ifcalc_size > total_hdd*X/100)
- reported avail =
- With shared space indicator (
=sign)- reported avail =
avail_hdd
- reported avail =
- With shared space indicator and space indicator (
=X)- reported avail =
X(oravail_hddifavail_hdd < X)
- reported avail =
- With shared space indicator and percent indicator (
=X%)- reported avail =
avail_hdd*X/100
- reported avail =
- With shared space indicator and negative space indicator (
=-X)- reported avail =
avail_hdd - X(or0, ifX>avail_hdd)
- reported avail =
- With shared space indicator and negative percent indicator (
=-X%)- reported avail =
avail_hdd - avail_hdd*X/100
- reported avail =
In all those cases total space is calculated as:
- reported total =
reported avail + calc_size
π COPYRIGHT π
Copyright (C) 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 this program; if not, see <https://www.gnu.org/licenses/>.
π¦ SEE ALSO π¦
and that's the whole page, bestie π«Ά go configure your hard drives, you absolute icon πβ¨
MooseFS 4.59.2-1 β May 2026 β mfshdd.cfg(5) ππΈπ
π¦ where this page comes from
- arch rolling: moosefs 4.59.2-2 Β· GPL-2.0-only
- nixos 26.05: moosefs 4.59.2
- nixpkgs unstable: moosefs 4.59.2
- ubuntu stonking: moosefs-chunkserver 4.59.2-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms