mergerfs is a FUSE-based union filesystem that logically combines multiple filesystem paths into a single mount point.
The tool solves the problem of managing storage across numerous commodity devices by acting as a proxy layer that merges directory contents, deduplicates entries, and applies configurable policies to determine file placement and behavior. When files or directories are created, a policy engine selects which branch receives the new data. For operations that modify attributes or remove files, the tool can apply changes across all instances found. The underlying approach treats paths rather than block devices or mounts, allowing filesystems of any type and size to coexist without impacting one another if individual devices fail.
mergerfs suits users building storage systems from multiple drives, such as those running media servers or data hoarding setups. It works with read-only filesystems by ignoring them during file creation, supports hard links with copy-on-write semantics, and offers runtime configurability through extended attributes and POSIX ACLs. The tool provides near-native IO performance through passthrough support where available. Unlike overlay filesystems, mergerfs does not provide read-write overlays on read-only bases, does not support file whiteout, and does not include RAID-like parity or redundancy features. The README names mhddfs, unionfs, aufs, and DrivePool as comparable tools.
Maintainers respond to new issues and pull requests within hours. Work in the issue tracker centers on investigating problems, fixing bugs, and implementing features.