温馨提示×

CentOS文件管理怎么修复

小樊
36
2025-12-23 09:24:55
栏目: 智能运维

CentOS 文件系统修复实操指南

一、先判断是否需要修复

  • 观察系统启动日志或控制台输出,是否出现如“filesystem is read-only”“XFS: Filesystem has been mounted read-only”“corruption detected”等字样。
  • 若只是临时变为只读,可先尝试重新以读写挂载根分区:执行命令:mount -o remount,rw /;若成功,说明可能是异常关机或临时故障触发只读,仍需进一步排查原因。
  • 无法以读写挂载或系统无法正常进入时,再进行离线修复(救援模式/单用户模式)。

二、进入修复环境的两种方式

  • 救援模式 Rescue(推荐,适用于CentOS 7/8
    1. 挂载 CentOS 安装 ISO,从 ISO 启动;
    2. 在启动菜单选择 Troubleshooting → Rescue a CentOS system
    3. 出现提示时选择 Continue(将已安装系统挂载到 /mnt/sysroot,读写),或选择 Skip(不自动挂载,便于对关键分区离线修复);
    4. 进入 shell 后执行 chroot /mnt/sysroot 进入原系统环境。
  • 单用户模式(适用于紧急进入系统根环境)
    1. 在 GRUB 启动项按 e 编辑内核命令行;
    2. ro 改为 rw init=/sysroot/bin/sh,必要时删除与串口相关的 console= 参数;
    3. Ctrl+X 启动,进入单用户环境后执行 chroot /sysroot
  • 使用场景建议:非根分区优先在救援模式的 Skip 或直接离线状态修复;根分区无法卸载时,用救援模式的 Continue+chroot 或单用户模式进入后再处理。

三、按文件系统类型执行修复

  • 先确认分区与类型:例如 lsblk -fblkid,明确是 ext4/ext3/ext2 还是 XFS,以及是否为 LVM 逻辑卷(如 /dev/mapper/vg0-root)。
  • ext 系列(ext2/ext3/ext4)
    • 离线检查/修复(卸载后执行):fsck -y /dev/sdXN
    • 若仅为只读挂载,可先尝试:mount -o remount,rw /dev/sdXN
  • XFS 系列
    • 原则:XFS 通常要求分区未挂载再修复;若提示设备忙,请先卸载或在救援模式选择 Skip
    • 检查一致性:xfs_ncheck /dev/sdXN;返回 0 表示正常;
    • 修复:xfs_repair /dev/sdXN
    • 若仍异常且数据允许丢失,可使用强制选项:xfs_repair -L /dev/sdXN(会丢弃日志,可能导致最近未落盘数据丢失,慎用)。
  • LVM 逻辑卷
    • 在救援模式选择 Skip 时,LVM 卷可能未激活,需先执行:
      • lvm vgscan
      • lvm vgchange -ay
    • 之后再对 /dev/mapper/ 下的卷执行相应修复命令。

四、修复完成后的收尾与验证

  • 退出 chroot:执行 exit
  • 重启系统:reboot
  • 进入系统后,验证:
    • 根分区可写:mount | grep " / " 应为 rw
    • 关键服务与日志:检查 systemctl statusjournalctl -xe
    • 数据完整性:抽样检查关键目录与业务数据。

五、数据安全与常见注意事项

  • 修复前尽量做好数据备份(离线拷贝、快照等),尤其是执行 xfs_repair -L 等高风险操作前。
  • 修复时确保目标分区未挂载;根分区无法卸载时,使用救援模式/单用户模式进入再处理。
  • 只读挂载并不等于已修复,只是临时可访问;应尽快完成离线修复并恢复正常读写。
  • 若频繁出现只读或 I/O 错误,需排查硬件故障(磁盘、存储、线缆、控制器等)。

0