mirror of
https://github.com/trapexit/mergerfs.git
synced 2024-11-25 09:41:43 +08:00
Merge pull request #1244 from trapexit/docs
Add some new questions to FAQ
This commit is contained in:
commit
dd7e9e2aa7
62
README.md
62
README.md
|
@ -1294,10 +1294,11 @@ https://en.wikipedia.org/wiki/Page_cache
|
||||||
unchanged since previous open.
|
unchanged since previous open.
|
||||||
* cache.files=libfuse: follow traditional libfuse `direct_io`,
|
* cache.files=libfuse: follow traditional libfuse `direct_io`,
|
||||||
`kernel_cache`, and `auto_cache` arguments.
|
`kernel_cache`, and `auto_cache` arguments.
|
||||||
* cache.files=per-process: Enable page caching (equivalent to `cache.files=partial`)
|
* cache.files=per-process: Enable page caching (equivalent to
|
||||||
only for processes whose 'comm' name matches one of the values defined in
|
`cache.files=partial`) only for processes whose 'comm' name matches
|
||||||
`cache.files.process-names`. If the name does not match the file open
|
one of the values defined in `cache.files.process-names`. If the
|
||||||
is equivalent to `cache.files=off`.
|
name does not match the file open is equivalent to
|
||||||
|
`cache.files=off`.
|
||||||
|
|
||||||
FUSE, which mergerfs uses, offers a number of page caching modes. mergerfs tries to simplify their use via the `cache.files`
|
FUSE, which mergerfs uses, offers a number of page caching modes. mergerfs tries to simplify their use via the `cache.files`
|
||||||
option. It can and should replace usage of `direct_io`,
|
option. It can and should replace usage of `direct_io`,
|
||||||
|
@ -1428,7 +1429,7 @@ placing of usually smaller, faster storage as a transparent cache to
|
||||||
larger, slower storage. NVMe, SSD, Optane in front of traditional HDDs
|
larger, slower storage. NVMe, SSD, Optane in front of traditional HDDs
|
||||||
for instance.
|
for instance.
|
||||||
|
|
||||||
MergerFS does not natively support any sort of tiered caching. Most
|
mergerfs does not natively support any sort of tiered caching. Most
|
||||||
users have no use for such a feature and its inclusion would
|
users have no use for such a feature and its inclusion would
|
||||||
complicate the code. However, there are a few situations where a cache
|
complicate the code. However, there are a few situations where a cache
|
||||||
filesystem could help with a typical mergerfs setup.
|
filesystem could help with a typical mergerfs setup.
|
||||||
|
@ -1901,18 +1902,51 @@ of which are fixed in stable releases.
|
||||||
|
|
||||||
#### Can mergerfs be used with filesystems which already have data / are in use?
|
#### Can mergerfs be used with filesystems which already have data / are in use?
|
||||||
|
|
||||||
Yes. MergerFS is a proxy and does **NOT** interfere with the normal
|
Yes. mergerfs is really just a proxy and does **NOT** interfere with
|
||||||
form or function of the filesystems / mounts / paths it manages.
|
the normal form or function of the filesystems / mounts / paths it
|
||||||
|
manages. It is just another userland application that is acting as a
|
||||||
|
man-in-the-middle. It can't do anything that any other random piece of
|
||||||
|
software can't do.
|
||||||
|
|
||||||
MergerFS is **not** a traditional filesystem. MergerFS is **not**
|
mergerfs is **not** a traditional filesystem that takes control over
|
||||||
RAID. It does **not** manipulate the data that passes through it. It
|
the underlying block device. mergerfs is **not** RAID. It does **not**
|
||||||
does **not** shard data across filesystems. It merely shards some
|
manipulate the data that passes through it. It does **not** shard data
|
||||||
**behavior** and aggregates others.
|
across filesystems. It merely shards some **behavior** and aggregates
|
||||||
|
others.
|
||||||
|
|
||||||
|
|
||||||
|
#### Can drives/filesystems be removed from the pool at will?
|
||||||
|
|
||||||
|
Yes. See previous question's answer.
|
||||||
|
|
||||||
|
|
||||||
#### Can mergerfs be removed without affecting the data?
|
#### Can mergerfs be removed without affecting the data?
|
||||||
|
|
||||||
See the previous question's answer.
|
Yes. See the previous question's answer.
|
||||||
|
|
||||||
|
|
||||||
|
#### Can drives/filesystems be moved to another pool?
|
||||||
|
|
||||||
|
Yes. See the previous question's answer.
|
||||||
|
|
||||||
|
|
||||||
|
#### How do I migrate data into or out of the pool when adding/removing drives/filesystems?
|
||||||
|
|
||||||
|
You don't need to. See the previous question's answer.
|
||||||
|
|
||||||
|
|
||||||
|
#### How do I remove a drive/filesystem but keep the data in the pool?
|
||||||
|
|
||||||
|
Nothing special needs to be done. Remove the branch from mergerfs'
|
||||||
|
config and copy (rsync) the data from the removed filesystem into the
|
||||||
|
pool. Effectively the same as if it were you transfering data from one
|
||||||
|
filesystem to another.
|
||||||
|
|
||||||
|
If you wish to continue using the pool while performing the transfer
|
||||||
|
simply create another, temporary pool without the filesystem in
|
||||||
|
question and then copy the data. It would probably be a good idea to
|
||||||
|
set the branch to `RO` prior to doing this to ensure no new content is
|
||||||
|
written to the filesystem while performing the copy.
|
||||||
|
|
||||||
|
|
||||||
#### What policies should I use?
|
#### What policies should I use?
|
||||||
|
@ -2132,7 +2166,7 @@ removed to simplify the codebase.
|
||||||
#### Why use mergerfs over mhddfs?
|
#### Why use mergerfs over mhddfs?
|
||||||
|
|
||||||
mhddfs is no longer maintained and has some known stability and
|
mhddfs is no longer maintained and has some known stability and
|
||||||
security issues (see below). MergerFS provides a superset of mhddfs'
|
security issues (see below). mergerfs provides a superset of mhddfs'
|
||||||
features and should offer the same or maybe better performance.
|
features and should offer the same or maybe better performance.
|
||||||
|
|
||||||
Below is an example of mhddfs and mergerfs setup to work similarly.
|
Below is an example of mhddfs and mergerfs setup to work similarly.
|
||||||
|
@ -2181,7 +2215,7 @@ without the single point of failure.
|
||||||
|
|
||||||
#### Why use mergerfs over ZFS?
|
#### Why use mergerfs over ZFS?
|
||||||
|
|
||||||
MergerFS is not intended to be a replacement for ZFS. MergerFS is
|
mergerfs is not intended to be a replacement for ZFS. mergerfs is
|
||||||
intended to provide flexible pooling of arbitrary filesystems (local
|
intended to provide flexible pooling of arbitrary filesystems (local
|
||||||
or remote), of arbitrary sizes, and arbitrary filesystems. For `write
|
or remote), of arbitrary sizes, and arbitrary filesystems. For `write
|
||||||
once, read many` usecases such as bulk media storage. Where data
|
once, read many` usecases such as bulk media storage. Where data
|
||||||
|
|
|
@ -1899,7 +1899,7 @@ The placing of usually smaller, faster storage as a transparent cache to
|
||||||
larger, slower storage.
|
larger, slower storage.
|
||||||
NVMe, SSD, Optane in front of traditional HDDs for instance.
|
NVMe, SSD, Optane in front of traditional HDDs for instance.
|
||||||
.PP
|
.PP
|
||||||
MergerFS does not natively support any sort of tiered caching.
|
mergerfs does not natively support any sort of tiered caching.
|
||||||
Most users have no use for such a feature and its inclusion would
|
Most users have no use for such a feature and its inclusion would
|
||||||
complicate the code.
|
complicate the code.
|
||||||
However, there are a few situations where a cache filesystem could help
|
However, there are a few situations where a cache filesystem could help
|
||||||
|
@ -2433,17 +2433,50 @@ All of which are fixed in stable releases.
|
||||||
.SS Can mergerfs be used with filesystems which already have data / are in use?
|
.SS Can mergerfs be used with filesystems which already have data / are in use?
|
||||||
.PP
|
.PP
|
||||||
Yes.
|
Yes.
|
||||||
MergerFS is a proxy and does \f[B]NOT\f[R] interfere with the normal
|
mergerfs is really just a proxy and does \f[B]NOT\f[R] interfere with
|
||||||
form or function of the filesystems / mounts / paths it manages.
|
the normal form or function of the filesystems / mounts / paths it
|
||||||
|
manages.
|
||||||
|
It is just another userland application that is acting as a
|
||||||
|
man-in-the-middle.
|
||||||
|
It can\[cq]t do anything that any other random piece of software
|
||||||
|
can\[cq]t do.
|
||||||
.PP
|
.PP
|
||||||
MergerFS is \f[B]not\f[R] a traditional filesystem.
|
mergerfs is \f[B]not\f[R] a traditional filesystem that takes control
|
||||||
MergerFS is \f[B]not\f[R] RAID.
|
over the underlying block device.
|
||||||
|
mergerfs is \f[B]not\f[R] RAID.
|
||||||
It does \f[B]not\f[R] manipulate the data that passes through it.
|
It does \f[B]not\f[R] manipulate the data that passes through it.
|
||||||
It does \f[B]not\f[R] shard data across filesystems.
|
It does \f[B]not\f[R] shard data across filesystems.
|
||||||
It merely shards some \f[B]behavior\f[R] and aggregates others.
|
It merely shards some \f[B]behavior\f[R] and aggregates others.
|
||||||
|
.SS Can drives/filesystems be removed from the pool at will?
|
||||||
|
.PP
|
||||||
|
Yes.
|
||||||
|
See previous question\[cq]s answer.
|
||||||
.SS Can mergerfs be removed without affecting the data?
|
.SS Can mergerfs be removed without affecting the data?
|
||||||
.PP
|
.PP
|
||||||
|
Yes.
|
||||||
See the previous question\[cq]s answer.
|
See the previous question\[cq]s answer.
|
||||||
|
.SS Can drives/filesystems be moved to another pool?
|
||||||
|
.PP
|
||||||
|
Yes.
|
||||||
|
See the previous question\[cq]s answer.
|
||||||
|
.SS How do I migrate data into or out of the pool when adding/removing drives/filesystems?
|
||||||
|
.PP
|
||||||
|
You don\[cq]t need to.
|
||||||
|
See the previous question\[cq]s answer.
|
||||||
|
.SS How do I remove a drive/filesystem but keep the data in the pool?
|
||||||
|
.PP
|
||||||
|
Nothing special needs to be done.
|
||||||
|
Remove the branch from mergerfs\[cq] config and copy (rsync) the data
|
||||||
|
from the removed filesystem into the pool.
|
||||||
|
Effectively the same as if it were you transfering data from one
|
||||||
|
filesystem to another.
|
||||||
|
.PP
|
||||||
|
If you wish to continue using the pool while performing the transfer
|
||||||
|
simply create another, temporary pool without the filesystem in question
|
||||||
|
and then copy the data.
|
||||||
|
It would probably be a good idea to set the branch to \f[C]RO\f[R] prior
|
||||||
|
to doing this to ensure no new content is written to the filesystem
|
||||||
|
while performing the copy.
|
||||||
.SS What policies should I use?
|
.SS What policies should I use?
|
||||||
.PP
|
.PP
|
||||||
Unless you\[cq]re doing something more niche the average user is
|
Unless you\[cq]re doing something more niche the average user is
|
||||||
|
@ -2674,7 +2707,7 @@ The splice code was removed to simplify the codebase.
|
||||||
.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
|
||||||
issues (see below).
|
issues (see below).
|
||||||
MergerFS provides a superset of mhddfs\[cq] features and should offer
|
mergerfs provides a superset of mhddfs\[cq] features and should offer
|
||||||
the same or maybe better performance.
|
the same or maybe better performance.
|
||||||
.PP
|
.PP
|
||||||
Below is an example of mhddfs and mergerfs setup to work similarly.
|
Below is an example of mhddfs and mergerfs setup to work similarly.
|
||||||
|
@ -2713,8 +2746,8 @@ and/or an offsite backup solution you can have the flexibility of JBOD
|
||||||
without the single point of failure.
|
without the single point of failure.
|
||||||
.SS Why use mergerfs over ZFS?
|
.SS Why use mergerfs over ZFS?
|
||||||
.PP
|
.PP
|
||||||
MergerFS is not intended to be a replacement for ZFS.
|
mergerfs is not intended to be a replacement for ZFS.
|
||||||
MergerFS is intended to provide flexible pooling of arbitrary
|
mergerfs is intended to provide flexible pooling of arbitrary
|
||||||
filesystems (local or remote), of arbitrary sizes, and arbitrary
|
filesystems (local or remote), of arbitrary sizes, and arbitrary
|
||||||
filesystems.
|
filesystems.
|
||||||
For \f[C]write once, read many\f[R] usecases such as bulk media storage.
|
For \f[C]write once, read many\f[R] usecases such as bulk media storage.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user