一个刚使用一个月的 SSD 每次使用 rsync 备份时都会在我的系统日志中产生读取错误:
[276877.360221] ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[276877.360226] ata1.00: irq_stat 0x40000008
[276877.360229] ata1.00: failed command: READ FPDMA QUEUED
[276877.360234] ata1.00: cmd 60/10:00:78:a2:27/00:00:07:00:00/40 tag 0 ncq 8192 in
[276877.360234] res 41/40:00:78:a2:27/00:00:07:00:00/40 Emask 0x409 (media error) <F>
[276877.360238] ata1.00: status: { DRDY ERR }
[276877.360240] ata1.00: error: { UNC }
[276877.360686] ata1.00: configured for UDMA/100
[276877.360697] sd 0:0:0:0: [sda] Unhandled sense code
[276877.360699] sd 0:0:0:0: [sda]
[276877.360701] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[276877.360703] sd 0:0:0:0: [sda]
[276877.360705] Sense Key : Medium Error [current] [descriptor]
[276877.360708] Descriptor sense data with sense descriptors (in hex):
[276877.360709] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[276877.360717] 07 27 a2 78
[276877.360721] sd 0:0:0:0: [sda]
[276877.360724] Add. Sense: Unrecovered read error - auto reallocate failed
[276877.360727] sd 0:0:0:0: [sda] CDB:
[276877.360728] Read(10): 28 00 07 27 a2 78 00 00 10 00
[276877.360735] end_request: I/O error, dev sda, sector 120038008
[276877.360750] ata1: EH complete
[276877.361389] ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[276877.361392] ata1.00: irq_stat 0x40000008
[276877.361395] ata1.00: failed command: READ FPDMA QUEUED
[276877.361400] ata1.00: cmd 60/08:00:78:a2:27/00:00:07:00:00/40 tag 0 ncq 4096 in
[276877.361400] res 41/40:00:78:a2:27/00:00:07:00:00/40 Emask 0x409 (media error) <F>
[276877.361403] ata1.00: status: { DRDY ERR }
[276877.361405] ata1.00: error: { UNC }
[276877.361841] ata1.00: configured for UDMA/100
[276877.361847] sd 0:0:0:0: [sda] Unhandled sense code
[276877.361850] sd 0:0:0:0: [sda]
[276877.361851] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[276877.361853] sd 0:0:0:0: [sda]
[276877.361855] Sense Key : Medium Error [current] [descriptor]
[276877.361857] Descriptor sense data with sense descriptors (in hex):
[276877.361858] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[276877.361867] 07 27 a2 78
[276877.361871] sd 0:0:0:0: [sda]
[276877.361873] Add. Sense: Unrecovered read error - auto reallocate failed
[276877.361875] sd 0:0:0:0: [sda] CDB:
[276877.361876] Read(10): 28 00 07 27 a2 78 00 00 08 00
[276877.361883] end_request: I/O error, dev sda, sector 120038008
[276877.361893] ata1: EH complete
[276880.336132] ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[276880.336140] ata1.00: irq_stat 0x40000008
[276880.336147] ata1.00: failed command: READ FPDMA QUEUED
[276880.336157] ata1.00: cmd 60/08:00:78:a2:27/00:00:07:00:00/40 tag 0 ncq 4096 in
[276880.336157] res 41/40:00:78:a2:27/00:00:07:00:00/40 Emask 0x409 (media error) <F>
[276880.336163] ata1.00: status: { DRDY ERR }
[276880.336167] ata1.00: error: { UNC }
[276880.336660] ata1.00: configured for UDMA/100
[276880.336670] sd 0:0:0:0: [sda] Unhandled sense code
[276880.336672] sd 0:0:0:0: [sda]
[276880.336674] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[276880.336675] sd 0:0:0:0: [sda]
[276880.336677] Sense Key : Medium Error [current] [descriptor]
[276880.336679] Descriptor sense data with sense descriptors (in hex):
[276880.336680] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[276880.336687] 07 27 a2 78
[276880.336690] sd 0:0:0:0: [sda]
[276880.336692] Add. Sense: Unrecovered read error - auto reallocate failed
[276880.336694] sd 0:0:0:0: [sda] CDB:
[276880.336695] Read(10): 28 00 07 27 a2 78 00 00 08 00
[276880.336701] end_request: I/O error, dev sda, sector 120038008
[276880.336709] ata1: EH complete
除此之外,磁盘似乎运行良好。这是磁盘故障的迹象,还是无害的调试信息?
答案1
它死了,吉姆。
更换有问题的硬件。
当然,由于您使用的是低端台式机主板(天哪,为什么?),您可能需要花一些时间测试驱动器控制器或电缆是否出现故障。
答案2
一方面,我可能会先尝试深入研究驱动器的文档。另一方面,我可能会认为“未恢复的读取错误 - 自动重新分配失败”的错误消息表明在证明无罪之前,驱动器应该被视为有问题。我会立即从驱动器中取出数据。
现在,才一个月,它应该还在保修期内。最快的办法可能是以这些未恢复的读取错误为理由,尝试将其退回以进行更换或退款。
生产厂家可能无论错误是否严重,都更换驱动器——让客户满意。但如果这是一个常见错误,而且不严重,他们可能会告诉你。否则,他们就有可能将库存循环提供给市场上的每个买家。(无论如何,每个买家都是系统管理员。)
问题可能与在服务器中使用消费级驱动器有关。(根据 Adata 网站,您的驱动器不是服务器级驱动器。)我想您近期至少有三个小项目。
- 从该驱动器中获取数据。
- 获得退款或更换,最好是退款。
- 制定一项政策,使购买服务器硬件时更容易做出更好的决策。
答案3
驱动器丢失了您的数据,您当然可以更换它,但如果您只是想继续使用驱动器(未来再次面临数据丢失的风险),您可以尝试在该位置写入零。这就是 RAID 设置可以为您做的事情,它会发现无法读取,将该位置清零并从 RAID 结构中恢复数据,然后将其重新写入损坏的位置。
不过,如果你单独使用设备,上述更换(无论有无保修)的建议都是非常明智的。如果你的设备丢失过一次数据,那么很有可能还会再次丢失数据。