机器偶尔会显示“ATA 总线错误”,需要重新启动:
[24028.505239] ata1.00: exception Emask 0x10 SAct 0x0 SErr 0x48d0002 action 0xe frozen
[24028.505249] ata1.00: irq_stat 0x08400040, interface fatal error, connection status changed
[24028.505254] ata1: SError: { RecovComm PHYRdyChg CommWake 10B8B LinkSeq DevExch }
[24028.505258] ata1.00: failed command: FLUSH CACHE EXT
[24028.505266] ata1.00: cmd ea/00:00:00:00:00/00:00:00:00:00/a0 tag 20
res 50/00:18:50:6b:d9/00:00:eb:00:00/40 Emask 0x10 (ATA bus error)
[24028.505269] ata1.00: status: { DRDY }
[24028.505276] ata1: hard resetting link
[24032.757212] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[24032.757615] ata1.00: both IDENTIFYs aborted, assuming NODEV
[24032.757620] ata1.00: revalidation failed (errno=-2)
如果重新启动后我运行smartctl -t short /dev/sda
,smartctl -H /dev/sda
则表示它通过了。
从smartctl -a /dev/sda
:
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 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 136 136 054 Pre-fail Offline - 80
3 Spin_Up_Time 0x0007 253 253 024 Pre-fail Always - 176 (Average 237)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 233
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 124 124 020 Pre-fail Offline - 33
9 Power_On_Hours 0x0012 091 091 000 Old_age Always - 63994
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 204
192 Power-Off_Retract_Count 0x0032 098 098 000 Old_age Always - 2756
193 Load_Cycle_Count 0x0012 098 098 000 Old_age Always - 2756
194 Temperature_Celsius 0x0002 142 142 000 Old_age Always - 42 (Min/Max 23/52)
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
SMART Error Log Version: 1
No Errors Logged
我知道有时(25% 的情况)硬盘会突然出现故障,而且 SMART 中从未报告任何问题。但在这里,我已经看到错误了。SMART 没有发出任何声音,这是否证明硬盘不是这些错误的根源?
硬件:SuperMicro 主板和 HGST Deskstar NAS 硬盘。
答案1
硬盘和操作系统之间有多个组件,其中任何一个都可能出现故障。通常,您显示的错误是由硬盘中的错误引起的。
但是,SMART 中没有任何记录错误可能表明硬盘本身是健康的。因此,链中的其他组件之一可能有问题。
以下清单或许能有所帮助:
- 确保驱动器安装正确并且所有电缆都与驱动器完全接合。
- 如果将驱动器插入转接板,请确保转接板上的所有电缆都已正确就位。
- 确保所涉及的所有数据线状况良好,没有划痕、扭结、扭曲和拉伸
- 确保数据线已正确安装在主板或磁盘控制器上
- 如果您使用附加磁盘控制器,请确保它在主板上安装牢固
- 如果怀疑任何东西没有完全就位(假设它没有拧紧并且难以取出),可以通过将其取出、检查插座是否有灰尘并将其重新插入、确保其完全就位来重新就位。
检查完所有步骤后,如果错误仍然存在,则需要进行进一步诊断以确定上述哪个组件出现故障。如果可能,交换驱动器位置或在主板或磁盘控制器端口之间交换电缆可能有助于进一步隔离。带有坏芯片的磁盘控制器也会导致此类问题,但可能只能通过交换另一个控制器来诊断。
对驱动器进行实际诊断也可能有帮助(例如smartctl -t short
,然后等待它完成并检查smartctl -a
它是否完成或有错误),只是为了确保它真的不是驱动器。