保护数据免受位腐烂

Jon*_*lus 8 storage files redundancy

我意识到我需要保护我的所有照片免遭比特腐烂(由于硬盘驱动器或网络传输错误而随机发生的文件损坏)。

我最近发现 par2 似乎是一个很棒的程序,可以创建冗余文件并提供检测和修复文件损坏的能力。

我不认为日志文件系统在这里是正确的解决方案,因为我希望保护与文件一起进入我的备份以及迁移到新的笔记本电脑时。

所以,我认为我需要的是一个可以作为 cronjob 运行的脚本,也许每小时一次。如果添加或更改文件(文件的编辑时间戳比冗余文件更新),它将查看所​​有需要保护的文件并更新冗余文件,如果任何文件已损坏(文件已更改但编辑),它将修复文件时间戳尚未更新)。

是否有任何脚本或程序可以做到这一点?或者是否有以另一种方式解决问题的程序?或者我应该自己写一个这样的脚本(我宁愿不写,我想要一些健壮的并且经过很多用户测试的东西)?

max*_*zig 5

规范的解决方案是使用支持校验和的文件系统并进行定期备份。

除此之外,如果可能,您还可以在文件系统层使用冗余存储方案 (RAID),以避免从备份中进行耗时的恢复。

此类文件系统的示例是ZFSBtrfs

此类文件系统的校验和功能是使用加密散列函数实现的。因此,以非常高的概率检测到存储堆栈下游的位错误 - 因为它们检测损坏的能力与使用par2.

这些文件系统还包括冗余存储功能——类似于 RAID 级别。与经典分层 RAID 方法的不同之处在于,在检测到损坏的情况下,文件系统能够选择“正确”的分支,即 RAID 镜像返回具有正确校验和的块的一侧。