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

1TB希捷Barracuda ES.2企业硬盘在全天候服务3年后,显示出失败的迹象。 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. 

为了创build这样的分区,有必要获取重新映射扇区的列表。 但是,操作系统没有可见的坏块。 即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 

你没有。

你去买另一个磁盘来取代它,除非你真的喜欢丢失数据。

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

简而言之,要获取重新分配的扇区列表并不容易,甚至映射磁盘的统计方法也需要根据固件的逻辑进行操作。

为了testing驱动器,我使用默认块大小运行了badblocks -wv ,并在此过程中监视重新分配的扇区数。 我做了几个意见。

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

  2. 然后在发生单个错误之后,磁盘就变成了阻塞模式。 这是每个ATA命令,甚至IDENTIFY DRIVE返回ABRT 。 尽pipe重新分配行业的价值仍然是积极的。 按照David Schwartz的build议来解释这种行为,我认为保留扇区以某种方式分布在驱动器的地址空间上。 这意味着驱动器可能已经预留了扇区,但其中的一部分可能会用完扇区重新映射。 在这种情况下,固件会阻塞驱动器。

  3. 驱动器强制循环后驱动器才会退出阻塞模式。 当旧驱动器让软件跟踪坏块并避免使用它们时,现代驱动器不会给这个机会。 当固件认为它不能处理错误,它使驱动器无法使用。

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

  5. 所谓的低级格式化,或写零到驱动器的每个可访问的扇区,以从不太可靠的磁盘部分重新分配扇区将无法工作,因为当驱动器用完保留扇区时,它改变了它处理错误的方式这使得使用起来比不使用任何预测性故障分析和简单报告错误的传统驱动器更不方便。

如果您的业务数据的价值低于驱动器的成本,那么就使用它们,如果没有,则将其丢弃,或者将其交给理解风险的部门的人员。 联系制造商,看看他们是否提供回收。

如果驱动器仍在保修期内,则可以先通过RMAstream程将其退回给制造商免费更换。 (安全擦除将擦除整个驱动器,包括重新分配或以其他方式无法访问的扇区。)(我很惊讶没有人提出这个build议。)否则,你做什么@SpacemanSpiff说买一个新的驱动器。

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

但是:如果真的有那么多的坏道,磁盘就是一个镇纸。 如果它不会重新分配或宣布它们正常(等待扇区出现在读取问题中,大多数是“软”错误,通常是由外部振动引起的)。

我已经有了许多这样的驱动器,在改变起始位置后,如果是大多数坏扇区,那么使用制造商的工具。 如果这是一个体面的控制器和软件,它会使用未分配的备件。 我运行了一个WD 1800,裁减了160GB,连续5年没有麻烦,直到控制器被一个坏的电源供电。 目前,我正在使用三星类似的电视帽,删除了100 GB的2 TB,在传输stream错误比驱动器希望介绍,所以这不是一个问题一段时间。

日立,三星和WD的llf工具似乎做了很好的重新映射,不知道希捷,因为他们已经废弃或立即遭受灾难性的失败。

*使用最终的启动盘,做这些事情要容易得多。

如果你真的想冒这个磁盘上的数据(我不会),然后使用dd完全写入磁盘零。

 dd if=/dev/zero of=/dev/sdX 

这将导致驱动器重新分配挂起的扇区,磁盘的整个表面将可用。 一段时间 ;-)