如何处理坏道?

坏的部分最终会发生,但我该如何处理呢? 如果发生坏扇区,这是否意味着该扇区中的数据不可恢复地丢失了,我应该从备份恢复它? 有没有什么办法可以自动找出哪个文件属于这个扇区,哪个偏移量,并自动恢复? 有什么我可以在文件系统级别上做,使我的生活更轻松? (ECC?)

你不处理坏道。 您的硬件,服务器configuration和内部程序可以保护您免受其影响

  • 每个现代硬盘驱动器都会预测一定数量的坏扇区,并在内部重映射它们。 这个过程对于用户/操作系统来说是完全透明的,直到重映射空间全部用完(在这一点上你开始看到坏扇区)。
    早在你看到坏扇区之前,你的驱动器就会开始哭泣 – SMART或同等技术会导致驱动器向操作系统报告故障(当然,这是你正在监控的,对不对?)。

  • 如果你喜欢你的数据(而谁不喜欢),那么你不仅仅信任它到一个硬盘。
    所有重要的数据都在RAID卷上(硬件或软件 – 对此讨论的目的没有任何影响)。
    RAID为您提供了两个或更多的冗余硬盘驱动器,以便当一个磁盘出现故障时,您可以在不丢失任何数据的情况下更换它。

  • 因为您知道RAID不是备份 ,所以您还可以进行定期备份(并定期validation是否可以成功恢复它们),以便即使丢失的RAID驱动器数量足够多,您仍然可以恢复数据。


就像所有的好策略一样,这就是国防深度
硬盘会尽量妥善处理错误/坏道,以保护您的数据。
如果硬盘驱动器发生故障,RAID可以保证您的数据安全,直到您解决硬件问题。
如果RAID无法保护您,您的备份是保存数据的最后机会。

理想情况下,你总是使用所有这些技术(至less对于重要的数据),但是你总是至less有一层洋葱(即使是现在的笔记本电脑硬盘也是SMART)。

每次硬盘驱动器写入扇区时,它也会更新校验和(在扇区数据之后立即存储)。 从硬盘读取扇区时,预计扇区校验和将与扇区数据相匹配,如果不是这种情况,则在写入操作期间发生错误,这被称为坏扇区。

造成坏道的原因有两个:

  1. 写入期间电源故障。
  2. 硬盘驱动器发生故障。

我已经发布了一个免费的程序,允许你testing坏扇区的磁盘,看看你是否应该更换你的硬盘驱动器,或者干脆擦去一个健康的驱动器坏道,欢迎在这里下载。

至于你的第二个问题,我通常在NTFS备用数据stream中存储每个重要文件的MD5校验码,我写了一个很好的程序,帮助我散列和validation我的文件,并且不止一次地帮助了我,看看这里 。

ps RAID不会在断电期间将你从坏扇区中解救出来(除非你有电池备份),我从第一手的经验中知道这一点。 此外,您可能需要清除坏扇区,才能成功重buildarrays。