第 27 章 Relax-and-Recover (ReaR)


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

  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 format
OUTPUT_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 image
Wrote ISO image: /var/lib/rear/output/rear-rhel7.iso (124M)
Copying resulting files to file location

使用 例 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

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

27.1.4. 调度 ReaR

rear 软件包提供的 /etc/cron.d/ rear crontab 文件会在 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/rear crontab 文件已弃用,因为默认情况下,无法执行备份。详情请查看对应的 已弃用的功能 shell 和命令行工具

27.1.5. 执行系统救援

执行恢复或迁移:

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

    图 27.1. rescue system: 菜单

    Rear 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. 救援系统:完成恢复

    Rear rescue 系统完成恢复

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.