MergerFS for Mere Mortals
Most home servers grow the same way: one drive at a time, bought when the last one filled, until the media library is a guessing game across four mount points. MergerFS is the open-source answer built for exactly that: a union filesystem that presents several ordinary folders — each on its own drive, in its own size and filesystem — as one pooled folder, with plain rules deciding which drive each new file lands on. The drives are never reformatted and no file is ever split. This guide explains how it works, how to install it, how to choose its policies with your eyes open, and how to live with it afterwards — without fooling yourself about the part that matters most: a pool is a front door, not a safety net, and it protects nothing by itself.
The lab behind this guide is honest
about an unusual outcome. It installed
the real thing — mergerfs 2.33.5,
the package Ubuntu 24.04 ships — and
verified the program, its manual, and
its option defaults directly. It then
tried to mount a pool of two branch
folders, and could not: the build
sandbox has no FUSE device, cannot
create one, and no mergerfs setting
fixes a missing /dev/fuse. The mount
attempt and the diagnosis are on the
record in the lab's transcripts, the
guide says plainly in chapter 3 which
chapters are therefore taught from the
project's own manual rather than from
a live bench, and criteria.md keeps
the ledger of what was run and what
was only read. A guide that pretends
otherwise would teach you less than
this one does.
What this guide covers
- What MergerFS is — the mental model: branches behind one front door, files whole on single drives; what it is not (RAID, a format, striping, a backup)
- The moving parts — the branches, the FUSE daemon, the policies, and the control interface: what each holds, and what breaks when each stops
- Installing MergerFS —
the
/dev/fuseprerequisite, distro packages and their old versions, upstream builds, and the lab's declared result told in full - Your First Pool — two folders, one mount, and the habit of looking in the branches to see what the pool really did
- Policies in Practice —
create, search and action categories;
ff,mfs, and theepfamily; path preservation and whatepreally buys - When a Drive Fills Up — minfreespace, the ENOSPC moment, moveonenospc and its honest limits, and the day every drive is full
- Making It Permanent — fstab without the boot-time traps, the config file, and the short list of options worth setting deliberately
- Runtime Tuning — reading and changing a live pool through its xattr control interface, and the cache options that actually matter
- The Pool and Other Software — allow_other, sharing onwards over NFS and Samba, and the programs (databases above all) that push on the floorboards
- Backup and Drive Failure — what a dead drive actually costs, the SnapRAID pairing, and backup rules the pool does not change
- Recipes — a media library, a download landing pad, a growing photo archive, and an everything drawer, each with its settings and its reasons
- The Neighbours — RAID, LVM, ZFS, SnapRAID, OverlayFS and friends: what each one trades
- Limits — no redundancy, no split files, FUSE overhead, no databases, stated plainly
- Troubleshooting — the empty pool that isn't, the space error that is, the missing FUSE device, and the other traps, symptom first
- Glossary — the terms, collected in one place
What it doesn't cover
Building mergerfs from source beyond a pointer, tuning for workloads this guide never measured (it invents no benchmarks), mergerfs on non-Linux systems, and SnapRAID itself — the parity partner gets its own guide in this series, and chapter 10 explains the pairing without teaching the tool. Exposing network shares to the internet safely is likewise pointed at, not taught.
How to use this guide
Read chapter 1 for the model and
chapter 2 before installing anything —
knowing which part does what turns
later confusion into a named problem.
Chapter 3 includes the one check that
decides whether a pool can run on your
machine at all; do it first. Chapter 4
is a rehearsal with two plain folders:
run it before offering mergerfs real
drives, and keep its habit — look in
the branches — for as long as you run
pools. Chapter 10 is not the optional
ending: decide what protects the data
before the pool holds anything you
would miss. The lab's transcripts live
in mergerfs-lab/transcripts/; its
notes are examples/lab-notes.txt.
Part of the series
This guide is one of the For Mere Mortals guides: plain-language guides to the tools programmers and makers use.
Related guides:
License
The writing in this guide is licensed under CC BY 4.0. Code examples and lab scripts are licensed under the MIT License.