使用 smartctl 触发 SMART 测试(长)后,我得到以下 smartctl -a 输出:
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-142-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Black
Device Model: WDC WD1003FZEX-00K3CA0
...
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 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 168 168 021 Pre-fail Always - 2558
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 888
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 093 093 000 Old_age Always - 5663
10 Spin_Retry_Count 0x0032 100 100 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 888
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 136
193 Load_Cycle_Count 0x0032 199 199 000 Old_age Always - 3072
194 Temperature_Celsius 0x0022 122 104 000 Old_age Always - 21
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 1
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 2
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 5552 50184
# 2 Extended offline Completed: read failure 90% 5088 50184
...
它说 SMART 测试失败,并在扇区 50184 处出现读取错误。这是否表明这个(相当新的)磁盘需要更换,或者只是有一些坏块需要标记为坏块?
答案1
要解释 SMART 数据,请记住,该值已标准化为 100(“标准”),越低越糟糕。当它接近或低于阈值时,就该担心了。
我不知道 Moab 在那里看到了什么,但至少根据我看到的 SMART 值,一切看起来都很好:您已经使用了驱动器一段时间,但所有其他值都远高于 100。
原始重新分配的扇区计数值实际上为零,因此发现的这个坏扇区甚至没有重新分配。
您知道坏扇区的 LBA 地址。为了安全起见,请尝试找出此 LBA 上是否有文件(例如,使用debugfs
ext2/3/4 的工具)。然后使用dd
读取此块,验证是否出现错误,然后使用 从dd
写入该块将其重新归零/dev/zero
。如果您不熟悉dd
,请仔细检查您是否具有正确的块大小、计数等(否则您将破坏其他地方的数据)。
现在您应该获得一个重新分配的扇区数(因为写入坏块会导致重新分配),一个工作扇区(使用 再次读取dd
),然后您可以重新启动 SMART 测试并查看它是否发现其他坏扇区。
还要用新版本替换坏扇区所在的文件(例如,如果它是系统文件,则重新安装软件包)。