我的硬盘出现故障了吗?


41

我只是试图在硬盘上进行测试,但它不想完成自测。结果如下:

smartctl --attributes --log=selftest /dev/sda
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-32-generic] (local build)

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       697
  3 Spin_Up_Time            0x0027   206   160   021    Pre-fail  Always       -       691
  4 Start_Stop_Count        0x0032   074   074   000    Old_age   Always       -       26734
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       28
  9 Power_On_Hours          0x0032   090   090   000    Old_age   Always       -       7432
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       3186
191 G-Sense_Error_Rate      0x0032   001   001   000    Old_age   Always       -       20473
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       84
193 Load_Cycle_Count        0x0032   051   051   000    Old_age   Always       -       447630
194 Temperature_Celsius     0x0022   113   099   000    Old_age   Always       -       34
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       16
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%      7432         92290592
# 2  Conveyance offline  Completed: read failure       90%      7432         92290596
# 3  Conveyance offline  Completed: read failure       90%      7432         92290592
# 4  Short offline       Completed: read failure       90%      7431         92290596
# 5  Extended offline    Completed: read failure       90%      7431         92290592

那么该磁盘出现故障了吗?


当我使用图形工具时,它说自检失败
2014年

3
重复的read failure消息通常表示磁盘出现故障,所以是的……
HBruijn 2014年

23
Michel,欢迎来到SF,并感谢您提出了一个很好的第一个问题。如您可能会看到,如果您决定不涉及这些部分(我希望您会这样做),那么一个很好的第一个问题是一件罕见而宝贵的事情。您有适合该站点的假设(“我的HDD出现故障 ”),找到了相关工具并学习了如何使用它,但是在解释结果时需要一些帮助。所以您来到这里,向我们提供了所有相关信息,没有多余的垃圾,并提出了一个简洁的模型。谢谢-请留在附近!
MadHatter在2014年

3
+1:优秀的第一个问题。要充分利用服务器故障,请注册您的帐户,然后检查Stack Exchange网络上的其他一些站点。我们希望看到您为Stack Exchange贡献更多高质量的内容。
bwDraco

Answers:


43

您的驱动器很高兴进行自我测试;从总结来看,它在过去一个小时中完成了五个以上的任务。在测试的早期,所有这些都因读取错误而失败。

是的,此硬盘驱动器出现故障。正如著名的Google实验室报告所述(尽管目前我无法把手指向它的链接),如果smartctl说您的驱动器出现故障,则可能是(我解释一下)。

编辑:不要尝试保存它。获取所有数据,然后将其替换。


9
如果失败,那就失败了。维修它在技术上是可能的,但与新驱动器的成本相比,极不可能具有成本效益。
Sobrique 2014年

7
@Michel遗憾的是,缺少自检错误并不表示驱动器没有发生故障,但是应该始终将自检错误视为存在故障的证据。
罗伯·摩尔

1
@Michel:您可以尝试更换电缆。有时,驱动器发生故障可能不是由于驱动器出现问题,而是由于电源或数据电缆损坏。
Thomas Padron-McCarthy

1
@JorgeNerín:我认为您的观点很不错,但是有证据表明,我和OP都已经明白这一点-OP必须这样做,因为他在过去两个小时内至少发起了五次。至于测试,我同意您的观点,即长时间测试可以更好地表明驱动器是否健康,但是如果在驱动器的前10%均未通过短路测试和传输测试,则我认为我们可以合理地得出结论:射击。您希望通过更广泛的测试来揭示什么?
MadHatter在2014年

2
@JorgeNerín<grin>很有道理!我之所以这么说,是因为OP首先将其驱动器拟人化:“ 我只是试图在自己的硬盘上运行测试,而它不想完成自检 ”。我不认为我们两个人都认为驱动器还活着,也不认为它可以自行安排自检!
MadHatter在2014年

10

要回答您的问题,SMART测试失败是肯定的驱动器故障迹象。您应该备份数据并尽快更换驱动器,以防止潜在的数据丢失。

@ sj0h提到了“加载周期计数”,该计数非常高,为447,630。(大多数现代硬盘驱动器被设计成可承受600,000次加载/卸载循环。)这通常是由高级电源管理(APM)功能引起的,该功能试图通过在几秒钟后停放磁头(从盘片中卸下磁头)来节省功率。闲。必要时,将磁头装回到盘片上。在大多数系统中,硬盘驱动器会间歇性地进行开/关活动,这可能会导致很多加载/卸载循环。要关闭APM,请在根目录提示符下运行以下命令:

smartctl -s apm,off /dev/sda

每次关闭系统电源后再打开电源或使其进入睡眠状态,或者关闭驱动器电源后,都需要运行此命令,因为在关闭驱动器时不会保留此设置。

以我的经验,这样做将大大减少加载/卸载循环的次数,因此将来有机会再次遇到这种故障。但是请注意,这样做会增加功耗和驱动器温度。如果驱动器在超过50°C的温度下持续运行,则过早故障的风险会增加,因此您可能想在温暖的月份将APM保持打开状态(如果关闭则将其打开)。


2

除了读取失败之外,还应考虑“加载周期计数”。在接近500,000时,这可能表明出现故障的原因,或者至少是高负载循环磨损。每分钟的上电时间都有一个负载周期。更换驱动器后,请确保新驱动器也没有执行此操作。


很好的观察。如何诊断驱动器每分钟旋转一次并备份的原因?
dotancohen 2014年

@dotancohen,请参阅我的答案— APM值得指责。
bwDraco 2014年

2

是的,您有16个无法读取的扇区,您已经尝试在硬盘的大致相同区域进行了几次测试,但所有测试都失败了,因此,请快速备份,但是请记住,您现在已经无法访问数据了,并且一直徘徊在硬盘附近。部门92290592、92290596。

您可能还有其他问题,您仍然不知道那16个扇区是连续的还是分散的,如果要在备份后播放,可以使用-t select,startlba-endlba进行选择性自检。

Current_Pending_Sector表示硬盘固件已尝试读取它,但不能,它将尝试多次(无论何时操作系统要求),直到失败并将其标记为Offline_Uncorrectable为止,否则,如果已损坏,则将损坏的扇区替换为另一个备用扇区。操作系统对其进行写入(因此增加了Reallocated_Sector_Ct)。


1

我会亲自更换驱动器。如果由于某种原因您不想这样做,但仍需要一段时间才能使用驱动器,则需要某种方法来确保您不会意外地将坏区用于新文件。

我在一台旧Mac上有这样的驱动器,只是在录制视频,所以决定不更改它,因为这些视频很不错。所以我需要找出错误。首先,我只为坏文件创建了一个空文件夹,然后尝试读取磁盘上的所有现有文件,然后将其中任何有错误的文件移动到bad-files目录(希望仅不重要)。

然后,我创建了很多唯一命名的1兆字节文件来填充硬盘驱动器(因此,所有空白空间都位于这1 MB文件之一中),然后重复该过程。所有包含错误的文件都移至bad-files目录,剩下的文件很好,可以删除以回收坏的空间。

您现在可以将驱动器使用更长的时间,但不要将其用于重要的事情。它失败更多,这将很可能是不方便的,当它发生。


1

这不是一个好兆头。您应该确保备份磁盘的内容,并且不要将磁盘用于任何重要的事情。

但是,我已经看到带有故障扇区的磁盘将其重新分配并可以使用数年,因此您可以将其保留一段时间,例如,用于不重要的东西或其他备份。

然后要做的一件事是查看哪些文件被不可读的扇区损坏,并写入这些扇区以强制磁盘重新分配(将它们从“ Current_Pending_Sector”移动到“ Reallocated_Sector_Ct”)。如果使用Linux,请参阅http://smartmontools.sourceforge.net/badblockhowto.html。重新分配扇区后,自检应该通过或报告更多不可读的扇区。

我不同意大多数答案,因为我认为坏部门不一定预示着即将失败。正如http://blog.mmueh.net/index.php/2010/12/09/luks-meets-badblocks/所说,“每个硬盘驱动器在其寿命的某个时刻开始产生坏扇区”。


虽然我确实同意无法确定发生故障的扇区是否会导致故障,但是在出现一个故障扇区后,驱动程序发生故障的可能性会显着增加(我认为这也在Google报告中,但我目前无法找到实际的出处)
丹尼斯Nolte 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.