温馨提示×

CentOS镜像备份与恢复的方法

小樊
38
2025-10-17 20:15:27
栏目: 智能运维

CentOS镜像备份与恢复方法

一、常见备份方法

1. tar命令(文件级全量备份)

  • 原理:将系统文件打包压缩,排除虚拟文件系统和临时目录,保留文件权限与属性。
  • 备份命令sudo tar cvpzf system_backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys /
    -c创建归档,-v显示进度,-p保留权限,-z用gzip压缩,--exclude排除无需备份的目录)
  • 恢复命令sudo tar xvpfz system_backup.tar.gz -C /
    -x解压,-C /指定解压到根目录,覆盖现有文件需谨慎)
  • 适用场景:需要备份特定目录(如/home/etc)或小容量系统,支持异地存储。

2. rsync命令(增量备份)

  • 原理:仅同步源目录与目标目录的差异文件,节省存储空间和时间。首次全量备份,后续仅复制变化的文件。
  • 首次全量备份rsync -avz --delete /source/directory/ /destination/directory/
    -a归档模式,-v显示进度,-z压缩传输,--delete删除目标目录中源目录不存在的文件)
  • 增量备份rsync -avz --delete --link-dest=/destination/directory/ /source/directory/
    --link-dest创建硬链接,避免重复存储未修改的文件)
  • 适用场景:关键数据(如数据库、配置文件)的日常增量备份,支持远程同步(通过SSH)。

3. dd命令(磁盘/分区级镜像)

  • 原理:逐块复制磁盘或分区的原始数据,生成与原设备一致的镜像文件,包含分区表、引导记录等。
  • 备份命令sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress
    if输入文件(原设备,如/dev/sda),of输出文件(镜像路径),bs块大小(4M提升速度),status=progress显示进度)
  • 恢复命令sudo dd if=/path/to/backup.img of=/dev/sdX bs=4M status=progress
    of指定目标设备,需确认容量不小于原磁盘)
  • 适用场景:整块硬盘备份(如更换新磁盘)、系统完全克隆,需注意目标设备需格式化

4. Clonezilla(开源磁盘克隆工具)

  • 原理:支持“设备到镜像”(备份)和“镜像到设备”(恢复)模式,可备份整个磁盘或单个分区,支持增量备份、加密和网络存储。
  • 备份步骤
    ① 下载Clonezilla ISO,制作启动盘(如用Rufus或dd命令);
    ② 从启动盘启动,选择“device-image”模式;
    ③ 选择“Local_dev”并连接外部存储(如U盘、NAS);
    ④ 选择“Beginner”模式,指定备份源(磁盘/分区)和目标路径,开始备份。
  • 恢复步骤
    ① 用Clonezilla启动盘启动目标机器;
    ② 选择“device-image”模式,加载之前保存的镜像;
    ③ 选择目标磁盘(容量需≥原磁盘),确认恢复,等待完成。
  • 适用场景:企业级整盘备份、快速恢复相同硬件环境的系统,支持批量操作。

5. Mondo Rescue(故障恢复工具)

  • 原理:创建可启动的系统镜像(ISO格式),支持备份到本地、网络或云存储,恢复时可修复引导加载器、文件系统等问题。
  • 备份命令mondoarchive --hard-disk /path/to/backup --max-compression --cache-path=/var/cache/modo
    --hard-disk指定备份存储路径,--max-compression启用最大压缩,--cache-path设置缓存目录)
  • 恢复命令mondo restore /path/to/backup
    (根据提示选择镜像文件和恢复目标)
  • 适用场景:系统崩溃、引导加载器损坏等严重故障的快速恢复,支持多操作系统环境。

二、常见恢复方法

1. ISO镜像恢复(系统无法启动时)

  • 准备工作
    ① 从CentOS官网下载对应版本ISO(如CentOS 7/8);
    ② 用dd命令制作可启动USB:sudo dd if=/path/to/centos.iso of=/dev/sdX bs=4M status=progress && sync/dev/sdX为USB设备,如/dev/sdb勿选系统盘);
    ③ 插入USB,重启电脑,进入BIOS设置(按F2/F12/Del键),将USB设为第一启动项。
  • 进入救援模式
    选择安装界面中的“Troubleshooting”→“Rescue a CentOS system”,进入命令行环境。
  • 修复操作
    ① 挂载原系统分区:chroot /mnt/sysimage(自动挂载原系统到/mnt/sysimage);
    ② 修复引导加载器:grub2-install /dev/sdX/dev/sdX为引导设备,如/dev/sda);
    ③ 更新GRUB配置:grub2-mkconfig -o /boot/grub2/grub.cfg
    ④ 检查并修复文件系统:fsck /dev/sdXY/dev/sdXY为根分区,如/dev/sda1)。
  • 重启系统exit退出chroot,reboot移除USB并重启。

2. Clonezilla恢复(整盘/分区克隆)

  • 步骤
    ① 用Clonezilla启动盘启动目标机器;
    ② 选择“device-image”模式,加载之前备份的镜像文件;
    ③ 选择目标磁盘(容量需≥原磁盘),确认“Overwrite”(覆盖)选项;
    ④ 等待恢复完成,重启系统(需拔出启动盘)。
  • 注意:恢复前需备份目标磁盘的现有数据,避免误覆盖。

3. 文件/目录恢复(部分数据丢失)

  • tar备份恢复sudo tar xvpfz backup.tar.gz -C /(解压到根目录,覆盖现有文件);
  • rsync恢复rsync -av /path/to/backup/ /path/to/restore/(同步备份目录到目标目录,保留权限和属性)。
  • 适用场景/home/etc等目录数据丢失,或需要恢复特定文件。

0