|
|
@ -1,7 +1,7 @@ |
|
|
|
.\"t |
|
|
|
.\" Automatically generated by Pandoc 1.19.2.4 |
|
|
|
.\" |
|
|
|
.TH "mergerfs" "1" "2021\-02\-08" "mergerfs user manual" "" |
|
|
|
.TH "mergerfs" "1" "2021\-05\-29" "mergerfs user manual" "" |
|
|
|
.hy |
|
|
|
.SH NAME |
|
|
|
.PP |
|
|
@ -17,32 +17,31 @@ devices. |
|
|
|
It is similar to \f[B]mhddfs\f[], \f[B]unionfs\f[], and \f[B]aufs\f[]. |
|
|
|
.SH FEATURES |
|
|
|
.IP \[bu] 2 |
|
|
|
Runs in userspace (FUSE) |
|
|
|
.IP \[bu] 2 |
|
|
|
Configurable behaviors / file placement |
|
|
|
.IP \[bu] 2 |
|
|
|
Ability to add or remove filesystems at will |
|
|
|
.IP \[bu] 2 |
|
|
|
Resistance to individual filesystem failure |
|
|
|
.IP \[bu] 2 |
|
|
|
Support for extended attributes (xattrs) |
|
|
|
.IP \[bu] 2 |
|
|
|
Support for file attributes (chattr) |
|
|
|
.IP \[bu] 2 |
|
|
|
Runtime configurable (via xattrs) |
|
|
|
.IP \[bu] 2 |
|
|
|
Safe to run as root |
|
|
|
.IP \[bu] 2 |
|
|
|
Opportunistic credential caching |
|
|
|
.IP \[bu] 2 |
|
|
|
Works with heterogeneous filesystem types |
|
|
|
.IP \[bu] 2 |
|
|
|
Handling of writes to full drives (transparently move file to drive with |
|
|
|
capacity) |
|
|
|
Moving of file when filesystem runs out of space while writing |
|
|
|
.IP \[bu] 2 |
|
|
|
Handles pool of read\-only and read/write drives |
|
|
|
Ignore read\-only filesystems when creating files |
|
|
|
.IP \[bu] 2 |
|
|
|
Can turn read\-only files into symlinks to underlying file |
|
|
|
Turn read\-only files into symlinks to underlying file |
|
|
|
.IP \[bu] 2 |
|
|
|
Hard link copy\-on\-write / CoW |
|
|
|
.IP \[bu] 2 |
|
|
|
Support for POSIX ACLs |
|
|
|
.IP \[bu] 2 |
|
|
|
Misc other things |
|
|
|
.SH HOW IT WORKS |
|
|
|
.PP |
|
|
|
mergerfs logically merges multiple paths together. |
|
|
@ -2425,6 +2424,28 @@ includes all the paths you need if you want links to work. |
|
|
|
.PP |
|
|
|
Yes. |
|
|
|
They are completely unreleated pieces of software. |
|
|
|
.SS Can mergerfs run via Docker, Podman, Kubernetes, etc. |
|
|
|
.PP |
|
|
|
Yes. |
|
|
|
With Docker you\[aq]ll need to include |
|
|
|
\f[C]\-\-cap\-add=SYS_ADMIN\ \-\-device=/dev/fuse\ \-\-security\-opt=apparmor:unconfined\f[] |
|
|
|
or similar with other container runtimes. |
|
|
|
You should also be running it as root or given sufficient caps to change |
|
|
|
user and group identity as well as have root like filesystem |
|
|
|
permissions. |
|
|
|
.PP |
|
|
|
Keep in mind that you \f[B]MUST\f[] consider identity when using |
|
|
|
containers. |
|
|
|
For example: supplemental groups will be picked up from the container |
|
|
|
unless you properly manage users and groups by sharing relevant /etc |
|
|
|
files or by using some other means to share identity across containers. |
|
|
|
Similarly if you use "rootless" containers and user namespaces to do |
|
|
|
uid/gid translations you \f[B]MUST\f[] consider that while managing |
|
|
|
shared files. |
|
|
|
.PP |
|
|
|
Also, as mentioned by hotio (https://hotio.dev/containers/mergerfs), |
|
|
|
with Docker you should probably be mounting with |
|
|
|
\f[C]bind\-propagation\f[] set to \f[C]slave\f[]. |
|
|
|
.SS Does mergerfs support CoW / copy\-on\-write / writes to read\-only |
|
|
|
filesystems? |
|
|
|
.PP |
|
|
@ -2508,8 +2529,8 @@ Longer term the plan is to rewrite mergerfs to use the low level API. |
|
|
|
See above first. |
|
|
|
.PP |
|
|
|
If/when mergerfs is rewritten to use the low\-level API then it\[aq]ll |
|
|
|
be plausible to support system libfuse but till then it's simply too much |
|
|
|
work to manage the differences across the versions. |
|
|
|
be plausible to support system libfuse but till then it\[aq]s simply too |
|
|
|
much work to manage the differences across the versions. |
|
|
|
.SS Why use mergerfs over mhddfs? |
|
|
|
.PP |
|
|
|
mhddfs is no longer maintained and has some known stability and security |
|
|
@ -2813,6 +2834,8 @@ PayPal: https://paypal.me/trapexit |
|
|
|
.IP \[bu] 2 |
|
|
|
Patreon: https://www.patreon.com/trapexit |
|
|
|
.IP \[bu] 2 |
|
|
|
BuyMeACoffee: https://buymeacoff.ee/trapexit |
|
|
|
.IP \[bu] 2 |
|
|
|
Ko\-Fi: https://ko\-fi.com/trapexit |
|
|
|
.IP \[bu] 2 |
|
|
|
Open Collective: https://opencollective.com/trapexit |
|
|
@ -2832,18 +2855,12 @@ Dogecoin (DOGE): DLJNLVe28vZ4SMQSxDJLBQBv57rGtUoWFh |
|
|
|
.IP \[bu] 2 |
|
|
|
Ethereum (ETH): 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Basic Attention Token (BAT): 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Chainlink (LINK): 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Reserve Rights (RSR): 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Reef Finance (REEF): 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Any ERC20 Token: 0xB8d6d55c0319aacC327860d13f891427caEede7a |
|
|
|
.IP \[bu] 2 |
|
|
|
Ethereum Classic (ETC): 0x2B6054428e69a1201B6555f7a2aEc0Fba01EAD9F |
|
|
|
.IP \[bu] 2 |
|
|
|
Harmony (ONE): one1hrtd2hqrrx4vcvncvrgnlzg5yl9wahn66lq6rw |
|
|
|
.IP \[bu] 2 |
|
|
|
Dash (DASH): XvsFrohu8tbjA4E8p7xsc86E2ADxLHGXHL |
|
|
|
.IP \[bu] 2 |
|
|
|
Monero (XMR): |
|
|
|