smartctl 看起来给出了错误的结果,是不是我的 SSD 坏了?

smartctl 看起来给出了错误的结果,是不是我的 SSD 坏了?

今天备份一些文件时,我注意到 btrfs 抱怨我的 Crucial MX500 1TB SSD 上的某些块没有正确的校验和。我运行了一个btrfs scrub报告:

[email protected] - Btrfs scrub on /
     Loaded: loaded (/usr/lib/systemd/system/[email protected]; static; vendor preset: disabled)
     Active: failed (Result: exit-code) since Fri 2019-12-06 17:22:25 CET; 3h 56min ago
TriggeredBy: ● [email protected]
    Process: 4046 ExecStart=/usr/bin/btrfs scrub start -B / (code=exited, status=3)
   Main PID: 4046 (code=exited, status=3)

dec 06 17:22:25 redacted btrfs[4046]: Status:           finished
dec 06 17:22:25 redacted btrfs[4046]: Duration:         0:16:05
dec 06 17:22:25 redacted btrfs[4046]: Total to scrub:   308.05GiB
dec 06 17:22:25 redacted btrfs[4046]: Rate:             320.15MiB/s
dec 06 17:22:25 redacted btrfs[4046]: Error summary:    csum=10
dec 06 17:22:25 redacted btrfs[4046]:   Corrected:      0
dec 06 17:22:25 redacted btrfs[4046]:   Uncorrectable:  10
dec 06 17:22:25 redacted btrfs[4046]:   Unverified:     0
dec 06 17:22:25 redacted systemd[1]: [email protected]: Main process exited, code=exited, status=3/NOTIMPLEMENTED
dec 06 17:22:25 redacted systemd[1]: [email protected]: Failed with result 'exit-code'.

因此看起来只有 10 个块被损坏,这让我认为这实际上不是硬件错误,而只是一些错误。为了以防万一,我运行了几个 SMART 测试(两个short和两个offline)。之后,的输出smartctl如下所示:

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

=== START OF INFORMATION SECTION ===
Model Family:     Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs
Device Model:     CT1000MX500SSD1
Serial Number:    1845E1D544F0
LU WWN Device Id: 5 00a075 1e1d544f0
Firmware Version: M3CR023
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri Dec  6 21:14:57 2019 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

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:        (    0) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    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:    (  30) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x0031) SCT Status 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     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocate_NAND_Blk_Cnt 0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       1266
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       1820
171 Program_Fail_Count      0x0032   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   000    Old_age   Always       -       0
173 Ave_Block-Erase_Count   0x0032   100   100   000    Old_age   Always       -       8
174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age   Always       -       69
180 Unused_Reserve_NAND_Blk 0x0033   000   000   000    Pre-fail  Always       -       37
183 SATA_Interfac_Downshift 0x0032   100   100   000    Old_age   Always       -       0
184 Error_Correction_Count  0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   057   045   000    Old_age   Always       -       43 (Min/Max 0/55)
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   100   100   000    Old_age   Always       -       0
202 Percent_Lifetime_Remain 0x0030   100   100   001    Old_age   Offline      -       0
206 Write_Error_Rate        0x000e   100   100   000    Old_age   Always       -       0
210 Success_RAIN_Recov_Cnt  0x0032   100   100   000    Old_age   Always       -       0
246 Total_Host_Sector_Write 0x0032   100   100   000    Old_age   Always       -       5740642566
247 Host_Program_Page_Count 0x0032   100   100   000    Old_age   Always       -       93790426
248 FTL_Program_Page_Count  0x0032   100   100   000    Old_age   Always       -       97088644

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2

ATA Error Count: 0
    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 -1 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was in an unknown state.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 ec 00 00 00 00 00

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  ec 00 00 00 00 00 00 00      00:00:00.000  IDENTIFY DEVICE
  ec 00 00 00 00 00 00 00      00:00:00.000  IDENTIFY DEVICE
  ec 00 00 00 00 00 00 00      00:00:00.000  IDENTIFY DEVICE
  ec 00 00 00 00 00 00 00      00:00:00.000  IDENTIFY DEVICE
  c8 00 00 00 00 00 00 00      00:00:00.000  READ DMA

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      1266         -
# 2  Short offline       Completed without error       00%      1263         -

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.

因此,驱动器通过了测试,报告了Raw_Read_Error_Rate0 个 ATA 错误和零个 ATA 错误,但smartctl仍然显示在 0 小时发生的神秘错误 -1。

我的驱动器是否真的要坏了?或者这只是一个故障?

答案1

您的 SMART 数据看起来状态良好,无需担心。为了放心,您可以fsck在文件系统上运行,但磁盘没有问题。

有关错误消息,请参阅 Smartmontools 常见问题解答部分 “警告:ATA 错误计数 9 与错误日志指针 5 不一致”这个 smartctl 消息是什么意思?

ATA 错误日志存储在循环缓冲区中,ATA 规范对于条目的排序方式没有明确规定。此警告消息意味着磁盘固件没有严格遵守 ATA 规范中关于循环缓冲区中错误日志条目的排序。Smartmontools 将纠正此疏忽,因此用户可以安全地忽略此警告消息.(另一方面,固件工程师:请仔细阅读 ATA 规范,然后修复您的代码!)。

您可以运行更多的磁盘测试以确保无误,但我认为没有理由怀疑磁盘出现故障。

相关内容