Proxmox在Supermicro服务器出现EXT4只读错误,克隆后仍未解决求助
Proxmox 8 EXT4只读挂载错误排查与解决
服务器配置
- 主板:Supermicro H12SSL-i
- CPU:AMD Epyc 7742
- GPU:NVIDIA RTX 3090
- 内存:512GB DDR4 RDIMM ECC
问题现象
Proxmox 8启动约30秒后触发EXT4文件系统错误,系统自动将dm-1设备挂载为只读:
[40.294701] EXT-fs error (device dm-1): ext_journal_check_start:84: comm systemd-journal: Detected aborted journal
EXT4-fs (dm-1): Remounting filesystem read-only
登录系统后几秒内必现该错误。已完成的排查动作:
- 克隆原2TB三星NVME至全新4TB三星NVME,问题依旧,但两块磁盘在普通PC上运行Proxmox均正常
- 执行
sudo smartctl -a /dev/nvme0n1检测,SMART健康评估结果为PASSED - 将普通PC上的Ubuntu系统NVME装入该服务器,可正常启动
- 此前该配置已稳定运行数月
可能原因
- Proxmox内核/驱动与服务器硬件兼容性问题:Ubuntu可正常运行说明磁盘无故障,问题出在Proxmox对服务器NVME控制器或BIOS固件的适配性上
- 克隆带来的LVM/磁盘配置残留:克隆操作可能保留了原系统的异常LVM逻辑卷配置,导致Proxmox启动时识别出错
- NVME控制器电源管理冲突:服务器BIOS中的PCIe/NVME电源管理设置与Proxmox内核驱动不兼容
- ECC内存偶发错误:长期运行后内存可能出现未被纠正的错误,干扰文件系统读写
解决步骤
1. 更新BIOS与NVME固件
- 下载Supermicro H12SSL-i最新BIOS版本并刷新,确保硬件固件处于最新状态
- 使用
nvme-cli工具升级三星NVME固件:# 安装nvme-cli apt update && apt install nvme-cli # 查看当前固件版本 nvme id-ctrl /dev/nvme0n1 | grep firmware-rev # 下载对应固件后执行升级(需参考三星官方固件说明) nvme fw-download /dev/nvme0n1 --fw-file firmware.bin nvme fw-commit /dev/nvme0n1 --action=2
2. 全新安装Proxmox
放弃克隆方式,使用Proxmox安装介质直接在服务器上全新安装到4TB NVME,安装时选择清除磁盘所有分区与LVM配置,避免残留问题。
3. 调整BIOS相关设置
- 进入BIOS,找到PCIe设置,关闭**ASPM(Active State Power Management)**功能
- 切换NVME控制器的工作模式(如从AHCI切换到RAID模式,或反之)
- 检查并开启ECC内存校验功能(确保BIOS中ECC处于启用状态)
4. 排查内存健康
- 进入BIOS查看ECC错误统计,确认是否存在未纠正的内存错误
- 使用Proxmox安装介质中的
memtest86+工具,运行至少一轮完整的内存测试,排查内存硬件问题
5. 修改内核启动参数
- 启动时在GRUB菜单按
e编辑启动项,在linux行末尾添加以下参数之一测试:pci=noaer:禁用PCIe高级错误报告,避免控制器误报nvme_core.default_ps_max_latency_us=0:关闭NVME电源管理,强制控制器保持高性能模式
- 若测试有效,永久修改配置:
nano /etc/default/grub # 在GRUB_CMDLINE_LINUX_DEFAULT中添加上述参数 update-grub
内容的提问来源于stack exchange,提问作者Venelin
相关产品推荐
相关产品推荐

