I/O 错误但 syslog 中未报告坏块

I/O 错误但 syslog 中未报告坏块

我的系统日志中出现这样的错误,但内核报告中没有定义坏块或扇区,我现在不能更换硬盘,我现在更喜欢重新分配坏块,所以我需要坏扇区的数量。

关于如何尽快找到扇区数有什么建议吗?

在我拥有的其他服务器中,内核总是报告扇区号,但在此服务器上没有报告扇区。

res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
res 41/40:08:a0:11:76/00:00:53:00:00/00 Emask 0x409 (media error) <F> ata1.00: error: { UNC }
sd 0:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed

我的问题是为什么该服务器的内核不报告坏扇区的数量?像另一个一样吗?

答案1

您也许可以从磁盘上的 SMART 日志中获取部分信息 ( smartctl -x /dev/sda)。

否则,这就是该badblock命令的作用。这也可以用来告诉哪些块是死的(以防重新分配失败)来提供 e2fsck(如果该磁盘上有 extx FS,但其他一些 FS 具有类似的功能)并指定不应使用这些扇区。或者e2fsck可以直接调用badblocks。

无论如何,它都会对磁盘造成压力,并可能导致其进一步故障。

我会首先查看 SMART 状态 ( smartctl -x /dev/sda),看看它处于什么形状(有多少待处理、失败、重新分配的扇区、错误......以及整体 SMART 状态),就好像它处于完全失败的边缘一样,最好的事情要做的是将数据备份到新驱动器上(请参阅ddrescue为此的各种实现)。

相关内容