SMART 日志中的 IDNF 错误

SMART 日志中的 IDNF 错误

如果没有发现其他问题证据(包括智能自检和坏块运行),忽略智能日志中的 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)

相关内容