第 27 章 Relax-and-Recover (ReaR)

发布时间:2026/7/14 4:42:45
第 27 章 Relax-and-Recover (ReaR) 当软件或硬件故障破坏系统时系统管理员需要三项任务来将其恢复为新硬件环境中的完全正常工作状态在新硬件中引导救援系统复制原始存储布局恢复用户和系统文件大多数备份软件仅解决第三个问题。要解决第一个和第二个问题请使用Relax-and-Recover(ReaR)这是灾难恢复和系统迁移实用程序。备份软件创建备份.通过创建救援系统为备份软件提供补充.在新硬件上启动救援系统可让您发出 rear restore命令从而启动恢复过程。在此过程中ReaR 复制分区布局和文件系统提示从备份软件创建的备份中恢复用户和系统文件最后安装启动加载器。默认情况下由 ReaR 创建的救援系统仅恢复存储布局和启动加载器而不是实际的用户和系统文件。本章论述了如何使用 ReaR。27.1. 基本 ReaR 用法27.1.1. 安装 ReaR作为 root 运行以下命令安装rear软件包~]# yum install rear27.1.2. 配置 ReaRrear 在/etc/rear/local.conf文件中配置。通过添加以下行来指定救援系统配置OUTPUToutput formatOUTPUT_URLoutput 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文件中OUTPUTISO OUTPUT_URLfile:///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中OUTPUTISO BACKUPNETFS OUTPUT_URLnull BACKUP_URLiso:///backup ISO_DIRoutput 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 locationShow 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 VERSIONShow less将救援系统传输到外部介质以便在出现灾难时不会丢失它。27.1.4. 调度 ReaRrear 软件包提供的/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. 执行系统救援执行恢复或迁移在新硬件上启动救援系统。例如将 ISO 镜像刻录到 DVD 并从 DVD 引导。在控制台界面中选择 Recover 选项图 27.1. rescue system: 菜单您将进入提示图 27.2. rescue system: prompt警告当您在下一步中开始恢复后它可能无法被撤销您可能丢失系统物理磁盘上的任何存储内容。运行rear restore命令以执行恢复或迁移。然后救援系统会重新创建分区布局和文件系统图 27.3. 救援系统运行rear restore将备份中的用户和系统文件恢复到/mnt/local/目录。例 27.2. 恢复用户和系统文件在这个示例中备份文件是按照 第 27.2.1.1 节 “配置内部备份方法” 中的说明创建的tar归档。首先从存储中复制存档然后将文件解压缩到/mnt/local/中然后删除归档~]# scp root192.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新存储必须有足够的空间用于归档和提取的文件。验证这些文件是否已恢复~]# ls /mnt/local/图 27.4. 救援系统从备份中恢复用户和系统文件确保 SELinux 在下次引导时重新标记文件~]# touch /mnt/local/.autorelabel否则您可能无法登录系统因为/etc/passwd文件的 SELinux 上下文可能不正确。通过输入exit来完成恢复。rear 将重新安装启动加载器。之后重启系统图 27.5. 救援系统完成恢复重新引导后SELinux 将重新标记整个文件系统。然后您将能够登录恢复的系统。