Browse Source

Update 'features' section of readme

pull/945/head
Antonio SJ Musumeci 3 years ago
parent
commit
1aaf742c13
  1. 12
      README.md
  2. 59
      man/mergerfs.1

12
README.md

@ -19,19 +19,19 @@ mergerfs -o<options> <branches> <mountpoint>
# FEATURES # FEATURES
* Runs in userspace (FUSE)
* Configurable behaviors / file placement * Configurable behaviors / file placement
* Ability to add or remove filesystems at will
* Resistance to individual filesystem failure
* Support for extended attributes (xattrs) * Support for extended attributes (xattrs)
* Support for file attributes (chattr) * Support for file attributes (chattr)
* Runtime configurable (via xattrs) * Runtime configurable (via xattrs)
* Safe to run as root
* Opportunistic credential caching
* Works with heterogeneous filesystem types * Works with heterogeneous filesystem types
* Handling of writes to full drives (transparently move file to drive with capacity)
* Handles pool of read-only and read/write drives
* Can turn read-only files into symlinks to underlying file
* Moving of file when filesystem runs out of space while writing
* Ignore read-only filesystems when creating files
* Turn read-only files into symlinks to underlying file
* Hard link copy-on-write / CoW * Hard link copy-on-write / CoW
* Support for POSIX ACLs * Support for POSIX ACLs
* Misc other things
# HOW IT WORKS # HOW IT WORKS

59
man/mergerfs.1

@ -1,7 +1,7 @@
.\"t .\"t
.\" Automatically generated by Pandoc 1.19.2.4 .\" 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 .hy
.SH NAME .SH NAME
.PP .PP
@ -17,32 +17,31 @@ devices.
It is similar to \f[B]mhddfs\f[], \f[B]unionfs\f[], and \f[B]aufs\f[]. It is similar to \f[B]mhddfs\f[], \f[B]unionfs\f[], and \f[B]aufs\f[].
.SH FEATURES .SH FEATURES
.IP \[bu] 2 .IP \[bu] 2
Runs in userspace (FUSE)
.IP \[bu] 2
Configurable behaviors / file placement Configurable behaviors / file placement
.IP \[bu] 2 .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) Support for extended attributes (xattrs)
.IP \[bu] 2 .IP \[bu] 2
Support for file attributes (chattr) Support for file attributes (chattr)
.IP \[bu] 2 .IP \[bu] 2
Runtime configurable (via xattrs) Runtime configurable (via xattrs)
.IP \[bu] 2 .IP \[bu] 2
Safe to run as root
.IP \[bu] 2
Opportunistic credential caching
.IP \[bu] 2
Works with heterogeneous filesystem types Works with heterogeneous filesystem types
.IP \[bu] 2 .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 .IP \[bu] 2
Handles pool of read\-only and read/write drives
Ignore read\-only filesystems when creating files
.IP \[bu] 2 .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 .IP \[bu] 2
Hard link copy\-on\-write / CoW Hard link copy\-on\-write / CoW
.IP \[bu] 2 .IP \[bu] 2
Support for POSIX ACLs Support for POSIX ACLs
.IP \[bu] 2
Misc other things
.SH HOW IT WORKS .SH HOW IT WORKS
.PP .PP
mergerfs logically merges multiple paths together. mergerfs logically merges multiple paths together.
@ -2425,6 +2424,28 @@ includes all the paths you need if you want links to work.
.PP .PP
Yes. Yes.
They are completely unreleated pieces of software. 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 .SS Does mergerfs support CoW / copy\-on\-write / writes to read\-only
filesystems? filesystems?
.PP .PP
@ -2508,8 +2529,8 @@ Longer term the plan is to rewrite mergerfs to use the low level API.
See above first. See above first.
.PP .PP
If/when mergerfs is rewritten to use the low\-level API then it\[aq]ll 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? .SS Why use mergerfs over mhddfs?
.PP .PP
mhddfs is no longer maintained and has some known stability and security mhddfs is no longer maintained and has some known stability and security
@ -2813,6 +2834,8 @@ PayPal: https://paypal.me/trapexit
.IP \[bu] 2 .IP \[bu] 2
Patreon: https://www.patreon.com/trapexit Patreon: https://www.patreon.com/trapexit
.IP \[bu] 2 .IP \[bu] 2
BuyMeACoffee: https://buymeacoff.ee/trapexit
.IP \[bu] 2
Ko\-Fi: https://ko\-fi.com/trapexit Ko\-Fi: https://ko\-fi.com/trapexit
.IP \[bu] 2 .IP \[bu] 2
Open Collective: https://opencollective.com/trapexit Open Collective: https://opencollective.com/trapexit
@ -2832,18 +2855,12 @@ Dogecoin (DOGE): DLJNLVe28vZ4SMQSxDJLBQBv57rGtUoWFh
.IP \[bu] 2 .IP \[bu] 2
Ethereum (ETH): 0xB8d6d55c0319aacC327860d13f891427caEede7a Ethereum (ETH): 0xB8d6d55c0319aacC327860d13f891427caEede7a
.IP \[bu] 2 .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 Any ERC20 Token: 0xB8d6d55c0319aacC327860d13f891427caEede7a
.IP \[bu] 2 .IP \[bu] 2
Ethereum Classic (ETC): 0x2B6054428e69a1201B6555f7a2aEc0Fba01EAD9F Ethereum Classic (ETC): 0x2B6054428e69a1201B6555f7a2aEc0Fba01EAD9F
.IP \[bu] 2 .IP \[bu] 2
Harmony (ONE): one1hrtd2hqrrx4vcvncvrgnlzg5yl9wahn66lq6rw
.IP \[bu] 2
Dash (DASH): XvsFrohu8tbjA4E8p7xsc86E2ADxLHGXHL Dash (DASH): XvsFrohu8tbjA4E8p7xsc86E2ADxLHGXHL
.IP \[bu] 2 .IP \[bu] 2
Monero (XMR): Monero (XMR):

Loading…
Cancel
Save