我有一台 Seagate 3TB Expansion Desktop 硬盘,它是发生故障的 Linux RAID 6 阵列的一部分。
我最终通过 Seagate DiscWizard 和 Linux 都进行了零填充日,均未报告错误。
当我现在运行 Seatools 时,我得到:
Short DST - Started 5/31/2014 10:04:36 PM
Short DST - Pass 5/31/2014 10:05:37 PM
Long Generic - Started 5/31/2014 10:15:19 PM
Bad LBA: 518242762 Not Repaired
(whole bunch of bad LBAs ommited)
Bad LBA: 518715255 Not Repaired
Long Generic Aborted 6/1/2014 3:12:18 AM
即简短测试通过,长期测试失败。
不幸的是,该驱动器已过保修期,因此我无法直接退货。但我讨厌扔掉仍然可以使用的驱动器。
所以,我的问题是:
- 如果零填充成功并且简短测试通过,我还可以使用整个驱动器吗?
- 如果没有,因为我在 RAID 上使用 LVM,有没有办法告诉它们其中任何一个跳过坏区域?
- 如果不是上述情况,我可以在驱动器有坏 LBA 的部分之前和之后创建分区吗?
答案1
如果零填充成功并且简短测试通过,我还可以使用整个驱动器吗?
Seatools 说它有一些坏扇区,所以显然你不能使用所有的驱动器。顺便说一句,大多数驱动器都会愉快地写入数据,而不检查数据是否真的正确写入,这可能会导致静默数据损坏。另外,当您再次写入时,其中一些会设法重新定位(重新映射)坏扇区,但在您的情况下似乎没有起作用。
如果没有,因为我在 RAID 上使用 LVM,有没有办法告诉它们其中任何一个跳过坏区域?
如果你愿意接受丢失数据的风险,您可以尝试使用移动,但找出哪些 PE 对应于坏扇区将需要一些繁重的工作。移动它们后,您可以在受影响的 PE 上分配逻辑卷 (LV),以确保它们不会再次被使用。
如果不是上述情况,我可以在驱动器有坏 LBA 的部分之前和之后创建分区吗?
是的,如果你愿意接受丢失数据的风险。磁盘不可靠。
您还可以在格式化磁盘(分区)时传递坏块列表。例如文件系统具有以下参数:
-C 在创建文件系统之前检查设备是否有坏块。如果指定此选项两次,则使用较慢的读写测试而不是快速的只读测试。
-l 文件名 从 filename 读取坏块列表。请注意,坏块列表中的块号必须使用与 mke2fs 相同的块大小生成。因此,-Cmke2fs 选项是一种在格式化磁盘之前检查磁盘是否有坏块的更简单且更不容易出错的方法,因为 mke2fs 会自动将正确的参数传递给 badblocks 程序。
个人轶事
我有一块 Seagate Barracuda 7200 RPM 1 TB 硬盘,上面有几个坏扇区(Linux 报告 I/O 错误)。我运行badblocks -w
这意味着它通过在设备的每个块上写入一些模式、读取每个块并比较内容来扫描坏块。由于坏扇区可能在写入完成时被重新定位,因此它没有报告任何坏块。我一直用磁盘来存储不重要的数据,没有发现任何明显的问题(有些文件甚至有校验和,所以我可以确定它们是完整的)。
我还有另一块 Seagate Barracuda 5900 RPM 1 TB 硬盘,SMART 报告了几个坏扇区,但没有明显问题。由于上面没有重要数据,也无法运行badblocks -w
,所以我一直用了大约一年,直到我换了一块。同样,我没有发现明显问题(有些文件甚至有校验和,所以我确信它们是完整的)。
答案2
这是一个老问题,但今天仍然有意义。
如果零填充成功并且简短测试通过,我还可以使用整个驱动器吗?
如果零填充成功,则所有存在的坏扇区/待处理扇区都将被重新使用(它们没有根本性问题)或重新分配。因此,您可以使用整个驱动器。
不看 SMART 数据是否明智是第二节。
我将检查 SMART 数据并查看重新分配和待处理扇区的 RAW 值:
- 待处理扇区现在应该为零。
- 重新分配:我不信任具有许多重新分配扇区的驱动器。但是,如果待处理或重新分配的扇区随着时间的推移而增加,则驱动器可能没有问题。为了让驱动器能够检测到潜在的风险扇区,明智的做法是时不时地运行表面测试(可以使用适用于 Windows 的 Victoria 进行此操作)。
如果没有,因为我在 RAID 上使用 LVM,有没有办法告诉它们其中任何一个跳过坏区域?
同样,如果扇区被重新使用或重新分配,那么就没有需要避开的区域了。您应该让驱动器来处理这个问题。
如果不是上述情况,我可以在驱动器有坏 LBA 的部分之前和之后创建分区吗?
您应该让驱动器处理这个问题。如果驱动器无法重新分配坏扇区,则它确实很糟糕,应该将其丢弃。
最后的话:
驱动器是否仍可用在很大程度上取决于个人喜好。从这个角度来看,您的问题几乎偏离了主题。
我不建议或支持继续使用具有(许多)重新分配扇区的驱动器。我个人考虑更换具有 2 个以上重新分配扇区的驱动器。
然而,有人可能会争辩说,如果有 20 次重新分配,并且这个数字随着时间的推移保持稳定,那么继续使用驱动器是相对安全的。
我考虑解决驱动器拒绝重新分配不良做法的坏区域问题。