如何防止即将死亡的硬盘驱动器上的静默损坏?

Gui*_*eau 0 linux hard-drive corruption

使用干燥驱动器(具有越来越多的坏扇区),在 ext4 日志分区上,cp操作有时会完成而不会出错,但写入的数据要么是错误的,要么就是无法读取(无效参数错误之后阅读其中的一部分),就在文件创建之后。

是否有文件系统可以防止此类事件(可能是 ZFS)?

或者cp在删除源之前,是否有任何命令行应用程序可以代替, 来检查复制的数据是否正常?

我可以只 md5 源文件和新创建的文件,但这对我来说听起来像是一个黑客。

谢谢。

更新:我想我没有足够解释我为什么要问这个问题,因此每个人都假设了一些不是。

希望继续使用该驱动器。从我注意到问题的那一刻起,该驱动器就已断开连接。我想要的是防止其他驱动器再次发生这里发生的事情。

我有一个脚本,它使用 cp 定期将一些文件从驱动器 1 复制到驱动器 2,然后很快从驱动器 2 复制到驱动器 3。我面临的问题是 cp 从驱动器 1 复制到驱动器 2 时没有抱怨,即使驱动器 2 上的数据在将其复制到驱动器 3 时无法读取。那时,我从 drive1 上的副本已经被删除了(因为我需要可用空间,而且我的脚本没有报告任何错误,因此我认为 drive2 上的数据是正确的)。所以我丢失了文件。

所以我的问题是:阻止这种情况在未来再次发生的最佳方法是什么?我应该只使用带有校验和的文件系统,还是使用自己进行校验和的复制工具?

Ton*_*nny 8

将其重新安装为 READ-ONLY 并复制您的 NOW 数据。

这是处理坏驱动器的唯一明智之举。

任何继续使用它的尝试都是疯狂的。