我正在尝试了解位腐烂和数据损坏对磁盘上数据的影响。
目前,除了将我的家庭照片(JPEG 和 MOV)存储在我的主 PC 上之外,我还将它们存储在 dd-wrt 路由器上一个连接 USB 的 2TB SATA 驱动器上。这使用 Ext3 文件系统。我还每晚将 rsync 备份到路由器上的另一个相同驱动器上。
rsync 是否会捕获/报告/无法复制第一个磁盘上因坏扇区或从磁盘读取数据时翻转位而损坏的任何损坏数据,并且坏扇区是否会阻止读取文件以供 rsync 复制它?
答案1
好的,我会尝试一下...
首先,比特罗是一个通常表示“静默位损坏”的术语。这个问题有多严重?有争议的。通常,某个扇区损坏,HDD 会在您不知情的情况下将其替换。例如,图像落在损坏的扇区上,您会得到部分损坏的图像,或者更糟的是,对于 ZIP 文件,您会丢失其中的整个文件,因为您无法再解压它。
rsync 并非为从 bitrot 中恢复而设计的。正如 wiki 中所说,它是一种广泛使用的实用程序,用于在两个计算机系统上保持文件副本相同。如果发生 bitrot,两个副本中哪一个是正确的?为此,您需要 3 个或更多副本。
顺便说一句,在包含已替换扇区的文件的磁盘上,rsync 仍将按预期工作。它读取文件并看到它已更改。它会很好地复制它。只有当 HDD 无法自动替换扇区时(因为替换扇区池已耗尽),它才会卡住。
由于您有 3 份数据副本,因此您可以使用 rsync 将某些内容拼接在一起,使用所有三个副本的校验和进行深度扫描,然后进行比较并进行相应更新。我不知道是否有人做过类似的事情,但我认为这应该是可能的。
如果你真的担心 bitrot,最好的办法就是将文件存储在 ZFS 文件系统在您的存储设备上,因为它提供位腐坏检测和恢复功能。我建议您阅读有关将 FreeBSD 设置为 NAS 服务器的说明。或者,我建议您研究具有同样功能的 RAIDZ 磁盘解决方案。我警告您,这些解决方案会很昂贵。
希望这有帮助。
PS:位腐烂不仅发生在 HDD 上,还可能以其他方式发生。例如非 ECC 内存。
答案2
有点模糊的问题......但是当我收到读取错误时会出现某种消息,如“读取错误......”并且读取失败。
如果您担心备份出错,请进行 2 次备份,并保留 crc32 等校验和,或者担心篡改 md5、sha 等...