一、故障现象
系统在运行期间频繁出现硬盘无法写入文件的情况,导致系统自动进入只读模式。通过执行 reboot -f 强制重启可暂时恢复正常,但数天后故障再次出现,严重影响业务连续性。

tail -n 100 /var/log/syslog | grep -i error

二、环境信息
设备类型:物理服务器
系统版本:Ubuntu 22.04
系统盘:1 × 3.84 TB M.2 NVMe 固态硬盘
三、初步排查与处理
3.1 执行硬盘坏道检测

使用 badblocks -s -v /dev/nvme0n1 进行检查,未发现坏道。

3.2 文件系统检测无问题

3.3 更换硬盘及相关硬件
因怀疑硬件故障,将原 3.84 TB M.2 NVMe 系统盘更换为 1.92 TB 同类型硬盘(旧盘通过对拷的形式到新盘,旧盘原分区实际使用空间未超过新盘容量)
同步更换 M.2 硬盘背板及主板连接线缆

结果
更换后系统短暂恢复正常,但约两三天后再次出现相同故障,说明问题并非由硬盘物理损坏或连接件故障导致。
四、深入排查与根本原因分析
4.1 检查硬盘健康状态

这里按提示进行安装就好,apt install smartmontools
安装 smartmontools 工具后,执行 smartctl -a /dev/nvme0n1 查看硬盘详细信息。
4.2 关键发现
硬盘日志中记录 372 次温度告警,表明硬盘长期处于高温环境。


4.3 原因分析
该服务器搭载 8 张显卡,运行 GPU 密集型业务,机箱内部温度较高。
M.2 NVMe 硬盘体积小、散热设计有限,在高温环境下持续工作,触发硬盘自我保护机制,导致系统进入只读模式。
五、解决方案
5.1 更换硬盘类型
申请并更换为 U.2 接口 NVMe 硬盘(散热性能优于 M.2 接口)。

5.2 硬盘对拷(PE工具)
将原 M.2 硬盘系统完整对拷至 U.2 硬盘。
5.3 结果验证
更换后系统持续稳定运行超过 20 天,未再出现写入失败或只读模式问题。

U2硬盘也未出现高温告警
