我想知道这个 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。是的。对于你的情况来说,这更难,因为你有一个数组。但这是可能的。然后,确保此文件已备份,然后将零写入故障扇区。可能会发生两件事。
- 驱动器成功将零写入此扇区。此后,Current_Pending_Sector、Reallocated_Sector_Ct 应为零。
- 驱动器无法向该扇区写入数据。然后驱动器将该扇区重新映射到“备用”区域。
无论如何,您最终都会得到一个修复的驱动器。您应该从备份中恢复文件(因为您覆盖了其中一个扇区)。此外,您还应该重新运行扩展自检以确保没有更多错误。
保持健康!
PS 我知道这篇文章有点老了。但我在谷歌上搜索了它。我认为提供另一个好的答案是个好主意。
答案3
您的数据是否值得冒险放置在可疑的驱动器上?
如果是我的话,我会更换驱动器并感谢 SMART 为我省去了很大的麻烦。
答案4
尽快备份!
如果此驱动器仍在保修期内,那么
- 运行供应商的检查实用程序(通常可以获得启动 CD)
- 如果返回错误,则返回错误,然后将其发回并等待更换
- 从备份恢复
- 问题解决 - 结束
- 如果这个驱动器没有保修,那你就完蛋了
- 还有一些希望...
- 因为这实际上只是一个读取错误,所以这并不意味着您无法写入它
- 备份后,您可以尝试恢复备份,因为它会用新数据覆盖那些不可读的扇区,而您实际上可以读回这些数据(通常这是有效的,在后台,驱动器大多数时候会将这些块重新映射到备用扇区)
badblocks
工具也可以用于此(您已经有备份了,对吗?)- 你实际上并不使用它来测试磁盘(对于永不磁盘来说这没有多大意义),而是多次写入这些扇区
- 您可以再次重新运行智能测试,这些无法读取的扇区可能会“自我纠正”
- 问题没有解决,你只是让驱动器使用的时间更长,可能它会比正常情况下更快出现故障,也许一年内取决于它的使用情况,但磁盘很便宜,如果你的数据对你很重要,那就买一个新的吧——结束