如果没有发现其他问题证据(包括智能自检和坏块运行),忽略智能日志中的 IDNF 错误是否是一种好的做法?有人有这方面的经验吗?详情如下。
在检查使用了 2 年的驱动器是否仍然正常(适用于我的笔记本)时,我注意到智能日志中出现以下错误(摘自smartctl -a /dev/sdd
):
SMART Error Log Version: 1
ATA Error Count: 33 (device log contains only the most recent five errors)
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 33 occurred at disk power-on lifetime: 6 hours (0 days + 6 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 00 00 00 00 00 Error:
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
a1 00 00 00 00 00 a0 00 00:05:34.511 IDENTIFY PACKET DEVICE
25 00 00 00 00 00 e0 ff 00:05:34.500 READ DMA EXT
25 00 01 00 00 00 e0 00 00:05:30.790 READ DMA EXT
25 00 01 00 00 00 e0 00 00:05:29.550 READ DMA EXT
25 00 01 00 00 00 e0 00 00:05:29.549 READ DMA EXT
Error 32 occurred at disk power-on lifetime: 6 hours (0 days + 6 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
10 51 32 9c fd ff 0f Error: IDNF 50 sectors at LBA = 0x0ffffd9c = 268434844
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
25 00 32 9c fd ff e0 00 00:00:51.163 READ DMA EXT
25 00 32 9c fd ff 0f 04 00:00:51.156 READ DMA EXT
25 00 32 9c fd ff e0 00 00:00:51.074 READ DMA EXT
25 00 32 9c fd ff 0f 04 00:00:51.068 READ DMA EXT
25 00 32 9c fd ff e0 00 00:00:50.985 READ DMA EXT
智能日志中存储的所有其余 3 个错误与最后一个错误相同(IDNF error at 0x0ffffd9c
)。
据我了解,错误意味着未找到扇区 ID,所以这并不直接意味着驱动器有问题,但仍然有问题。
没有智能属性显示问题(例如没有重新分配的扇区):
# smartctl --attributes /dev/sdd
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.13.10-200.fc20.i686] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== 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 0x000b 100 100 062 Pre-fail Always - 0
2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 217 217 033 Pre-fail Always - 1
4 Start_Stop_Count 0x0012 099 099 000 Old_age Always - 1659
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 092 092 000 Old_age Always - 3856
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 1659
191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 29
193 Load_Cycle_Count 0x0012 056 056 000 Old_age Always - 441546
194 Temperature_Celsius 0x0002 206 206 000 Old_age Always - 29 (Min/Max 14/46)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0
智能自检也报告没有问题:
# smartctl -t long /dev/sdd
... after a while ...
# smartctl -l selftest /dev/sdd
smartctl 6.2 2013-07-26 r3841 [i686-linux-3.13.10-200.fc20.i686] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== 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 without error 00% 3853 -
# 2 Extended offline Completed without error 00% 3851 -
# 3 Short offline Completed without error 00% 3847 -
为了确保万无一失,我用badblocks
随机数据覆盖了整个磁盘,以检查是否存在坏扇区。也没有发现任何问题:
# badblocks -s -w -v -t random /dev/sdd
Checking for bad blocks in read-write mode
From block 0 to 312571223
Testing with random pattern: done
Reading and comparing: done
Pass completed, 0 bad blocks found. (0/0/0 errors)