此SMART自检是否表明驱动器发生故障?


10

我想知道此SMART自检的结果是否表明驱动器发生故障,这是唯一在结果中出现“已完成:读取失败”的驱动器。

# smartctl -l selftest /dev/sde
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)   LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%      8981         976642822
# 2  Extended offline    Aborted by host               90%      8981         -
# 3  Extended offline    Completed: read failure       90%      8981         976642822
# 4  Extended offline    Interrupted (host reset)      90%      8977         -
# 5  Extended offline    Completed without error       00%       410         -

除了该SMART自检的输出之外,该驱动器尚未显示任何故障迹象。这是当前正在运行SMART自检的同一系统中不同驱动器的输出

# smartctl -l selftest /dev/sdc
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Self-test routine in progress 30%     15859         -
# 2  Extended offline    Completed without error       00%      9431         -
# 3  Extended offline    Completed without error       00%      8368         -


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       -       1
  3 Spin_Up_Time            0x0027   176   175   021    Pre-fail  Always       -       4183
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       48
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   088   088   000    Old_age   Always       -       8982
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       46
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       34
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       13
194 Temperature_Celsius     0x0022   111   101   000    Old_age   Always       -       36
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       1
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       1
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       2

4
如果您运行smartctl -a /dev/sde并发布了标SMART Attributes Data Structure有原始计数器的部分,它将大有帮助。特别是Raw_Read_Error_Rate其中的第一个是最好的“坏驱动器”指示器(在您的情况下,可能为!0)。
克里斯S

1
添加。。。。。。。。。。
杰夫·威灵

1
您添加的数据看起来足够好。如果该驱动器是RAID阵列的一部分,则无需担心。首先,您应该备份重要文件。如果不这样做,现在是开始的好时机。
克里斯S

4
@Jeff Welling:对此不屑一顾,但是,如果您的“备份”在RAID阵列上,则不是“备份”,而是“副本”。就我个人而言,如果出现驱动器故障,我将更换驱动器。如今,只需花费很少的钱就可以开车,即使这样,保险还是值得的。另外,我在同一天在同一(RAID10)阵列中遇到了两个驱动器故障。数组中有6个。FWIW。
肯德尔

1
@Kendall,我认为他的意思是该阵列用于备份,而原始文件位于其他位置。如果是这样的话,因为两个驱动器不太可能会发生故障(除非它们是新驱动器,否则婴儿死亡率是一个普遍的问题,而烧伤是大范围的普遍做法),我很可能会遇到这种情况。
克里斯·S

Answers:


8

希望您早就更换了驱动器,但是由于没有人直接回答这个问题...

您运行了两个测试,这两个测试均无法读取磁盘的相同逻辑扇区,这Completed: read failure在两个测试中均由和相同的LBA 指示。这确实表明磁盘有缺陷,您应该可以在保修期内将其更换。尝试在该扇区中存储数据可能会或可能不会导致驱动器在写入过程中重新发现该扇区并重新映射该扇区,但是如果驱动器没有注意到并且以后无法读取数据,则可能会丢失它。


4

您的数据值得在可疑驱动器上冒险吗?

如果是我,我将更换驱动器,并为SMART节省了我头疼而感到庆幸。


另外,我至少要设置一个cron脚本,使其每周在驱动器上智能运行一次,然后每周将其以报告或电子邮件的形式发送给您,以便您在大多数情况下可以提前识别哪些驱动器可能已停产,以避免必须从故障中恢复并从备份中恢复。如果您有多台计算机,则使用Nagios或Munin之类的监视工具会更容易。
威尔希尔

5
当您知道什么智能输出指示驱动器发生故障时,这样做就更容易了,很难分辨什么指示驱动器发生故障,什么不指示驱动器发生故障。
杰夫·威灵

4

我想在其他答案中添加评论,但由于缺少代表,所以无法确定。

您无需制作cron脚本,smartmontools软件包中有一个smartd守护程序,它可以处理您想做的事情:定期检查SMART状态。您所需要做的就是创建配置并启动服务。smartmontools软件包还包含一些示例脚本,当某些操作开始失败时,smartd可以调用这些脚本。


我没有使用cron脚本,而是正在使用smartd守护程序。它吐出了系统日志中的注释,我注意到在其他任何驱动器上通常看不到的几行,并尝试了自检,当我检查失败时,这些自检。我以前从未见过这种失败,所以我认为这里的人可能会遇到。如果您没有大量的经验,smartd的syslog输出是非常神秘的,虽然它确实可以告诉您,“ Drive X快要死了,需要更换”,但它并不能完全告诉您:)
杰夫·韦林(Jeff Welling)

2

在您的情况下我该怎么办?

首先,我找出哪些文件受到了影响。有一些说明如何执行此操作 http://smartmontools.sourceforge.net/badblockhowto.html#e2_example1 是的。在您的情况下,这比较困难,因为您有一个数组。但是有可能。然后,请确保已备份该文件,然后将零写入失败的扇区。可能发生两件事。1.驱动器成功将零写入此扇区。之后,Current_Pending_Sector,Reallocated_Sector_Ct应该为零。2.驱动器无法写入该扇区。然后,它将这个部门重新映射到“备用”区域。

无论如何,您最终都会得到一个固定的驱动器。您应该从备份还原文件(因为您覆盖了文件的一个扇区)。另外,您应该重新运行扩展的自检,以确保没有更多错误。

保持健康!

附言:我知道这篇文章有点陈旧。但是我仔细检查了。我认为提供另一个好的答案是一个好主意。


1
方便的信息!现在要尝试一下
kerridge0 2014年

0

驱动器可能即将退出。无法从驱动器的一部分读取数据绝对是一种故障情况,并且在没有其他典型的磁盘故障迹象的情况下也肯定有可能发生这种情况。这种事情通常不是短暂的。没有其他迹象的话,可能是头部虚弱,对齐问题非常轻微或盘子上有缺陷的区域(圆柱体?)。

另一个选择是存在一个SMART错误。您确实不想运行带有错误固件的驱动器。

每当您从SMART看到任何错误时,这都强烈表明您应该安装新驱动器以避免数据丢失。它的一部分是作为预警系统。


0
  • 尽快备份!

  • 如果此驱动器仍在保修期内,则

    • 运行供应商的检查实用程序(通常可以获取启动CD)
    • 如果返回错误,然后宾果游戏,将其发送回并等待替换
    • 从备份还原
    • 问题已解决-结束

  • 如果此驱动器没有保修,那么您就被搞砸了
    • 仍然有希望...
    • 因为这实际上是一个读取错误,但这并不意味着您无法对其进行写入
    • 备份后,您可以尝试还原备份,因为它将用新数据覆盖不可读的扇区,您可以实际读取这些数据(通常,这可以正常工作,在后台,驱动器在大多数情况下会将这些块重新映射到备用扇区)
    • badblocks 工具也可以用于此(您已经有备份,对吧?)
      • 您实际上并没有使用它来测试磁盘(无论如何从不使用磁盘没有多大意义),而是多次写入这些扇区
    • 您可以再次重新运行智能测试,并且这些不可读的扇区有可能“自行纠正”
    • 问题没有解决,您只能使驱动器的使用寿命更长,根据其使用情况,它可能会比正常情况下更快地出现故障,但是,嘿,磁盘很便宜,如果您的数据对您很重要,请换一个新磁盘-END

1
现代硬盘驱动器(如世纪之交以来)无法按照“无保修”部分所述的方式工作。
克里斯S

3
Wikipedia的Bad Sector文章开始。硬盘将逻辑扇区地址抽象并映射到它认为良好的扇区。一些供应商实用程序(有时为SMART,具体取决于驱动器公开的内容)可以报告重新映射的扇区。通常在写操作中检测到​​坏扇区。通常,一旦写入,便可以再次读取;它是初始写入操作,通常在坏扇区上失败。一旦一个部门坏了,那就永远是坏的,没有“纠正”它。
克里斯S

1
我想我没有说什么与您所说的相反,但是我澄清了一下,使其更“技术上正确”。
cstamas 2011年

2
不知道为什么人们这么不赞成你的答案。我想你很高兴。人们可能会误解您正在倡导保持轻巧的驱动器运行。但是考虑到OP是家庭用户,即使以今天的价格计算,也很可能会担心新驱动器的成本。我知道这是一个非常老的问题,但至少从我这里您会得到+1。;)
Markus A.

2
@cstamas:也可以同意您的答案是正确的-如果驱动器在完整的运行时间内badblocks -w(3倍写入,3倍读取)能够幸免,而不会产生新的坏扇区,我将保留它。否则,它太破损而无法在某个地方使用。
2013年
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.