我想为我的媒体数据构建一个家庭服务器,而不会浪费太多磁盘空间进行冗余
冗余与备份不同,因为我计划每天备份到第二个磁盘池,所以我接受磁盘故障的风险
不过,我将使用智能监控进行预测。即使磁盘最终毫无征兆地出现故障,我也不会在相当静态的存档中损失超过一天的更改
我喜欢将不同大小的磁盘池化的可能性,mergerfs看起来非常适合这样做
在我发现的教程中,mergefs经常与snapraid一起使用,但在我看来,snapraid相当慢。
另一方面,Btrfs具有写时复制和内置的快照功能,如NTFS或ZFS
我知道btrfs也可以池化磁盘,但从我读到的内容来看;单个";jbod模式下,如果一个磁盘出现故障,整个池将被损坏,而使用mergerfs时,只需要恢复故障磁盘的数据
这会在恢复时间上产生很大的差异
此外,合并可以降低非活动磁盘的速度,从而可能延长磁盘的使用寿命。
所以我的问题是:
一堆btrfs磁盘会与mergerfs一起工作吗?我还能在单个磁盘上使用btrfs快照功能吗?
根据您的需求而有所不同。但对于像媒体这样不经常改变的东西来说,合并并不是";最坏的";想法是可能的。尤其是如果一次只有少数用户的话。自2005年以来,我亲自构建了自己的NAS系统,并经历了我可以尝试的每一个RAID设置(硬件、软件或主板上,0、1、5、6、10)的所有各种事情,以及走ZFS路线和几年前的BTRFS。
根据我的个人资料(轶事,所以请谨慎),最糟糕的是RAID。与其他东西相比,它的冗余完全是一个笑话。
如果你想要一些介于两者之间的想法,它的硬件要求比ZFS低,但更好";"安全";则BTRFS是一个可用的选项。如果你确实想要一些冗余和修复损坏文件的能力(它们确实发生了,你只会发现为时已晚)。
但是,如果你所做的只是提供媒体文件,这感觉是一种浪费。像联合文件系统这样的东西开始变得很有意义了。这肯定比RAID 0要好。
对于我自己的家庭媒体服务器,我已经在一些Union FS或其他平台上运行了10多年。最初使用AUFS,但发现它不太稳定。转到mhddfs,仍然没有看到巨大的改进。两者都有停止工作并需要重新启动的倾向。大约5年前,我搬到了MergerFS,还没有遇到任何问题。
当然,您必须确保您有良好的备份,或者所有文件都可以轻松替换。如果磁盘出了问题,它的数据就会消失(至少不像RAID 0那样,所有数据现在都是空的)。
但我更喜欢有一些方法来恢复/更换磁盘。每隔2到3年就会发生一次我必须修复的事情。在MergerFS(和其他)的想法中,我也添加了SnapRAID奇偶校验——它除了RAID 5或6之外还有一些好处。尽管要注意,但不建议用于文件经常更改的服务器。这也确实增加了";快照";SnapRAID可以在文件被删除或更改时恢复文件,类似于BTRFS中的CoW,只是周期性的,而不是实时的。
顺便说一句,我很懒。以前有从命令行设置的东西。但说真的,那不是我喜欢的。在我尝试过的所有NAS专用操作系统中;"更容易";,我更喜欢Open Media Vault,因为它包含了上面列出的所有选项,具有相当简单的web界面。
至于BTRFS是否在MergerFS下工作。。。是的。MergerFS并不关心底层文件系统是什么。只要它处理访问控制和属性,它就可以按设计工作。在下面放置单个BTRFS磁盘可能有点浪费,但这也是一种选择——只是因为不使用它的一些类似RAID的功能,你就失去了BTRFS的大部分好处,这意味着你还不如使用EXT4。
当将btrfs与mergerfs一起使用时,会警告您不要将驱动器多路复用器与之一起使用。请找到一个具有足够驱动器端口或真正的sata控制器的主板来运行所有驱动器。在每个驱动器上,制作一个媒体共享文件夹,将它们与用于演出的mergefs连接起来。如果你想要一个用于冗余的驱动器,那么它们就是一个可以使用的名为snapraid的raid,效果很好。这对低数量的用户来说很好。
如果你想使用btrfs进行快照,你需要全力以赴,从空驱动器开始,并将它们加入某种btrfs突袭。我没有关于如何做到这一点的建议。
是的,您基本上可以将mergerfs与下面的任何文件系统一起使用,甚至可以将它们混合使用。请注意,如果您确实打算将SnapRAID与之一起使用,那么文件系统会有一些限制/注意事项,但btrfs通常是可以的。
在SnapRAID中使用类似btrfs的功能有点多余,因为在这种设置中,您并不真正需要/使用btrfs最常见的几个功能,即校验和/scrub和多设备支持,因为您正在用SnapRAID和mergefs替换这些功能。
你仍然可以使用btrfs的以下特殊功能:
- 发送/接收
- 快照
- 压缩
- 重复数据消除
请注意,对于重复数据消除和压缩,SnapRAID将只看到文件的明显大小,因此它需要空间来进行重复数据和未压缩数据的奇偶校验。
您可以在每个磁盘/子卷上使用快照,但SnapRAID将仅在主文件系统上运行。不过,您仍然可以访问快照,并且可以使用snapraid btrfs,这是一个使用只读快照的脚本,可以在每次snapraid同步时提供额外的保护。这样,如果您删除文件,它们在下一次同步之前仍在快照中,并且如果您丢失了磁盘,SnapRAID仍然可以访问它在快照中用于奇偶校验的完整数据集,即使某些文件已经删除。