我有一个很少使用的旋转金属驱动器(内部),上面有一些虚拟机。我在运行虚拟机时遇到 IO 错误,经过仔细检查,我发现一个虚拟磁盘文件在我尝试读取它时报告 IO 错误。
该分区安装时错误=重新安装,但尚未重新安装,表明(据我所知)文件系统完好无损。
此外,使用 fsck 运行完整的非破坏性读写扇区扫描并未产生任何坏扇区。尽管如此,错误仍然存在。
dmesg
有此报告有关设备(/dev/sdb1)的信息(每隔几秒重复一次):
[9957544.402127] sas: sas_ata_task_done: SAS error 2
[9957544.402137] sd 2:0:1:0: [sdb] command ffff8801046aec00 timed out
[9957544.402161] sas: Enter sas_scsi_recover_host busy: 1 failed: 1
[9957544.402166] sas: ata8: end_device-2:1: cmd error handler
[9957544.402180] sas: ata7: end_device-2:0: dev error handler
[9957544.402182] sas: ata8: end_device-2:1: dev error handler
[9957544.402188] ata8.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
[9957544.402190] sas: ata9: end_device-2:2: dev error handler
[9957544.402194] ata8.00: failed command: READ DMA EXT
[9957544.402202] ata8.00: cmd 25/00:08:f0:5f:a1/00:00:4e:00:00/e0 tag 22 dma 4096 in
[9957544.402202] res 01/04:00:af:6d:70/00:00:74:00:00/e0 Emask 0x3 (HSM violation)
[9957544.402206] ata8.00: status: { ERR }
[9957544.402208] ata8.00: error: { ABRT }
[9957544.402211] ata8: hard resetting link
[9957544.646553] ata8.00: configured for UDMA/33
[9957544.646565] ata8: EH complete
[9957544.646587] sas: --- Exit sas_scsi_recover_host: busy: 0 failed: 0 tries: 1
数据不重要,我之前也做过恢复。这个问题不是要拿回来的。
我怀疑根本问题是坏扇区。为什么工具没有检测到它?假设我采取不明智的步骤继续使用该设备,什么工具可以更好地诊断其问题?