硬盘非常慢,错误越来越多

硬盘非常慢,错误越来越多

几天以来,我的 Seagate Momentus 7200.4 故障越来越多,可能是因为断电。在出现“警告:您的硬盘驱动器出现故障”(我使用的是 Fedora)之后,主要症状是运行缓慢:持续 100% CPU 等待数小时,几乎无法执行任何操作。我进行了备份,然后重新启动,并且不得不执行 e2fsck -y(大量输出),之后我不得不重复执行此操作(甚至在某个时候没有启动,内核崩溃),我做了一些长短不一的 smartctl 测试,我把它放了一夜,让它进行扇区校正或诸如此类的操作。

现在累积的错误数量似乎减少了,计算机也基本可以使用了,但我该怎么办:除了使用 hdparm 逐个修复扇区之外,是否有效果更好的 fsck 命令,或者其他方法可以让它跳过坏扇区并继续运行?还是驱动器肯定会被丢弃?

摘自 smartctl -x /dev/sda:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     POSR--   085   074   006    -    243348742
  5 Reallocated_Sector_Ct   PO--CK   100   100   036    -    0
  7 Seek_Error_Rate         POSR--   084   060   030    -    238612361
  9 Power_On_Hours          -O--CK   087   087   000    -    11535
198 Offline_Uncorrectable   ----C-   100   100   000    -    8
199 UDMA_CRC_Error_Count    -OSRCK   200   200   000    -    0
240 Head_Flying_Hours       ------   100   253   000    -    132680129719553
241 Total_LBAs_Written      ------   100   253   000    -    2525013242
242 Total_LBAs_Read         ------   100   253   000    -    2162196433

Error 3759 [18] occurred at disk power-on lifetime: 11535 hours (480 days + 15 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  40 -- 51 00 00 00 22 7e 00 3d 2a 00 00  Error: UNC at LBA = 0x227e003d2a = 148142832938

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  60 00 00 00 08 00 22 7e 00 3d 28 40 00     18:38:24.892  READ FPDMA QUEUED
  27 00 00 00 00 00 00 00 00 00 00 e0 00     18:38:24.891  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
  ec 00 00 00 00 00 00 00 00 00 00 a0 00     18:38:24.889  IDENTIFY DEVICE
  ef 00 03 00 46 00 00 00 00 00 00 a0 00     18:38:24.889  SET FEATURES [Set transfer mode]
  27 00 00 00 00 00 00 00 00 00 00 e0 00     18:38:24.889  READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]


SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     11528         574443398

更多的: http://p.defau.lt/?DTSGCmr7mb_anDD3IQ9Bgg http://p.defau.lt/?hNM7_BusGyz4DYLi9XX0Kg http://p.defau.lt/?wQArANAXPLnpyD87xUY6CA http://p.defau.lt/?hXbtLh27yFZhySu0y9axJw

更新:正如您所说,磁盘已经要被丢弃了,我执行了 dmesg | grep -oE "sector.+$" | sort -u 并且我执行了 sudo hdparm --write-sector --yes-i-know-what-i-am-doing 'da twenty sector。现在运行另一个测试,让我们看看结果如何。

更新 2我必须使用 hdparm 手动修复更多坏扇区但是,一晚之后,我发现系统日志中的所有错误似乎都已成功自动更正,正如它们通常应该做的那样。在此期间,我遇到了一些有趣的错误,例如失真的电子音乐和 grep 崩溃,但 yum 更新可能足以修复它们。最后一个 smartctl -a /dev/sda 完成且没有错误;我现在有“ATA 错误计数:5004”,197 Current_Pending_Sector 和 198 Offline_Uncorrectable 为 2。

更新 3:系统基本可用,但问题仍然存在:“ATA 错误计数:9484”。我有时不得不使用 hdparm 技巧,但我认为它不能正常工作,因为问题随后出现在以下扇区上。Offline_Uncorrectable 没有增长,所以我怀疑磁盘无法停用坏扇区。我想我必须放弃并购买一个新的……

答案1

希望您的所有数据都已备份?

如果没有,请尽快获取一个新磁盘,至少与旧磁盘一样大,然后开始本地备份。

根据我的经验,尽早更换磁盘要容易得多。

然而,如果你有现金,你可能想投资一份旋转式。在磁盘上运行该程序 - 在极端情况下可能需要几天甚至几周的时间。它无法总是恢复磁盘,但它出奇地频繁地做到了。事实上,它会定期将磁盘从边缘带回来,我已经用它恢复了几台笔记本电脑。在一种情况下,它将磁盘恢复到 12 个月后仍在使用的程度。在另一种情况下,它恢复了大部分数据,足以进行更从容的重建。但它的价格约为 90 美元,并不便宜。如果错误是由您的机器的电源故障引起的,Spinrite 可能会很好地修复它。如果不是,它会向您显示情况有多糟糕,并可能为您赢得足够的时间复制到另一个磁盘。

顺便说一句,坏扇区应该由磁盘中的固件自动标记,您不应该弄乱它们。有趣的是,Spinrite 对磁盘进行的练习经常会重置坏扇区,因为它们可能是由于不一致的磁头移动而不是磁盘故障而被标记的。

顺便说一句,正如许多研究人员发现的那样,SMART 警告毫无用处,因为它们不能很好地预测磁盘故障。Google 就此事进行了大规模研究。

相关内容