温馨提示×

centos分卷如何进行备份与恢复

小樊
33
2025-11-24 01:25:28
栏目: 智能运维

CentOS分卷备份与恢复实用指南

一、场景与工具选择

  • 按“分卷”的常见含义,通常分为两类:
    1. 将一个大备份拆分成多个固定大小的文件(split),便于传输与存放;
    2. 对“分区/逻辑卷”进行备份(ext2/3/4 用 dump/restore,XFS 用 xfsdump/xfsrestore),可按时间点做增量/差异策略。
  • 常用工具与适用场景一览:
    • tar + split:适合任意目录/文件,灵活、跨平台,支持压缩与排除路径;
    • dump/restore:适合 ext2/3/4 分区级备份,支持0–9 级增量、记录到 /etc/dumpdates,便于按层级恢复;
    • xfsdump/xfsrestore:适合 XFS 分区级备份,支持会话与层级管理;
    • LVM 快照:适合在线一致性备份(数据库、业务目录),低影响、快速回滚。

二、方案一 使用 tar + split 实现分卷打包与恢复

  • 备份(示例将 /data 分卷为每份 500MB,bzip2 压缩):
    # 安装工具
    yum -y install tar
    
    # 备份并分卷(-j 为 bzip2;-L 指定每卷大小)
    tar cvpjf - /data --exclude=/data/lost+found \
      | split -b 500M -d -a 3 - /backup/data_$(date +%F).tar.bz2.
    
    # 生成校验(可选)
    sha256sum /backup/data_*.tar.bz2.* > /backup/data_$(date +%F).sha256
    
  • 恢复:
    # 校验(可选)
    sha256sum -c /backup/data_$(date +%F).sha256
    
    # 合并分卷并解压到 /restore(注意结尾的点“.”)
    cat /backup/data_*.tar.bz2.* | tar xvpfj - -C /restore
    
    # 若需保留 SELinux 上下文(系统目录恢复时建议)
    restorecon -Rv /restore
    
  • 提示:
    • 排除路径可按需增删,例如 /proc、/sys、/mnt、/media 等虚拟或外接挂载点;
    • 分卷命名中的 -a 3 表示使用 3 位序号后缀(000、001…),便于排序与校验。

三、方案二 分区级备份与恢复(ext2/3/4 与 XFS)

  • ext2/3/4 使用 dump/restore(支持 0–9 级增量)

    • 安装与全量备份:
      yum -y install dump
      # 0 级全备(-u 记录到 /etc/dumpdates;-j 启用 bzip2)
      dump -0uj -f /backup/boot_0.bz2 /boot
      
    • 增量备份(仅备份上次备份后变更):
      # 1 级增量(基于上一次同层级或更低层级)
      dump -1uj -f /backup/boot_1.bz2 /boot
      
    • 查看备份与层级信息:
      cat /etc/dumpdates
      dump -W
      
    • 恢复(按层级从低到高;先准备空目录,如 /restore/boot):
      # 先 0 级
      cd /restore/boot && restore -r -f /backup/boot_0.bz2
      # 再 1 级(如有更多层级依次执行)
      cd /restore/boot && restore -r -f /backup/boot_1.bz2
      
    • 常用模式:对比模式 restore -C -f 文件,查看模式 restore -t -f 文件,交互模式 restore -i -f 文件
  • XFS 使用 xfsdump/xfsrestore

    • 全量备份(会话标签便于识别):
      yum -y install xfsdump
      xfsdump -l 0 -L "boot_$(date +%F)" -f /backup/boot.dump /boot
      
    • 增量备份(基于会话,level 1–9):
      xfsdump -l 1 -L "boot_$(date +%F)_inc" -f /backup/boot_inc.dump /boot
      
    • 恢复(先准备空目录,如 /restore/boot):
      xfsrestore -f /backup/boot.dump -L "boot_$(date +%F)" /restore/boot
      # 如需仅恢复子目录/文件
      xfsrestore -f /backup/boot.dump -s grub2/grub.cfg /restore/boot
      
    • 提示:xfsdump 以“会话/层级”管理备份,恢复时按会话与层级匹配执行。

四、方案三 LVM 快照实现在线一致性备份

  • 思路:对业务 LV 创建只读快照,将快照内容用 tar/xfsdump 备份,完成后删除快照。
  • 示例(对逻辑卷 /dev/vg0/mylv 创建 2GB 快照并备份为分卷包):
    # 1) 创建只读快照(大小按变更量评估,需有空闲空间)
    lvcreate -s -L 2G -n mylv_snap -p r /dev/vg0/mylv
    
    # 2) 挂载快照并备份(以 XFS 为例;ext 文件系统可用 dump/restore)
    mkdir -p /mnt/snap
    mount /dev/vg0/mylv_snap /mnt/snap
    
    # 2.1) 分卷打包(示例每卷 500MB)
    tar cvpjf - /mnt/snap | split -b 500M -d -a 3 - /backup/mylv_$(date +%F).tar.bz2.
    
    # 或 2.2) XFS 专用
    # xfsdump -l 0 -L "mylv_$(date +%F)" -f /backup/mylv.dump /mnt/snap
    
    # 3) 卸载并删除快照
    umount /mnt/snap
    lvremove /dev/vg0/mylv_snap
    
  • 恢复时按“二、方案二”的对应方式解包或 xfsrestore 到目标 LV 挂载点。

五、关键注意事项与最佳实践

  • 备份前准备
    • 确认目标存储容量充足,保留多份异地副本
    • 对关键业务先停写或切流,或使用 LVM 快照获取一致性视图;
    • 记录备份命令、时间、层级与校验值(如 sha256),便于追溯与验收。
  • 恢复要点
    • 恢复顺序:先准备空目录,再按层级/会话从低到高恢复;
    • 系统目录恢复后按需重建被排除的目录(如 /proc、/sys、/mnt、/media),并执行 restorecon -Rv / 修复 SELinux 上下文;
    • 恢复前先在小样本或非生产环境演练,验证可用性与完整性。

0