第 27 章 Relax-and-Recover (ReaR)
2026/7/14 4:42:35 网站建设 项目流程

当软件或硬件故障破坏系统时,系统管理员需要三项任务来将其恢复为新硬件环境中的完全正常工作状态:

  1. 在新硬件中引导救援系统
  2. 复制原始存储布局
  3. 恢复用户和系统文件

大多数备份软件仅解决第三个问题。要解决第一个和第二个问题,请使用Relax-and-Recover(ReaR),这是灾难恢复和系统迁移实用程序。

备份软件创建备份.通过创建救援系统为备份软件提供补充.在新硬件上启动救援系统可让您发出 rear restore命令,从而启动恢复过程。在此过程中,ReaR 复制分区布局和文件系统,提示从备份软件创建的备份中恢复用户和系统文件,最后安装启动加载器。默认情况下,由 ReaR 创建的救援系统仅恢复存储布局和启动加载器,而不是实际的用户和系统文件。

本章论述了如何使用 ReaR。

27.1. 基本 ReaR 用法

27.1.1. 安装 ReaR

作为 root 运行以下命令安装rear软件包:

~]# yum install rear

27.1.2. 配置 ReaR

rear 在/etc/rear/local.conf文件中配置。通过添加以下行来指定救援系统配置:

OUTPUT=output formatOUTPUT_URL=output location

使用救援系统格式替换输出格式,例如:ISO磁盘镜像的 ISO 或USB用于可引导 USB。

使用要放置的位置替换输出位置,例如file:///mnt/rescue_system/用于本地文件系统目录,或sftp://backup:.0.0/用于 SFTP 目录。

例 27.1. 配置救援系统格式和位置

要将 ReaR 配置为将救援系统作为 ISO 镜像输出到/mnt/rescue_system/目录中,请将这些行添加到/etc/rear/local.conf文件中:

OUTPUT=ISO OUTPUT_URL=file:///mnt/rescue_system/

有关所有选项的列表,请参阅 rear(8)man page 的"救援映像配置"一节。

特定于 ISO 的配置

使用 例 27.1 “配置救援系统格式和位置” 中的配置会在两个位置生成两个等同的输出文件:

  • /var/lib/rear/output/-rear的默认输出位置
  • /mnt/rescue_system/HOSTNAME/rear-localhost.iso- 在OUTPUT_URL中指定的输出位置

但是,通常只需要一个 ISO 镜像。要使 ReaR 只在用户指定的目录中创建 ISO 镜像,请将这些行添加到/etc/rear/local.conf中:

OUTPUT=ISO BACKUP=NETFS OUTPUT_URL=null BACKUP_URL="iso:///backup" ISO_DIR="output location"

将输出位置替换为输出的所需位置

27.1.3. 创建救援系统

以下示例演示了如何创建带有详细输出的救援系统:

~]# rear -v mkrescue Relax-and-Recover 1.17.2 / Git Using log file: /var/log/rear/rear-rhel7.log mkdir: created directory '/var/lib/rear/output' Creating disk layout Creating root filesystem layout TIP: To login as root via ssh you need to set up /root/.ssh/authorized_keys or SSH_ROOT_PASSWORD in your configuration file Copying files and directories Copying binaries and libraries Copying kernel modules Creating initramfs Making ISO imageWrote ISO image: /var/lib/rear/output/rear-rhel7.iso (124M)Copying resulting files to file location

Show less

使用 例 27.1 “配置救援系统格式和位置” 中的配置,ReaR 会打印上述输出。最后两行确认救援系统已成功创建并复制到配置的备份位置/mnt/rescue_system/。因为系统的主机名是rhel7,备份位置现在包含与救援系统的目录rhel7/以及一个辅助文件:

~]# ls -lh /mnt/rescue_system/rhel7/ total 124M -rw-------. 1 root root 202 Jun 10 15:27 README -rw-------. 1 root root 166K Jun 10 15:27 rear.log -rw-------. 1 root root 124M Jun 10 15:27 rear-rhel7.iso -rw-------. 1 root root 274 Jun 10 15:27 VERSION

Show less

将救援系统传输到外部介质,以便在出现灾难时不会丢失它。

27.1.4. 调度 ReaR

rear 软件包提供的/etc/cron.d/rearcrontab 文件会在 1:30 AM 每天自动运行rear mkrescue命令,以计划定期创建救援系统的 Relax-and-Recover (ReaR)工具。该命令只创建一个救援系统,而不是数据备份。您仍需要自行计划定期备份数据。例如:

  • 您可以添加将调度rear mkbackuponly命令的另一个 crontab。
  • 您还可以更改现有的 crontab 来运行rear mkbackup命令,而不是默认的/usr/sbin/rear checklayout || /usr/sbin/rear mkrescure命令。
  • 如果使用外部备份方法,您可以调度外部备份。详情取决于您在 ReaR 中使用的备份方法。如需了解更多详细信息,请参阅将 ReaR 与备份软件集成。

注意

rear软件包中提供的/etc/cron.d/rearcrontab 文件已弃用,因为默认情况下,无法执行备份。详情请查看对应的 已弃用的功能 shell 和命令行工具。

27.1.5. 执行系统救援

执行恢复或迁移:

  1. 在新硬件上启动救援系统。例如:将 ISO 镜像刻录到 DVD 并从 DVD 引导。
  2. 在控制台界面中,选择 "Recover" 选项:

    图 27.1. rescue system: 菜单

  3. 您将进入提示:

    图 27.2. rescue system: prompt

    警告

    当您在下一步中开始恢复后,它可能无法被撤销,您可能丢失系统物理磁盘上的任何存储内容。

  4. 运行rear restore命令,以执行恢复或迁移。然后,救援系统会重新创建分区布局和文件系统:

    图 27.3. 救援系统:运行"rear restore"

  5. 将备份中的用户和系统文件恢复到/mnt/local/目录。

    例 27.2. 恢复用户和系统文件

    在这个示例中,备份文件是按照 第 27.2.1.1 节 “配置内部备份方法” 中的说明创建的tar归档。首先,从存储中复制存档,然后将文件解压缩到/mnt/local/中,然后删除归档:

    ~]# scp root@192.168.122.7:/srv/backup/rhel7/backup.tar.gz /mnt/local/ ~]# tar xf /mnt/local/backup.tar.gz -C /mnt/local/ ~]# rm -f /mnt/local/backup.tar.gz

    新存储必须有足够的空间用于归档和提取的文件。

  6. 验证这些文件是否已恢复:

    ~]# ls /mnt/local/

    图 27.4. 救援系统:从备份中恢复用户和系统文件

  7. 确保 SELinux 在下次引导时重新标记文件:

    ~]# touch /mnt/local/.autorelabel

    否则,您可能无法登录系统,因为/etc/passwd文件的 SELinux 上下文可能不正确。

  8. 通过输入exit来完成恢复。rear 将重新安装启动加载器。之后,重启系统:

    图 27.5. 救援系统:完成恢复

    重新引导后,SELinux 将重新标记整个文件系统。然后,您将能够登录恢复的系统。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询