如何防止硬盘驱动器出现无声损坏?

如何防止硬盘驱动器出现无声损坏?

对于干涸的驱动器(有越来越多的坏扇区),在 ext4 日志分区上,cp操作有时会完成而不会出现错误,但写入的数据可能是错误的,或者在文件创建后无法读取(读取部分后出现无效参数错误)。

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

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

我可以对源文件和新创建的文件进行 md5 处理,但这听起来像是黑客行为。

谢谢。

更新:我想我没有充分解释我为什么要问这个问题,因此每个人都假设了一些不存在的事情。

我愿意不是想继续使用此驱动器。从我注意到问题的那一刻起,此驱动器就已断开连接。我想要的是防止此处发生的情况再次发生在其他驱动器上。

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

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

答案1

将其重新安装为只读并复制您的当前数据。

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

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

答案2

没有一个文件系统可以防止故障硬盘发生故障,最多它们会通过校验和让您知道数据错误,ZFS 和 Btrfs 都支持校验和,我相信 EXT4 正在努力添加校验和。

唯一能做的就是在新驱动器彻底失效并丢失所有数据之前,获取一个新的驱动器并从旧驱动器复制数据。

关于cp你可以使用rsync复制文件,复制完成后,再次运行它,如果数据没有改变,那么就不会复制任何内容,你就会知道复制是正确的,如果不是,它只会复制文件的不同部分。

我不知道您为什么要继续使用该驱动器,只要更换它就可以节省大量时间并避免混乱。

答案3

首先:停止将驱动器安装为可写 - 这非常危险,因为混乱的驱动程序可能会对您的数据造成很大的损害。

第二:尝试以下两个工具之一:我的救援救援。您需要另一个健康的设备作为目标。这些工具会尝试复制尽可能多的数据,跳过坏块并稍后再尝试。这可能需要很长时间,具体取决于设备的损坏程度。但如果您满意,您将恢复大部分数据。

相关内容