温馨提示×

Linux分卷如何进行故障恢复

小樊
37
2025-11-16 08:56:00
栏目: 智能运维

Linux分卷故障恢复实用指南

一、先判断你的“分卷”类型

  • 若你指的是LVM逻辑卷(如:/dev/mapper/vg0-lv_root),恢复重点在卷组元数据、物理卷可用性、以及文件系统一致性。
  • 若你指的是分区表/分区(如:/dev/sda1 被误删或变更),恢复重点在分区表重建与文件系统检查。
  • 若你指的是分卷压缩归档(如:splittar 多卷打包),恢复重点在归档合并与解包。

二、LVM逻辑卷的恢复

  • 场景A 卷组元数据损坏或丢失(有备份)
    • 进入救援环境(如安装介质的Troubleshooting → Rescue a CentOS system),先激活卷组:
      • vgchange -ay
    • 查看并测试恢复:
      • vgcfgrestore -l centos(列出备份)
      • vgcfgrestore -f /etc/lvm/backup/centos -t centos(先测试)
      • vgcfgrestore -f /etc/lvm/backup/centos centos(正式恢复)
    • 重启后检查:
      • pvs、vgs、lvs
      • 如为 XFS,系统启动阶段可能提示需修复,进入系统后执行:xfs_repair /dev/mapper/centos-root(必要时加 -L 谨慎使用)。
  • 场景B 新增磁盘丢失导致VG降级(PV物理卷缺失)
    • 临时替换同容量磁盘,分区(如 /dev/sdb1),重建PV:
      • pvcreate /dev/sdb1
    • 恢复VG配置(见场景A),再执行:
      • vgchange -ay
      • lvs 确认LV状态,必要时激活:lvchange -ay /dev/vg0/lv_root
  • 场景C 文件系统损坏(非元数据)
    • 卸载后检查修复:
      • umount /dev/mapper/vg0-lv_home
      • ext4:fsck -y /dev/mapper/vg0-lv_home
      • XFS:xfs_repair /dev/mapper/vg0-lv_home(系统分区需救援模式或LiveCD)
    • 修复后挂载验证:mount /dev/mapper/vg0-lv_home /home。

三、分区表或分区丢失的恢复

  • 立即停止对故障盘写入,优先整盘克隆或使用只读方式分析,避免覆盖可恢复数据。
  • 使用 TestDisk 重建分区表
    • 安装:sudo apt-get install testdisk(或发行版仓库)
    • 运行 testdisk → 选择磁盘 → Analyse → Quick Search/Deep Search → 标记丢失分区 → Write 写入分区表。
  • 使用 GParted Live 可视化恢复
    • 制作GParted启动U盘 → 从U盘启动 → 在图形界面识别空白区域 → 新建分区(类型与大小尽量与原分区一致)→ 应用操作 → 重启检查。
  • 文件系统级修复(分区找回后)
    • 确认文件系统类型后修复:
      • ext4:fsck -y /dev/sdXY
      • XFS:xfs_repair /dev/sdXY
    • 修复完成后再挂载验证。

四、分卷压缩归档的恢复(split或tar多卷)

  • 合并分卷归档
    • 若为 split 分卷(如 x00、x01…):cat x* > archive.tar.gz
    • 若为 tar 通过管道分卷:cat archive.tar.gz.* | tar xzvf -
  • 解包
    • tar xzvf archive.tar.gz
  • 校验
    • 解包后检查关键目录与文件完整性,必要时用 tar tvf 预览归档清单。

五、常见排错与预防要点

  • 无法进入系统
    • 进入救援/单用户模式,检查并修复分区:fsck /dev/mapper/xxx;必要时 chroot 修复引导(如 GRUB)。
  • 启动时报错或分区挂载失败
    • 临时以读写挂载根分区:mount -o remount,rw /
    • 编辑 /etc/fstab,先注释掉问题分区行,启动后再修正挂载参数与 UUID
  • 预防与日常维护
    • 定期备份 LVM 元数据:vgcfgbackup;妥善保存 /etc/lvm/backup 与 /etc/lvm/archive。
    • 重要数据定期做离线/异地备份;扩容/缩容前先全量备份。
    • 对关键业务使用 LVM 快照 做一致性点,降低回滚成本。

0