让我在这里更好地解释一下……我有一个 1 TB 的硬盘,里面有坏块,我知道它会降级直到停止,但我仍然想继续使用它。所以,我的问题是:是否有任何文件系统能够将此驱动器分区,例如分成两个 500GB,在分区上镜像数据并自动执行类似以下操作:
- 尝试从磁盘读取数据。
- 发现一个分区上有一个坏块。
- 将有风险的数据(现在只能从一个分区读取)复制到同一分区(坏块)上的另一个块。
- 减少磁盘上的总空间(减少一个块?),因为您无法再完全镜像 500GB。
我不是基础设施方面的专家,我是一名开发人员,所以,也许有一些非常知名的东西,比如 RAID 操作系统,可以为我做到这一点,但我真的不知道。我试过一次 RAID,但当我遇到 1 次故障时,Windows 会自动提醒我,分区再也不会“同步”了。
任何操作系统上的任何解决方案对我来说都是可以的。
谢谢!
答案1
这实际上并不适用,因为在现代硬盘上这是一个糟糕的想法(...现代指的是过去 15 年左右的任何事物)。了解操作系统和文件系统用于在磁盘上查找数据的地址实际上并不直接对应于文字,这一点非常重要身体的磁盘上的地址,而是驱动器控制器上的分配表。驱动器本身会不断对磁盘执行错误检查,并在必要时悄悄移动数据块以应对错误的读取和写入。将磁盘分成几部分来执行错误更正的想法基本上是一蹴而就的,因为无法保证各部分本身完全相互隔离。
另一点是,如果驱动器已经严重到在尝试读取/写入时返回错误代码的地步,那么它已经比您想象的要糟糕得多 - 因为实际上,您看到的是驱动器固件无法再纠正错误的确认。也就是说,如果您看到来自 SMART 诊断的信息告诉您可纠正错误的数量不断增加,那么您就会预感到事情正在恶化(即订购替换驱动器)。但是,如果操作系统出现错误?事情已经非常非常糟糕了,您上周就应该更换它了。
以下是一些建议:
看看一些实际采取措施验证磁盘数据状态的写时复制文件系统(例如 btrfs 和 ZFS)。不过,这只在多驱动器设置的情况下才有意义,因为您需要让文件系统至少有机会找到数据的干净副本。
目前 1TB 磁盘非常便宜,而且疯狂地比你几乎肯定会遇到的意外碰撞的潜在后果更便宜。说真的——你问的问题类似于问如何继续驾驶一个光秃秃的、侧面有巨大凸起的轮胎。我们无法准确地说什么时候它的结局一定很糟糕。