CentOS 6 系统备份和恢复

以下是为 CentOS 6 系统备份和恢复的详细指南,结合其特有的系统特性(如旧版 GRUB 引导和 yum 包管理):


一、备份方案

方法 1: 使用 tar 完整备份(推荐)
# 生成排除列表(注意 SELinux 相关目录)
cat > /root/exclude.txt << EOF
/proc/*
/sys/*
/dev/*
/tmp/*
/mnt/*
/media/*
/run/*
/var/cache/yum/*
/var/lib/rpm/__db*
*.log
EOF

# 执行备份(保留权限和SELinux上下文)
tar --numeric-owner --selinux --xattrs -czvpPf /backup/centos6_full_$(date +%Y%m%d).tar.gz -X /root/exclude.txt /
方法 2: 使用 rsync 增量备份
# 首次完整备份
rsync -aAXHh --delete --progress --exclude-from='/root/exclude.txt' / /mnt/backup/full/

# 后续增量备份(每天)
rsync -aAXHh --delete --progress --link-dest=/mnt/backup/full --exclude-from='/root/exclude.txt' / /mnt/backup/inc_$(date +%Y%m%d)/
方法 3: LVM 快照备份(需 LVM 分区)
# 创建快照(推荐系统空闲时操作)
lvcreate -L 5G -s -n snap_root -p r /dev/VolGroup/lv_root

# 挂载快照
mkdir /mnt/snap
mount -o ro /dev/VolGroup/snap_root /mnt/snap

# 备份快照内容
tar -czf /backup/lvm_snapshot.tar.gz /mnt/snap

# 移除快照
umount /mnt/snap
lvremove -f /dev/VolGroup/snap_root
方法 4: 使用 dump 工具(适用于 ext 文件系统)
# 检查分区号
df -h

# 完整备份
dump -0uan -f /backup/root_dump.img /dev/sda1

# 增量备份
dump -1uan -f /backup/root_dump_inc.img /dev/sda1

二、恢复方案

情境 1: 系统可启动时的恢复
# 还原 tar 备份
tar --numeric-owner --selinux --xattrs -xzvpPf backup.tar.gz -C /

# 重建 RPM 数据库(重要!)
rpm --rebuilddb

# 恢复后必须操作
touch /.autorelabel  # 强制 SELinux 重新标记
reboot
情境 2: 系统无法启动时的恢复
  1. 使用 CentOS 6 安装光盘进入 Rescue Mode
  2. 挂载原系统分区:
    chroot /mnt/sysimage
    
  3. 恢复流程:
    # 如果是 tar 备份
    tar --numeric-owner --selinux --xattrs -xzvpPf /path/to/backup.tar.gz -C /
    
    # 如果是 dump 备份
    restore -rf /path/to/backup_dump.img
    
    # 重建重要系统文件
    rpm --rebuilddb
    grub-install /dev/sda
    mkinitrd -f /boot/initramfs-$(uname -r).img $(uname -r)
    touch /.autorelabel
    
情境 3: 使用 LVM 快照恢复
lvconvert --merge /dev/VolGroup/snap_root
reboot

三、关键注意事项

  1. CentOS 6 特殊考量

    • GRUB Legacy (0.97):恢复后需执行 grub-install /dev/sda
    • 旧版内核:确保备份包含 /boot/initramfs-* 文件
    • 检查版本匹配:cat /etc/redhat-release
  2. 必须备份的特殊文件

    # 备份重要配置文件
    tar czf /backup/etc_config.tar.gz /etc/{passwd,shadow,group,gshadow,resolv.conf,fstab} 
    
    # 备份 yum 仓库配置
    cp -a /etc/yum.repos.d /backup/
    
  3. 服务状态保存

    service --status-all > /backup/services_status.txt
    chkconfig --list >> /backup/services_status.txt
    

四、自动化备份设置(cron示例)

# 每日凌晨2点执行全量备份
0 2 * * 0 root tar --numeric-owner --selinux --xattrs -czvpPf /backup/full_$(date +\%Y\%m\%d).tar.gz -X /root/exclude.txt / > /var/log/backup.log 2>&1

# 每日凌晨2点执行增量备份(周一除外)
0 2 * * 1-6 root rsync -aAXHh --delete --link-dest=/backup/full/ / /backup/inc_$(date +\%Y\%m\%d)/ >> /var/log/backup.log 2>&1

五、方案对比表

方法优势限制适用场景
tar完整系统克隆恢复耗时较长系统迁移/长期归档
rsync增量快速需要保持文件系统一致频繁数据同步
LVM 快照瞬时一致性备份需预配置 LVM运行中的数据库备份
dump文件系统层级恢复仅限 ext 文件系统分区级精确恢复

六、灾难恢复建议

  1. 定期验证备份:

    # 测试 tar 备份完整性
    tar -tzvf backup.tar.gz > /dev/null
    
    # 测试 dump 备份
    restore -t -f backup_dump.img
    
  2. 维护应急恢复包:

    • 备份当前内核 RPM 包:
      rpm -q kernel > /backup/kernel_versions.txt
      cp $(rpm -ql kernel-$(uname -r)) /backup/
      
    • 保存网卡驱动:
      ethtool -i eth0 | grep driver > /backup/network_drivers.txt
      
  3. 建议使用 mkisofs 创建可启动恢复镜像:

    mkisofs -o recovery.iso -V "CentOS6_Recovery" -J -R -v /backup/ /boot/ /etc/ /root/
    

此指南特别考虑了 CentOS 6 生命周期终止(EOL)后的维护需求,建议在恢复后立即执行 yum update(如仍有可用源)并做好系统迁移规划。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值