我意识到我需要保护我的所有照片免遭比特腐烂(由于硬盘驱动器或网络传输错误而随机发生的文件损坏)。
我最近发现 par2 似乎是一个很棒的程序,可以创建冗余文件并提供检测和修复文件损坏的能力。
我不认为日志文件系统在这里是正确的解决方案,因为我希望保护与文件一起进入我的备份以及迁移到新的笔记本电脑时。
所以,我认为我需要的是一个可以作为 cronjob 运行的脚本,也许每小时一次。如果添加或更改文件(文件的编辑时间戳比冗余文件更新),它将查看所有需要保护的文件并更新冗余文件,如果任何文件已损坏(文件已更改但编辑),它将修复文件时间戳尚未更新)。
是否有任何脚本或程序可以做到这一点?或者是否有以另一种方式解决问题的程序?或者我应该自己写一个这样的脚本(我宁愿不写,我想要一些健壮的并且经过很多用户测试的东西)?
我已将我的 DHCP 服务器配置为提供两个名称服务器以实现冗余,因此如果其中一个处于离线状态,则可以使用另一个。
我已经配置了我的电脑,systemd-resolved
并根据resolvectl status
它已经选择了所有的 DNS 服务器(两者的 IPv4 和 IPv6 地址),并使用一个作为当前的服务器。
但是,如果 DNS 服务器脱机,systemd-resolved
则不会切换到下一个服务器,而是继续尝试连接到脱机的服务器,从而导致所有未缓存的名称解析失败。
如果我运行systemctl restart systemd-resolved
,它将切换到另一台服务器并继续工作,但它会在一段时间后随机切换回离线服务器并且名称解析将再次失败。
我如何才能systemd-resolved
停止使用离线 DNS 服务器并快速切换到它知道的其他服务器之一?
journalctl 仅在切换到使用离线服务器时才显示:
systemd-resolved[1985]: Using degraded feature set (UDP) for DNS server fdxx::x.
systemd-resolved[1985]: Using degraded feature set (TCP) for DNS server fdxx::x.
Run Code Online (Sandbox Code Playgroud)
发生这种情况时,有问题的服务器完全脱机,并且不响应 ping。
我正在寻找一个归档程序,为归档增加冗余。
示例:我有 500MB 的数据和 700MB 的媒体来刻录它。与其浪费 200MB,我想用它们来增加冗余。然后,如果某些数据损坏,归档程序将能够恢复它,因为它是多余的。
有这样的程序吗?你会推荐哪一个?如果可能,请使用 FOSS 软件:如果您没有存档器源代码,您不知道将来是否能够提取存档。
如何将文件分片file
成m 个文件,以便可以用其中任意n 个文件恢复?
它看起来像Erasure Code,最好是“最佳擦除代码”。(另一个应用程序和建议的编程库示例:“您需要擦除代码” /sf/answers/2025246681/)。这就像Reed-Solomon 纠错(比RAID6更灵活)风格的冗余。
早期发现:rsbep
到目前为止,我已经发现了一些修改,但它们似乎是针对不同的用例设计的。我还发现从 Linux 内核移植到用户空间的 reed-solomon 在这里,但它不是我所描述的目的的工具。
3-out-of-6 冗余级别示例:
split_with_redundancy -n 3 -m 6 input.dat
Run Code Online (Sandbox Code Playgroud)
生成input.dat.0..5
,因此这些文件的任何树都足以恢复:
recover_using_redundancy intput.dat.{0,2,4}
Run Code Online (Sandbox Code Playgroud)
我不关心给定文件中的错误,即我不需要Forward Error Correction。我假设我可以依靠让 n-out-of-m 冗余部分完全正确。