首页/系统/信创系统运维速查/根分区变只读的排查与恢复
常见问题65 条

根分区变只读的排查与恢复

系统突然只能读:内核遇到 IO 错误会把根分区重挂为只读保护数据,完查 dmesg 与磁盘健康,确认底层正常后再 remount。

信创系统运维速查系统更新于 2026-10-13

根分区为什么变只读

文件系统的挂载选项里通常带有出错即重挂只读的设置,这是内核的自保机制:一旦检测到磁盘 I/O 错误、存储链路中断或文件系统元数据不一致,就立刻停止写入,避免损坏范围继续扩大。因此看到根分区变只读,要把它理解成一个症状,而不是故障本身。

处置顺序

先确认底层是否真的有问题:内核日志里的 I/O 错误、磁盘健康状态、逻辑卷与阵列状态。链路或硬件异常时,正确动作是备份数据并安排更换硬件;只有在确认底层恢复健康后,才考虑重新挂载为可读写,并观察是否再次触发。

基本信息

常见表现所有写入报只读文件系统
内核线索dmesg 中的 I/O 错误与重挂只读记录
检查对象磁盘健康、逻辑卷状态、阵列状态、存储链路
恢复动作底层正常后重新挂载为读写

典型使用场景

  • 业务突然报无法写文件,排查发现根分区已变成只读
  • 机房断电或存储断链后重启,系统进入只读状态
  • 虚拟机底层存储抖动,guest 触发只读保护
  • 定期检查内核日志中的 I/O 错误,提前发现劣化磁盘
  • 更换硬盘或修复链路后确认文件系统可正常读写

取证

取证
mount | grep ' / '                                    # 查看根分区挂载选项
findmnt -no OPTIONS /                                 # 只取选项字段,看是否带 ro
dmesg -T | grep -iE 'I/O error|remount|read-only' | tail -20
smartctl -H /dev/sda 2>/dev/null                      # 磁盘健康
pvs; vgs; lvs                                          # 根在逻辑卷上时看卷与卷组状态

恢复

恢复
mount -o remount,rw /                                 # 底层正常时恢复写入
touch /root/write-test && rm -f /root/write-test      # 写测试验证
# 文件系统层报错时安排停机窗口离线修复:
# ext4: e2fsck -f /dev/mapper/vg0-lv_root
# XFS : xfs_repair <设备>,均需先卸载

线索与含义

线索含义动作
内核报 I/O 错误底层读写失败,硬件或链路异常备份数据,检查磁盘与链路
出现 remount 只读记录内核已触发保护机制先查根因,不要急于改回读写
逻辑卷状态异常卷组或卷损坏或缺失检查物理卷与阵列状态
磁盘健康状态报警介质劣化申请更换并迁移数据
重新挂载后再次只读底层问题未解决停止写入,安排停机处理
反复执行重新挂载为读写会持续往劣化磁盘写入,加重损坏并缩短数据抢救时间。出现只读保护时,优先把重要数据备份出去,再按存储层、文件系统层的顺序处理。

易错点

  • 只读症状出现后直接改回读写继续跑业务,掩盖了底层硬件问题,损坏范围持续扩大
  • 在根文件系统处于挂载状态时对它做离线修复工具操作,可能导致更严重的数据损坏
  • 只看文件系统不看磁盘与链路,修复完很快又变回只读,来回反复
  • 没有准备备用存储或空间就动手迁移数据,抢修阶段失去回退余地

数据来源与参考

  • man 8 mount
  • man 8 smartctl
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌