mirror of https://github.com/trapexit/mergerfs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.9 KiB
120 lines
3.9 KiB
.TH MERGERFS 1 "May 2025" "mergerfs" "User Commands"
|
|
.SH NAME
|
|
mergerfs \- a featureful union filesystem
|
|
.SH SYNOPSIS
|
|
.B mergerfs
|
|
[options] <branches> <mountpoint>
|
|
.SH DESCRIPTION
|
|
.B mergerfs
|
|
is a FUSE-based union filesystem geared towards simplifying storage and management of files across numerous commodity storage devices. It is similar to
|
|
.BR mhddfs ,
|
|
.BR unionfs ,
|
|
and
|
|
.BR aufs .
|
|
.SH QUICKSTART
|
|
.UR https://trapexit.github.io/mergerfs/quickstart
|
|
.LI https://trapexit.github.io/mergerfs/quickstart
|
|
.UE
|
|
.SH DOCUMENTATION
|
|
.UR https://trapexit.github.io/mergerfs
|
|
.LI https://trapexit.github.io/mergerfs
|
|
.UE
|
|
.SH SUPPORT
|
|
.UR https://trapexit.github.io/mergerfs/support
|
|
.LI https://trapexit.github.io/mergerfs/support
|
|
.UE
|
|
.SH FEATURES
|
|
.IP \[bu] 2
|
|
Logically combine numerous filesystems/paths into a single mount point
|
|
.IP \[bu]
|
|
Combine paths of the same or different filesystems
|
|
.IP \[bu]
|
|
Ability to add or remove filesystems/paths without impacting the rest of the data
|
|
.IP \[bu]
|
|
Unaffected by individual filesystem failure
|
|
.IP \[bu]
|
|
Configurable file selection and creation placement
|
|
.IP \[bu]
|
|
Works with filesystems of any size
|
|
.IP \[bu]
|
|
Works with filesystems of almost any type
|
|
.IP \[bu]
|
|
Ignore read-only filesystems when creating files
|
|
.IP \[bu]
|
|
Hard link copy-on-write / CoW
|
|
.IP \[bu]
|
|
Runtime configurable
|
|
.IP \[bu]
|
|
Support for extended attributes (xattrs)
|
|
.IP \[bu]
|
|
Support for file attributes (chattr)
|
|
.IP \[bu]
|
|
Support for POSIX ACLs
|
|
.SH NON-FEATURES
|
|
.IP \[bu] 2
|
|
Read/write overlay on top of read-only filesystem like OverlayFS
|
|
.IP \[bu]
|
|
File whiteout
|
|
.IP \[bu]
|
|
RAID-like parity calculation
|
|
.IP \[bu]
|
|
Redundancy
|
|
.IP \[bu]
|
|
Splitting of files across branches
|
|
.SH HOW IT WORKS
|
|
.B mergerfs
|
|
logically merges multiple filesystem paths together. It acts as a proxy to the underlying filesystem paths, combining the behaviors of some functions and being a selector for others.
|
|
|
|
When the contents of a directory are requested,
|
|
.B mergerfs
|
|
combines the list of files from each directory, deduplicating entries, and returns that list.
|
|
|
|
When a file or directory is created, a policy is first run to determine which branch will be selected for the creation.
|
|
|
|
For functions which change attributes or remove the file, the behavior may be applied to all instances found.
|
|
|
|
Read more about policies here:
|
|
.UR https://trapexit.github.io/mergerfs/config/functions_categories_and_policies
|
|
.LI https://trapexit.github.io/mergerfs/config/functions_categories_and_policies
|
|
.UE
|
|
.SH VISUALIZATION
|
|
.nf
|
|
A + B = C
|
|
/disk1 /disk2 /merged
|
|
| | |
|
|
+-- /dir1 +-- /dir1 +-- /dir1
|
|
| | | | | |
|
|
| +-- file1 | +-- file2 | +-- file1
|
|
| | +-- file3 | +-- file2
|
|
+-- /dir2 | | +-- file3
|
|
| | +-- /dir3 |
|
|
| +-- file4 | +-- /dir2
|
|
| +-- file5 | |
|
|
+-- file6 | +-- file4
|
|
|
|
|
+-- /dir3
|
|
| |
|
|
| +-- file5
|
|
|
|
|
+-- file6
|
|
.fi
|
|
.SH SPONSORSHIP AND DONATIONS
|
|
Development and support of a project like
|
|
.B mergerfs
|
|
require a significant amount of time and effort. The software is released under the very liberal ISC license and is therefore free to use for personal or commercial uses.
|
|
|
|
If you are a non-commercial user and find
|
|
.B mergerfs
|
|
and its support valuable and would like to support the project financially, it would be very much appreciated.
|
|
|
|
If you are using
|
|
.B mergerfs
|
|
commercially, please consider sponsoring the project to ensure it continues to be maintained and receive updates. If custom features are needed, feel free to contact the maintainer directly.
|
|
|
|
.UR https://github.com/trapexit/support
|
|
.LI https://github.com/trapexit/support
|
|
.UE
|
|
.SH LICENSE
|
|
ISC License
|
|
.SH AUTHOR
|
|
Antonio SJ Musumeci (aka trapexit)
|