如何使用重新分配扇区数较高的磁盘?

如何使用重新分配扇区数较高的磁盘?

经过 3 年全天候服务后,1TB Seagate Barracuda ES.2 企业级硬盘出现故障迹象。SMART 重新分配扇区数很高。

维基百科文章这表明,如果重新映射的扇区未被使用,驱动器仍可用于不太敏感的用途,例如阵列之外的临时存储。

A workaround which will preserve drive speed at the expense of capacity 
is to create a disk partition over the region which contains remaps and 
instruct the operating system to not use that partition.

为了创建这样的分区,必须获取重新映射扇区的列表。但是操作系统看不到任何坏块。即badblocks返回一个空列表。

有没有办法恢复重新分配的扇区列表?

编辑:这个驱动器来自一个阵列。我们每年都会遇到几个故障,把它们扔掉似乎是一种浪费。我正在考虑给盘片中较好的部分第二次机会。

SMART 报告现在的样子如下。

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda ES.2
Device Model:     ST31000340NS
Serial Number:    **********
Firmware Version: SN05
...
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   056   054   044    Pre-fail  Always       -       164293299
  3 Spin_Up_Time            0x0003   099   099   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       14
  5 Reallocated_Sector_Ct   0x0033   005   005   036    Pre-fail  Always   FAILING_NOW 1955
  7 Seek_Error_Rate         0x000f   076   060   030    Pre-fail  Always       -       8677183434
  9 Power_On_Hours          0x0032   072   072   000    Old_age   Always       -       24893
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   037   020    Old_age   Always       -       14
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   097   097   000    Old_age   Always       -       3
190 Airflow_Temperature_Cel 0x0022   050   043   045    Old_age   Always   In_the_past 50 (0 6 50 32)
194 Temperature_Celsius     0x0022   050   057   000    Old_age   Always       -       50 (0 18 0 0)
195 Hardware_ECC_Recovered  0x001a   021   010   000    Old_age   Always       -       164293299
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       21
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       21
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0

答案1

你不知道。

你去买另一个磁盘来替换它,除非你真的不想丢失数据。

答案2

我想感谢您的建议并分享我从实验中获得的一些细节。

简而言之,没有简单的方法来获取重新分配的扇区列表,甚至映射磁盘的统计方法也因需要违背固件逻辑而受到严重阻碍。

为了测试驱动器,我badblocks -wv使用默认块大小运行,并在此过程中监控重新分配的扇区数。我做了一些观察。

  1. 我观察到,在写入磁盘开头时,重新分配的扇区数量急剧增加。然后从第一个 10G 到 700G 没有变化。这可以通过以下事实来解释:某些 RAID 管理数据存储在磁盘开头,因此小地址区域的磨损高于磁盘的其余部分。

  2. 然后,在发生一次错误后,磁盘本身就进入了阻塞模式。这是每个 ATA 命令,甚至IDENTIFY DRIVE返回ABRT。即使重新分配扇区的值仍然为正。要解释这种行为,请看大卫·施瓦茨建议,我假设保留扇区以某种方式分布在驱动器的地址空间中。这意味着驱动器可能有保留扇区,但其中一部分可能用尽了要重新映射的扇区。在这种情况下,固件只会阻止驱动器。

  3. 驱动器仅在关闭电源后才能退出阻塞模式。旧驱动器让软件跟踪坏块并避免使用它们,而现代驱动器则不提供这种机会。当固件认为无法应对错误时,它会使驱动器无法使用。

  4. 通过将重新分配扇区的值降低到 02,我得出结论,该驱动器上有 2048 个保留扇区。

  5. 所谓的低级格式化,或将零写入驱动器的每个可访问扇区以重新分配磁盘不太可靠部分的扇区,是行不通的,因为当驱动器用完保留扇区时,它会改变其处理错误的方式,这使得它比不进行任何预测性故障分析而只是报告错误的传统驱动器使用起来不那么方便。

答案3

如果您拥有的业务数据价值低于硬盘成本,那么就将其用于此目的,否则,就将其扔掉或交给了解风险的部门人员。联系制造商,看看他们是否提供回收服务。

答案4

实际上,增强的安全擦除更好,因为它也涵盖了保留块。

但是:如果真的有那么多坏扇区,那么磁盘就只是镇纸。如果它不重新分配它们或声明它们正常,情况也是如此(当出现读取问题时,就会出现待处理扇区。它们大多数是“软”错误,通常是由外部振动引起的。)

相关内容