我的一台 2007 年台式机上有一块 320GB 的 WD Caviar SATA 硬盘。
最近它开始随机旋转下来又重新旋转起来期间主动使用(例如,从中流式传输视频:视频暂停几秒钟后,磁盘将旋转减速并再次旋转起来)。
这又带回坏的记忆许多驱动器出现故障 - 但是,SMART 似乎表明一切正常。
这种情况平均每 1-2 小时发生一次。
我跑了:
sudo smartctl -t long /dev/sda
然后sudo smartctl -H /dev/sda
给我:
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-63-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
我看到 中报告了一些 ATA 错误smartctl -a /dev/sda
,但它们是 1000 小时前的:
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-63-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Caviar Blue Serial ATA
Device Model: WDC WD3200AAJS-22RYA0
Serial Number: WD-WCAPZ3371820
LU WWN Device Id: 5 0014ee 1aaff63b1
Firmware Version: 12.01B01
User Capacity: 320,072,933,376 bytes [320 GB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA/ATAPI-7 (minor revision not indicated)
Local Time is: Mon Feb 8 15:45:51 2016 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: (0x84) Offline data collection activity
was suspended by an interrupting command from host.
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: ( 8400) 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: ( 106) minutes.
Conveyance self-test routine
recommended polling time: ( 6) minutes.
SCT capabilities: (0x103f) 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 0x000f 200 200 051 Pre-fail Always - 282
3 Spin_Up_Time 0x0003 196 123 021 Pre-fail Always - 3175
4 Start_Stop_Count 0x0032 096 096 000 Old_age Always - 4032
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x000e 200 200 051 Old_age Always - 0
9 Power_On_Hours 0x0032 068 068 000 Old_age Always - 23426
10 Spin_Retry_Count 0x0012 100 100 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0012 100 100 051 Old_age Always - 0
12 Power_Cycle_Count 0x0032 097 097 000 Old_age Always - 3682
192 Power-Off_Retract_Count 0x0032 199 199 000 Old_age Always - 1044
193 Load_Cycle_Count 0x0032 199 199 000 Old_age Always - 4136
194 Temperature_Celsius 0x0022 103 080 000 Old_age Always - 44
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 6209
200 Multi_Zone_Error_Rate 0x0008 200 200 051 Old_age Offline - 0
SMART Error Log Version: 1
ATA Error Count: 319 (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 319 occurred at disk power-on lifetime: 22101 hours (920 days + 21 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 51 00 78 36 07 e5 Error: UNC at LBA = 0x05073678 = 84358776
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 78 36 07 05 00 01:10:48.804 READ DMA
c8 00 08 90 05 fe 04 00 01:10:48.803 READ DMA
c8 00 08 88 05 fe 04 00 01:10:48.803 READ DMA
c8 00 08 80 05 fe 04 00 01:10:48.793 READ DMA
c8 00 08 78 05 fe 04 00 01:10:48.793 READ DMA
Error 318 occurred at disk power-on lifetime: 22101 hours (920 days + 21 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 51 00 78 36 07 e5 Error: UNC at LBA = 0x05073678 = 84358776
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 78 36 07 05 00 01:10:46.699 READ DMA
c8 00 08 90 03 fe 04 00 01:10:46.697 READ DMA
c8 00 08 88 03 fe 04 00 01:10:46.697 READ DMA
c8 00 08 80 03 fe 04 00 01:10:46.697 READ DMA
c8 00 08 78 03 fe 04 00 01:10:46.696 READ DMA
Error 317 occurred at disk power-on lifetime: 22101 hours (920 days + 21 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 51 00 78 36 07 e5 Error: UNC at LBA = 0x05073678 = 84358776
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 78 36 07 05 00 01:10:44.673 READ DMA
27 00 00 00 00 00 00 00 01:10:44.673 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 00 00 01:10:44.664 IDENTIFY DEVICE
ef 03 46 00 00 00 00 00 01:10:44.657 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 00 00 01:10:44.657 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
Error 316 occurred at disk power-on lifetime: 22101 hours (920 days + 21 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 51 00 78 36 07 e5 Error: UNC at LBA = 0x05073678 = 84358776
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 78 36 07 05 00 01:10:42.727 READ DMA
27 00 00 00 00 00 00 00 01:10:42.727 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 00 00 01:10:42.719 IDENTIFY DEVICE
ef 03 46 00 00 00 00 00 01:10:42.719 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 00 00 01:10:42.719 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
Error 315 occurred at disk power-on lifetime: 22101 hours (920 days + 21 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 51 00 78 36 07 e5 Error: UNC at LBA = 0x05073678 = 84358776
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
c8 00 08 78 36 07 05 00 01:10:40.786 READ DMA
c8 00 08 90 ff fd 04 00 01:10:40.786 READ DMA
c8 00 08 88 ff fd 04 00 01:10:40.785 READ DMA
c8 00 08 80 ff fd 04 00 01:10:40.785 READ DMA
c8 00 08 78 ff fd 04 00 01:10:40.785 READ DMA
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% 23425 -
# 2 Short offline Completed without error 00% 23409 -
# 3 Extended offline Aborted by host 90% 23409 -
# 4 Short offline Completed without error 00% 23403 -
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.
我尝试切换电源和 SATA 电缆,但无济于事。
当然,该磁盘上没有重要的数据,但我并不特别希望由于磁盘故障而导致的停机。
我的硬盘即将损坏的可能性有多大?
会不会是电源的问题呢?
我可以运行其他诊断程序吗?
答案1
SMART 可以很好地概览驱动器的健康状况,但它在检测故障驱动器方面绝不是完美或 100% 可靠的。相反,我有一些驱动器的 SMART 读数完美,但几乎无法与机器保持超过一分钟的连接。
您所描述的情况听起来确实像是硬盘出现故障,至少肯定不是健康的硬盘。硬盘的转速绝对不应该太高,否则会导致您正在观看的视频出现跳跃。
您还询问是否可能是电源问题 - 虽然这并非不可能,但如果这是您注意到的唯一问题,那么可能性就很小。如果电源下降幅度大到足以导致驱动器波动,我预计您的机器运行时会出现更严重的问题(意外重启、蓝屏、一般故障)。这些问题似乎更多是由于驱动器老化造成的,而您的 SMART 输出表明您的驱动器已通电近 3 年,这是一个相当长的使用寿命。
我建议备份所有数据是重要,我知道您已经说过您那里没有太多有价值的东西,但一定要确保这一点。运行扩展自检(我相信您已经运行过这个,查看您的问题),并密切关注驱动器活动(而在扩展测试的中间,它根本没有理由减速)。也许启动一些大型文件复制并监控行为,同样,它应该只在不活动时减速,即使在那时它也应该在那之后保持旋转一段时间。
最后,SMART 只是一个指导,如果这种情况继续下去,我认为您可能需要尽快寻找替换驱动器。