将大文件 (50+GB) 从 NVMe 磁盘复制到 SATA 7200rpm HDD 磁盘时,我在完全修补的 Ubuntu 20.04 的日志中看到以下错误:
Aug 08 00:45:59 host kernel: ata6.00: exception Emask 0x20 SAct 0x0 SErr 0x0 action 0x6 frozen
Aug 08 00:45:59 host kernel: ata6.00: irq_stat 0x20000000, host bus error
Aug 08 00:45:59 host kernel: ata6.00: failed command: WRITE DMA EXT
Aug 08 00:45:59 host kernel: ata6.00: cmd 35/00:08:30:a2:e0/00:00:e8:00:00/e0 tag 23 dma 4096 out
res 50/00:00:00:00:00/00:00:00:00:00/00 Emask 0x20 (host bus error)
Aug 08 00:45:59 host kernel: ata6.00: status: { DRDY }
Aug 08 00:45:59 host kernel: ata6: hard resetting link
Aug 08 00:46:00 host kernel: ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Aug 08 00:46:00 host kernel: ata6.00: configured for UDMA/133
Aug 08 00:46:00 host kernel: ata6: EH complete
ata6.00
是正在写入的磁盘。
问题是间歇性的。有时 24 小时不出现,有时每小时出现几次。通常磁盘会恢复,但有时文件系统会损坏,需要卸载、修复(如果可能)并重新安装。
我尝试了什么:
- 我尝试了 3 种不同品牌的硬盘。所有人都有同样的问题。
- 我怀疑是硬件问题。我更换了主板和 SATA 电缆。这些都没有帮助。
- 我有另一台具有相同配置的服务器。该问题不会在那里发生。相同的工作量。
- 我还有另一台配置完全不同的服务器(英特尔与 AMD)。问题发生在那里。相同的工作量。
- 我通过禁用 NCQ
echo 1 > /sys/block/sda/device/queue_depth
。没有帮助。
我没有主意了……
这些都是数据中心级组件。鉴于我采取的步骤,我想这不是硬件制造缺陷。
这可能与软件/操作系统/BIOS 相关吗?
任何想法我还应该尝试什么?
也许这更多的是工作温度的问题?随着磁盘不断使用,它的物理位置和热得失比变得太高导致行为不稳定?
在像您这样的较新内核上,可以将驱动器温度放入 sysfs 中的以下路径:
一定要确保
drivetemp
模块加载了modprobe drivetemp
.您可以考虑监视此处的文件并再次开始大文件副本,此处的内核文档提供了如何解释这些文件的指示。
它们包括有用的值,例如工作最低/最高温度,一些驱动程序还可以提供警报指示器,这是在故障时触发的与芯片相关的警报。
似乎可以通过升级到 Ubuntu 21.04 来解决。不知道为什么。服务器现在运行稳定,没有任何 ATA 问题。