![使用 Btrfs 消除损坏的档案](https://linux22.com/image/68317/%E4%BD%BF%E7%94%A8%20Btrfs%20%E6%B6%88%E9%99%A4%E6%8D%9F%E5%9D%8F%E7%9A%84%E6%A1%A3%E6%A1%88.png)
我正在尝试让我的个人文件系统井然有序
我想压缩所有内容并将其组织到正确的目录中
我有很多 HDD 和一些 SSD
我想使用 Btrfs 及其校验和和冗余功能
我现在向您提出的问题是:如何配置一个数据清理守护进程,该守护进程会自动检测我随机丢失 HDD 扇区导致存档无法通过其校验和验证的情况,然后将备份复制到另一个扇区。
我的印象是这个备份实际上可以在同一个硬盘上。由于正常的老化和磨损,我不太可能一次性失去整个驱动器。将来我计划将我的备份文件系统扩展到多个硬盘。但现在我感兴趣的是让重复项分散在同一驱动器的多个扇区中。
我的最终结果是再也不用担心丢失随机 JPEG 或文本文件
我确实有多个 HDD,可以专用于单个大型冗余自动更正 Btrfs 文件系统。但我没有多个相同大小的驱动器
请给我链接一些很好的阅读材料,涵盖我感兴趣的内容
答案1
如何配置数据清理守护进程,该守护进程会自动检测我随机丢失 HDD 扇区导致存档无法通过其校验和验证的情况,然后将备份复制到另一个扇区。
它内置于 Btrfs 中。尝试:
btrfs scrub start
我从来没有发现过错误,但我希望如果发现错误,那么:
- 它将在内核日志输出中报告
- 如果可能的话将予以纠正。也就是说,只要存储策略不存在,它就会被纠正。单身的。
由于您有多个设备,因此您可以使用突袭1或者突袭5或者突袭6作为元数据和数据的存储策略。意识到突袭5和突袭6最近才推出,可能不像其他 Btrfs 那样稳定(值得信赖)。
但我没有多个相同大小的驱动器
与块级 RAID 不同,使用 Btrfs 完全没问题。
使用不同大小的驱动器并不一定会将有效容量限制为较小驱动器的大小,除非您正好有 2 个驱动器。如果您有超过 2 个驱动器,则某些数据可以位于 1+2 上,而其他数据可以位于 3+4 上,还有其他数据可以位于 1+4 上,依此类推。它可以很好地平衡。如果随着时间的推移它失去平衡(可能是由于不均匀的数据搅动),您可以稍后运行btrfs balance
- 但这可能需要一段时间。
答案2
关于“Btrfs 仅为元数据提供 DUP”的评论的旁注,它现在也为数据提供 DUP 支持(即甚至在 2022 年之前)。 https://zejn.net/b/2017/04/30/single-device-data-redundancy-with-btrfs/
# mkfs.btrfs --data dup --metadata dup /dev/sdX