这个 SMART 自检是否指示驱动器出现故障?

这个 SMART 自检是否指示驱动器出现故障?

我想知道这个 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

答案1

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

您运行了两次测试,两次测试都无法读取磁盘的同一逻辑扇区,正如Completed: read failure两次测试中相同的 LBA 所示。这确实表明磁盘存在缺陷,您应该能够在保修期内更换它。尝试将数据存储在此扇区中可能会导致驱动器在写入过程中注意到它有缺陷并重新映射扇区,但如果驱动器没有注意到,并且稍后无法读取数据,那么您就失去了它。

答案2

如果您处于这种情况我会怎么做?

首先,我会找出哪些文件受到了影响。这里有一些如何操作的说明 https://www.smartmontools.org/wiki/BadBlockHowto。是的。对于你的情况来说,这更难,因为你有一个数组。但这是可能的。然后,确保此文件已备份,然后将零写入故障扇区。可能会发生两件事。

  1. 驱动器成功将零写入此扇区。此后,Current_Pending_Sector、Reallocated_Sector_Ct 应为零。
  2. 驱动器无法向该扇区写入数据。然后驱动器将该扇区重新映射到“备用”区域。

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

保持健康!

PS 我知道这篇文章有点老了。但我在谷歌上搜索了它。我认为提供另一个好的答案是个好主意。

答案3

您的数据是否值得冒险放置在可疑的驱动器上?

如果是我的话,我会更换驱动器并感谢 SMART 为我省去了很大的麻烦。

答案4

  • 尽快备份!

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

    • 运行供应商的检查实用程序(通常可以获得启动 CD)
    • 如果返回错误,则返回错误,然后将其发回并等待更换
    • 从备份恢复
    • 问题解决 - 结束

  • 如果这个驱动器没有保修,那你就完蛋了
    • 还有一些希望...
    • 因为这实际上只是一个读取错误,所以这并不意味着您无法写入它
    • 备份后,您可以尝试恢复备份,因为它会用新数据覆盖那些不可读的扇区,而您实际上可以读回这些数据(通常这是有效的,在后台,驱动器大多数时候会将这些块重新映射到备用扇区)
    • badblocks工具也可以用于此(您已经有备份了,对吗?)
      • 你实际上并不使用它来测试磁盘(对于永不磁盘来说这没有多大意义),而是多次写入这些扇区
    • 您可以再次重新运行智能测试,这些无法读取的扇区可能会“自我纠正”
    • 问题没有解决,你只是让驱动器使用的时间更长,可能它会比正常情况下更快出现故障,也许一年内取决于它的使用情况,但磁盘很便宜,如果你的数据对你很重要,那就买一个新的吧——结束

相关内容