如何检测(并纠正)静默数据损坏?

Dav*_*ark 5 data-integrity file-corruption

我的问题是,如何检测家用 PC(Windows + Linux)上的静默数据损坏。我做 rsync 喜欢自动备份(有版本历史)。但是我怎么知道几个月/几年后一个长期未使用的文件(如论文或我的银行历史)仍然完好无损?也许我只是在备份损坏的文件。

如果它只有一个文件,我可以每隔几周检查一次它是否仍然有效(散列或只是打开它),但是在数百个文件上执行它是平凡的。即使我发现文件已损坏,我怎么知道它何时损坏?

此时,我需要在我的备份中找到文件仍然正常的日期。如果里面有工作副本!并且也没有被损坏。

Cern 数据完整性研究

Gre*_*SAT 2

如果您想纠正这些丢失的数据,则必须使用某种数据复制技术。要么 RAID,要么备份。
备份是一种首选方式,因为它们可以防止文件被删除、文件系统崩溃等。RAID 只能防止部分和全部磁盘故障。您必须查看系统日志才能发现任何故障。
对于 Linux,您可以使用 ZFS。每组数据都有自己的校验和,文件系统驱动程序会通过实时校正来处理这一问题。我认为这是目前最好的方法。

如何检测它们?
嗯,对于 Linux,这非常简单:除了 ZFS 之外,只需使用软件 RAID,默认配置每月进行一次数据清理(Debian 和 Ubuntu,对于其他系统可能也是如此)。
对于Windows...你必须使用一些技巧。例如,每月读取每个文件一次(使用脚本)并查看系统日志是否报告了任何内容。
如果您有硬件 RAID 控制器(不是 faike RAID,而是真正的 RAID 卡),大多数都包含自动清理的软件。

另一种方法是存储文件校验和,并根据校验和定期检查文件。Tripwire 为 Unix 执行此操作。您必须支持修改后的文件具有不同校验和的事实。我不知道有什么适用于 Windows 的软件,但其他人可以。