HDD SMART解读

HDD SMART解读

如果下面的驱动器出现故障,我需要您的意见。

当我运行“smartctl -a /dev/sda -d megaraid,1”时,输出末尾出现了 2 个错误,提示“Error: WP at LBA”。我在 SMART 参数中没有看到任何可疑的东西。

这是“smartctl -a /dev/sda -d megaraid,1”的完整输出。

该 HDD 是 Dell PowerEdge 服务器上 Dell H330 控制器上 RAID 1(镜像)硬件配置中的两个 HDD 之一。

smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-957.21.3.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA300
Serial Number:    73VCK8GDF
LU WWN Device Id: 5 000039 4ebc82c58
Firmware Version: FL1A
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Feb 27 23:05:39 2020 EET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART Status not supported: ATA return descriptor not supported by controller firmware
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (  120) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 510) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

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   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       8874
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       27
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   068   068   000    Old_age   Always       -       12964
 10 Spin_Retry_Count        0x0033   100   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       27
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       6
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       25
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       42
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       31 (Min/Max 11/48)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       0
222 Loaded_Hours            0x0032   068   068   000    Old_age   Always       -       12994
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       103
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0

SMART Error Log Version: 1
ATA Error Count: 2
        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 2 occurred at disk power-on lifetime: 12901 hours (537 days + 13 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
  -- -- -- -- -- -- --
  40 41 10 0e fb 74 40  Error: WP at LBA = 0x0074fb0e = 7666446

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  61 08 00 48 7a e0 40 00  42d+20:47:35.187  WRITE FPDMA QUEUED
  61 08 20 58 89 8a 40 00  42d+20:47:35.187  WRITE FPDMA QUEUED
  61 10 20 48 89 8a 40 00  42d+20:47:35.187  WRITE FPDMA QUEUED
  61 08 20 48 7a e0 40 00  42d+20:47:35.183  WRITE FPDMA QUEUED
  61 08 20 40 89 8a 40 00  42d+20:47:35.183  WRITE FPDMA QUEUED

Error 1 occurred at disk power-on lifetime: 12901 hours (537 days + 13 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
  -- -- -- -- -- -- --
  40 41 00 0e fb 74 40  Error: WP at LBA = 0x0074fb0e = 7666446

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  61 10 10 18 94 de 40 00  42d+20:47:32.312  WRITE FPDMA QUEUED
  60 00 08 00 fc 74 40 00  42d+20:47:32.311  READ FPDMA QUEUED
  60 00 00 00 fb 74 40 00  42d+20:47:32.311  READ FPDMA QUEUED
  60 00 00 00 fa 74 40 00  42d+20:47:32.284  READ FPDMA QUEUED
  60 00 00 00 f9 74 40 00  42d+20:47:32.264  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

稍后编辑1:

我还检查了 PowerEdge 服务器上的 iDRAC,并在“存储”菜单 >“摘要”>“最近记录的存储事件”中找到了与 2 个 SMART 错误的发生相对应的事件。

事件状态:“恢复期间已更正插槽 1 中的 RAID 控制器背板 1 中的磁盘 1 上的磁盘介质错误”。请参阅下面的屏幕截图。

来自 iDRAC > 存储菜单 > 摘要 > 最近记录的存储事件的图像

后来编辑2:

几天后,Current_Pending_Sector 增加到 1 并持续了几个小时,然后又减少到 0。

Reallocated_Sector_Ct、Reallocated_Event_Count 和 Offline_Uncorrectable 始终保持为 0。

SMART 错误日志中还出现了另一个错误:“错误:LBA 处的 UNC”。

尽管如此,iDRAC 中没有出现其他错误。

我们决定更换一个新的驱动器,因为我们不再信任这个驱动器。

谢谢你!

答案1

两个记录的错误表明您的硬盘无法读取/写入特定 LBA。但是,没有Reallocated_Sector_Ct / Reallocated_Event_Count / Current_Pending_Sector记录任何内容,这似乎表明盘片侧没有问题。

然而,这确实不是意味着你可以将错误视为软件引起的错误而丢弃:毕竟有些 LBA 无法正确读取/写入,因此你有一个真实的问题。当此类错误弹出而没有相应的坏扇区时,通常是由以下原因造成的:

  • SATA/电源线损坏
  • 电源故障
  • 振动太大。

在合适的 PowerEdge 服务器上,您不应该遇到电缆问题(即:您使用的是 SATA 背板)。虽然偶尔会出现问题,但这种情况非常罕见。

另一方面,您有一个非零值G-Sense_Error_Rate,因此读/写失败可能与服务器/磁盘的强烈振动有关。

我会同时监控 SATA 和dmesg日志,以确保问题不再发生。如果再次看到此问题,请记下受影响的 LBA 范围并将其与上面的范围进行比较 ( LBA = 0x0074fb0e = 7666446):如果情况仍然相同,则说明您有一个真正的坏扇区,出于某种原因,SMART 数据未报告该扇区(这是消费级磁盘上相对常见的行为,但对于企业级 HDD 来说却令人惊讶)。

更新:根据您的 iDRAC 日志,似乎介质错误已使用 Patrol Read 存储在另一镜像支路中的值进行更正。这确实看起来像是一个真正的坏块;但是,相对 SMART 计数器没有增加的事实令人费解。过去我看到过一个磁盘,它仅在报告读/写错误时才重新分配扇区两次对于受影响的扇区来说,但对于东芝企业磁盘来说,这会很奇怪。

另一个可能的解释是,某种原因(可能是强烈的震动)导致写入错误/未对齐/撕裂,从而导致扇区无法读取。但是,由于该扇区并未真正损坏,因此它被 Patrol Read 成功覆盖,而无需进行任何重新分配。

最后,这可能是真正的位腐烂情况:写入的数据与 HDD 内部 ECC 校验和不匹配。在这些情况下,HDD 会返回读取错误;然而,这并不能解释上面报告的错误。

反正,偶然预计会出现介质更正。但是,如上所述,我会监视情况,如果此类报告变得更加频繁,我会替换磁盘。

答案2

判断依据:

Reallocated_Sector_Ct   100   0
Reallocated_Event_Count 100   0
Current_Pending_Sector  100   0

您的硬盘没有问题。没有重新分配的扇区或等待重新分配的扇区。实际上,没有检测到可疑扇区。

WP 错误(即写保护)可能有各种非物理原因(与软件相关)。

因此,您的 HDD 没有出现故障。

相关内容