经过 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
使用默认块大小运行,并在此过程中监控重新分配的扇区数。我做了一些观察。
我观察到,在写入磁盘开头时,重新分配的扇区数量急剧增加。然后从第一个 10G 到 700G 没有变化。这可以通过以下事实来解释:某些 RAID 管理数据存储在磁盘开头,因此小地址区域的磨损高于磁盘的其余部分。
然后,在发生一次错误后,磁盘本身就进入了阻塞模式。这是每个 ATA 命令,甚至
IDENTIFY DRIVE
返回ABRT
。即使重新分配扇区的值仍然为正。要解释这种行为,请看大卫·施瓦茨建议,我假设保留扇区以某种方式分布在驱动器的地址空间中。这意味着驱动器可能有保留扇区,但其中一部分可能用尽了要重新映射的扇区。在这种情况下,固件只会阻止驱动器。驱动器仅在关闭电源后才能退出阻塞模式。旧驱动器让软件跟踪坏块并避免使用它们,而现代驱动器则不提供这种机会。当固件认为无法应对错误时,它会使驱动器无法使用。
通过将重新分配扇区的值降低到 02,我得出结论,该驱动器上有 2048 个保留扇区。
所谓的低级格式化,或将零写入驱动器的每个可访问扇区以重新分配磁盘不太可靠部分的扇区,是行不通的,因为当驱动器用完保留扇区时,它会改变其处理错误的方式,这使得它比不进行任何预测性故障分析而只是报告错误的传统驱动器使用起来不那么方便。
答案3
如果您拥有的业务数据价值低于硬盘成本,那么就将其用于此目的,否则,就将其扔掉或交给了解风险的部门人员。联系制造商,看看他们是否提供回收服务。
答案4
实际上,增强的安全擦除更好,因为它也涵盖了保留块。
但是:如果真的有那么多坏扇区,那么磁盘就只是镇纸。如果它不重新分配它们或声明它们正常,情况也是如此(当出现读取问题时,就会出现待处理扇区。它们大多数是“软”错误,通常是由外部振动引起的。)