第 6 章 备份和恢复基于 RHEL 的自承载引擎环境

因为自承载引擎所具有的特性,以及主机与承载引擎的虚拟机间的关系,备份和恢复自承载引擎与备份和恢复标准的 Red Hat Virtualization 环境相比,会需要考虑额外的一些因素。特别是,承载引擎的主机需要在备份时保留在环境中,这可能会导致在环境被恢复后,在同步新主机和承载引擎的主机时出现问题。
为了解决这个问题,推荐在进行备份前把一个主机设置为维护模式,从而使它不再运行虚拟机。这个主机可以被用来部署新的自承载引擎,它被称为“故障转移(failover)”主机。
如果一个承载引擎的主机在备份时仍然在运行虚拟机,则具有任何匹配标识(IP 地址、FQDN 或名称)的主机都无法被用来部署一个被恢复的自承载引擎。数据库中的冲突会导致无法在主机和恢复的承载引擎的虚拟机间进行同步。如果使用故障转移主机,则可以在同步前把这个主机从恢复的承载引擎的虚拟机上删除。

注意

如果有一个新主机被用来承载引擎,则不需要使用故障转移主机。这个新主机会有唯一的 IP 地址、FQDN 和名称,所以不会与数据库备份中的任何主机冲突。

过程 6.1. 备份自承载引擎环境的流程

以下介绍了使用故障转移主机对自承载引擎进行备份的流程示例。这个主机在以后可以被用来部署恢复的自承载引擎环境。如需了解更多与备份自承载引擎相关的信息,请参阅 第 6.1 节 “备份自承载引擎 Manager 虚拟机”
  1. 引擎虚拟机运行在 Host 2 上,其它 6 个普通的虚拟机被平均分配在 3 个主机上运行。
    Host 1 设置为维护模式。这会把在 Host 1 上运行的虚拟机迁移到其它主机上,使它不再运行虚拟机负载,并在备份时作为故障转移主机。
  2. Host 1 现在是维护模式。以前在它上面运行的虚拟机被迁移到 Host 3。
    使用 engine-backup 命令对环境进行备份。在备份完成后,Host 1 可以被重新激活来运行包括引擎虚拟机在内的虚拟机。

过程 6.2. 恢复自承载引擎环境的流程

以下介绍了通过一个备份恢复自承载引擎环境的流程示例。故障转移主机用来部署新的引擎虚拟机,然后使用这个虚拟机进行备份恢复。在通过备份进行恢复后,故障转移主机仍然会存在于 Red Hat Virtualization Manager 中,这是因为在创建备份时,它存在于环境中。从 Manager 上删除这个旧的故障转移主机可以使新主机和引擎虚拟机进行同步,并最终完成部署。如需了解更多与恢复自承载引擎相关的信息,请参阅 第 6.2 节 “恢复自承载引擎环境”
  1. Host 1 被用来部署一个新的自承载引擎,并恢复了在前面的示例中进行的备份。部署恢复的环境包括一些额外的步骤:
    • 当 Red Hat Virtualization Manager 在引擎虚拟机上安装后,但还没有运行 engine-setup 前,使用 engine-backup 工具程序恢复备份。
    • engine-setup 配置并恢复了 Manager 后,登录到管理门户并删除 Host 1(它存在于备份中)。当在部署新的 Host 1 时,如果旧的 Host 1 没有被删除并存在于 Manager 中,引擎虚拟机将无法和新的 Host 1 进行同步,从而导致部署失败。
    Host 1 和引擎虚拟机进行同步后,部署过程就已完成,现在的环境可以被看作为一个可以进行基本操作的环境。因为只有一个承载引擎的主机,引擎主机无法实现高可用性功能。但是,如果需要,具有高优先级的虚拟机可以在 Host 1 上运行。
    所有标准的 RHEL 主机(存在于环境中,但不是自承载引擎主机)将会成为活跃的主机,那些在备份时活跃的虚拟机现在可以在这些主机上运行,并在 Manager 中有效。
  2. 在它们当前的状态下,Host 2Host 3 无法被恢复。这些主机需要从环境中删除并使用 hosted-engine 部署脚本重新把它们添加进环境。如需了解更详细的相关信息,请参阅 第 6.2.4 节 “从恢复的自承载引擎环境中删除状态为 Non-Operational 的主机”第 7 章 在自承载环境中安装额外的主机
    Host 2Host 3 被重新部署到恢复的环境中。除了引擎虚拟机在 Host 1 上运行外,现在的环境与在进行备份前的状态完全相同。

6.1. 备份自承载引擎 Manager 虚拟机

我们推荐您定期备份自承载引擎环境。在这里,支持的备份方法是使用 engine-backup,它可以在不影响 ovirt-engine 服务的情况下进行。engine-backup 只备份 Red Hat Virtualization Manager 虚拟机,而不备份 Manager 虚拟机所在的主机,或环境中的其它虚拟机。

过程 6.3. 备份原始的 Red Hat Virtualization Manager

  1. 准备故障转移主机(failover host)

    故障转移主机(一个可以运行引擎的主机)需要被设置为维护模式,从而保证在备份时它没有运行虚拟机。这个主机在以后可以被用来部署恢复的自承载引擎环境。任何一个可以运行引擎的主机都可以作为一个故障转移主机,但是使用 Host 1 会使恢复的过程更加直接。Host 1 主机的默认名是 hosted_engine_1,它在 hosted-engine 部署脚本初始运行时被设置。
    1. 登录到可以运行引擎的一个主机上。
    2. 确认 hosted_engine_1 主机是 Host 1
       # hosted-engine --vm-status
    3. 登录到管理门户。
    4. 主机标签页。
    5. 在结果列表中选 hosted_engine_1 主机,点维护
    6. 确定
    取决于主机上的虚拟负载,迁移主机上的所有虚拟机会需要一些时间完成。当主机状态变为 Maintenance 时,进行下一步操作。
  2. 创建一个 Manager 的备份

    在 Manager 虚拟机上,备份配置设置和数据库的内容。把 [EngineBackupFile] 替换为备份文件的文件名;把 [LogFILE] 替换为备份日志文件的文件名。
    # engine-backup --mode=backup --file=[EngineBackupFile] --log=[LogFILE]
  3. 把文件备份到一个外部服务器上

    把文件备份到一个外部服务器上。在以下的例子中,[Storage.example.com] 是保存备份文件的一个网络存储服务器的完全限定域名;/backup/ 是保存备份文件的目录或路径。备份的文件需要可以被访问来恢复环境设置以及数据库中的数据。
    # scp -p [EngineBackupFiles] [Storage.example.com:/backup/EngineBackupFiles]
  4. 激活故障转移主机

    取消 hosted_engine_1 主机的维护模式。
    1. 登录到管理门户。
    2. 主机标签页。
    3. 在结果列表中选 hosted_engine_1
    4. 激活
您已经备份了 Red Hat Virtualization Manager 虚拟机的配置设置和数据库内容。