mirror of
https://github.com/trapexit/mergerfs.git
synced 2025-03-15 02:35:12 +08:00
Merge pull request #945 from trapexit/readme
Update 'features' section of readme
This commit is contained in:
commit
6e53f3b698
12
README.md
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)
|
* Moving of file when filesystem runs out of space while writing
|
||||||
* Handles pool of read-only and read/write drives
|
* Ignore read-only filesystems when creating files
|
||||||
* Can turn read-only files into symlinks to underlying file
|
* 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
|
||||||
|
@ -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
|
Moving of file when filesystem runs out of space while writing
|
||||||
capacity)
|
|
||||||
.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
|
be plausible to support system libfuse but till then it\[aq]s simply too
|
||||||
work to manage the differences across the versions.
|
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…
x
Reference in New Issue
Block a user