![SMART 中记录的读取错误是否由控制器引起?](https://linux22.com/image/1499664/SMART%20%E4%B8%AD%E8%AE%B0%E5%BD%95%E7%9A%84%E8%AF%BB%E5%8F%96%E9%94%99%E8%AF%AF%E6%98%AF%E5%90%A6%E7%94%B1%E6%8E%A7%E5%88%B6%E5%99%A8%E5%BC%95%E8%B5%B7%EF%BC%9F.png)
我在远程位置有一台小型服务器,它让我有些头疼,因为它现在似乎连续占用了特定插槽中的第三个硬盘。
最后一次更换是在 5 月份(3TB WDC WD30PURX,如果这很重要的话,它只使用了 8 个月),过了一段时间我又注意到读取错误。然后我想知道我是不是真的运气不好,或者控制器是否有问题。
通常我认为智能只谈论驱动器所经历的事情,但后来我认为它可能可以正常读取其扇区,但无法将它们写入控制器,并且被记录为错误?
让我感到怀疑的是,在我第一次发现智能警报的那天,坏扇区都在 3330891687 到 3303035895 之间,这看起来像是某个坏的表面,并且在硬盘上运行各种工具都导致那里出现各种错误,但最终,每个读取请求都成功了,从那时起扇区就被“修复”了。这对我来说有点像重新分配的扇区,但没有记录。
总共有 4153 个不同扇区中出现 4527 个读取错误,现在我找不到一个坏扇区(在整个磁盘上运行了几次)。
几天后,对整个磁盘进行扫描(智能和通过坏块)没有发现任何错误,并且磁盘性能正常。
系统日志中出现的错误如下:
[517871.828215] ata6.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
[517871.828219] ata6.00: BMDMA stat 0x25
[517871.828223] ata6.00: failed command: READ DMA EXT
[517871.828229] ata6.00: cmd 25/00:00:00:4f:68/00:02:c6:00:00/e0 tag 0 dma 262144 in
[517871.828229] res 51/40:cf:30:50:68/40:00:c6:00:00/e0 Emask 0x9 (media error)
[517871.828232] ata6.00: status: { DRDY ERR }
[517871.828234] ata6.00: error: { UNC }
[517871.840411] ata6.00: configured for UDMA/133
[517871.840538] sd 5:0:0:0: [sdd] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[517871.840543] sd 5:0:0:0: [sdd] tag#0 Sense Key : Medium Error [current] [descriptor]
[517871.840547] sd 5:0:0:0: [sdd] tag#0 Add. Sense: Unrecovered read error - auto reallocate failed
[517871.840551] sd 5:0:0:0: [sdd] tag#0 CDB: Read(16) 88 00 00 00 00 00 c6 68 4f 00 00 00 02 00 00 00
[517871.840554] blk_update_request: I/O error, dev sdd, sector 3328725040
[517871.840576] ata6: EH complete
在 SMART 中如下:
Error 4527 [14] occurred at disk power-on lifetime: 1282 hours (53 days + 10 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 01 00 00 00 c6 49 3c a0 e0 00 Error: UNC 256 sectors at LBA = 0xc6493ca0 = 3326688416
Commands leading to the command that caused the error were:
CR FEATR COUNT LBA_48 LH LM LL DV DC Powered_Up_Time Command/Feature_Name
-- == -- == -- == == == -- -- -- -- -- --------------- --------------------
25 00 00 01 00 00 00 c6 49 3c 00 e0 08 5d+23:59:09.617 READ DMA EXT
25 00 00 00 18 00 00 c6 49 38 e8 e0 08 5d+23:59:09.617 READ DMA EXT
25 00 00 00 10 00 00 c5 9d e7 00 e0 08 5d+23:59:09.610 READ DMA EXT
25 00 00 00 c0 00 00 c5 9d b5 00 e0 08 5d+23:59:09.581 READ DMA EXT
35 00 00 00 18 00 00 c6 49 38 e8 e0 08 5d+23:59:09.581 WRITE DMA EXT
对我来说,这首先看起来像是存在表面错误并且重新分配失败。然而,从那以后我习惯于看到一些智能值计数器上升,特别是当前待处理的扇区或重新分配的扇区计数。但没有一个值在增加:
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-K 165 145 051 - 36676
3 Spin_Up_Time POS--K 100 253 021 - 0
4 Start_Stop_Count -O--CK 100 100 000 - 3
5 Reallocated_Sector_Ct PO--CK 200 200 140 - 0
7 Seek_Error_Rate -OSR-K 200 200 000 - 0
9 Power_On_Hours -O--CK 099 099 000 - 1402
10 Spin_Retry_Count -O--CK 100 253 000 - 0
11 Calibration_Retry_Count -O--CK 100 253 000 - 0
12 Power_Cycle_Count -O--CK 100 100 000 - 2
192 Power-Off_Retract_Count -O--CK 200 200 000 - 0
193 Load_Cycle_Count -O--CK 200 200 000 - 7
194 Temperature_Celsius -O---K 119 119 000 - 31
196 Reallocated_Event_Count -O--CK 200 200 000 - 0
197 Current_Pending_Sector -O--CK 200 200 000 - 0
198 Offline_Uncorrectable ----CK 100 253 000 - 0
199 UDMA_CRC_Error_Count -O--CK 200 200 000 - 0
200 Multi_Zone_Error_Rate ---R-- 001 001 000 - 102665
||||||_ K auto-keep
|||||__ C event count
||||___ R error rate
|||____ S speed/performance
||_____ O updated online
|______ P prefailure warning
总结
这仅仅是“坏硬盘表现不好”的情况吗?还是控制器方面出了什么问题?还是 SMART 本身坏了?我觉得我忽略了一些可以解释这种差异的明显原因。
注意:我已经准备好替代品,几天后我将有机会亲自访问服务器,因此在此之前不会出现电缆摆动或类似的事情。
答案1
简短回答并回答您的标题问题:是的,控制器/计算机可能会导致 SMART 错误。第一个原因是,如果您的电缆有噪音或 SATA/SAS 驱动程序有问题/不符合规格,并且损坏了通过 SATA/SAS 发送到驱动器的命令。驱动器将进行 CRC 检查并导致该命令失败,并将该错误作为命令 CRC 错误记录到 SMART。
根据正文数据,答案冗长而复杂:但是我不认为您遇到这种情况,因为没有 CRC 错误。请记住,计算机与硬盘驱动器之间有两个“连接” - 数据和电源。虽然不确定,但如果与插槽有关,则最有可能的是,如果您遇到的不仅仅是 CRC 错误,则驱动器的电源会导致驱动器运行不良。
这里确实没有足够的数据来明确回答您的问题,很可能是该插槽的电源有问题。当电源不确定时,所有赌注都无法读取/写入磁盘。