搜索

第 2 章 升级独立管理器本地数据库环境

download PDF

2.1. 从 Red Hat Virtualization 4.3 升级到 4.4

将您的环境从 4.3 升级到 4.4 涉及以下步骤:

升级注意事项

  • 计划升级时,请参阅 Red Hat Virtualization 4.4 升级注意事项和已知问题
  • 当从 Open Virtual Network (OVN)和 Open vSwitch (OvS) 2.11 升级到 OVN 2021 和 OvS 2.15 时,只要满足以下条件,进程就可以对用户透明。

    • 管理器首先升级。
    • 在主机升级前,需要禁用 ovirt-provider-ovn 安全组,对于预期在带有 OVN/OvS 版本 2.11 的主机间工作的所有 OVN 网络。
    • 主机已升级为与 OVN 版本 2021 或更高版本和 OvS 版本 2.15 匹配。您必须在管理门户中完成此步骤,以便正确重新配置 OVN 并刷新证书。
    • 升级后会重启主机。
注意

要验证供应商和 OVN 是否在主机上配置成功,请检查主机 常规选项卡中OVN 配置 标记。如果 OVN Configured 设为 No,请单击 Management Refresh Capabilities。此设置也可以在 REST API 中提供。如果刷新功能失败,您可以通过从 Manager 4.4 或更高版本重新安装主机来配置 OVN。

2.1.1. 先决条件

  • 计划任何需要虚拟机停机的时间。在升级过程中更新集群的兼容性版本后,重启后会自动为每个虚拟机应用新的硬件配置。您必须尽快重新引导任何正在运行的或暂停的虚拟机,才能应用配置更改。
  • 确保您的环境满足 Red Hat Virtualization 4.4 的要求。有关先决条件的完整列表,请参阅规划和前提条件指南
  • 在升级 Red Hat Virtualization Manager 时,建议您使用其中一个现有主机。如果您决定使用新主机,则必须为新主机分配唯一名称,然后在开始升级过程前将其添加到现有集群中。

2.1.2. 分析环境

建议您在进行更新和故障排除之前,运行 Log Collection Analysis(日志集合分析)工具和 Image Discrepancies 工具。这些工具分析您的环境以了解可能妨碍您执行更新的已知问题,并提供解决问题的建议。

2.1.3. 日志集合分析工具

在执行更新和故障排除之前,请运行日志集合分析工具。该工具会针对可能妨碍您执行更新的已知问题分析您的环境,并提供解决问题的建议。工具收集有关系统的详细信息,并将其显示为 HTML 文件。

先决条件

  • 确保 Manager 启用了正确的存储库。有关所需存储库的列表,请参阅为 Red Hat Virtualization 4.3 启用 Red Hat Virtualization Manager 仓库

    Red Hat Virtualization Manager 的更新将通过内容交付网络发布。

流程

  1. 在 Manager 机器上安装 Log Collection Analysis 工具:

    # yum install rhv-log-collector-analyzer
  2. 运行工具:

    # rhv-log-collector-analyzer --live

    此时会显示详细的报告。

    默认情况下,报告被保存到名为 analyzer_report.html 的文件中。

    要将文件保存到特定位置,请使用 --html 标志并指定位置:

    # rhv-log-collector-analyzer --live --html=/directory/filename.html
  3. 您可以使用 ELinks 文本模式 Web 浏览器在终端中读取分析器报告。安装 ELinks 浏览器:

    # yum install -y elinks
  4. 启动 ELinks 并打开 analyzer_report.html

    # elinks /home/user1/analyzer_report.html

    在 ELinks 中使用以下命令浏览报告:

    • Insert 向上滚动
    • Delete 向下滚动
    • PageUp 向上一页
    • PageDown 向下一页
    • Left Bracket向左滚动
    • Right Bracket 向右滚动

2.1.3.1. 使用镜像差异工具监控快照健康状况

RHV 镜像离散工具分析存储域和 RHV 数据库中的镜像数据。如果发现卷和卷属性的差异,它会警告您,当不会修复这些差异。在各种情况下使用该工具,例如:

  • 在升级版本之前,为了避免将损坏的卷或链移至新版本。
  • 出现失败的存储操作后,用于检测处于错误状态的卷或属性。
  • 从备份中恢复 RHV 数据库或存储后。
  • 在潜在问题发生之前定期对其进行检测。
  • 要分析快照或实时迁移相关的问题,并在修复这些类型的问题后验证系统健康状况。

先决条件

  • 所需版本:此工具是在 RHV 版本 4.3.8 中引入的,它带有 rhv-log-collector-analyzer-0.2.15-0.el7ev
  • 由于数据收集在不同位置上同时运行且并不具有原子性,因此请停止环境中可以修改存储域的所有活动。也就是说,请勿创建或删除快照、编辑、移动、创建或删除磁盘。否则,可能会出现错误检测不一致的情况。虚拟机可以在此过程中保持正常运行。

流程

  1. 要运行该工具,在 RHV Manager 中输入以下命令:

    # rhv-image-discrepancies
  2. 如果工具发现差异,则重新运行以确认结果,特别是工具运行时可能会执行一些操作。
注意

此工具包含任何导出和 ISO 存储域,并可报告它们的差异。如果是这样,可以忽略它们,因为这些存储域没有 RHV 数据库中镜像的条目。

了解结果

工具报告以下内容:

  • 如果在存储中显示但没有在数据库中,或者卷显示在数据库中,但没有出现在存储中。
  • 如果存储和数据库之间有一些卷属性不同:

输出示例:

 Checking storage domain c277ad93-0973-43d9-a0ca-22199bc8e801
    Looking for missing images...
    No missing images found
    Checking discrepancies between SD/DB attributes...
    image ef325650-4b39-43cf-9e00-62b9f7659020 has a different attribute capacity on storage(2696984576) and on DB(2696986624)
    image 852613ce-79ee-4adc-a56a-ea650dcb4cfa has a different attribute capacity on storage(5424252928) and on DB(5424254976)

 Checking storage domain c64637b4-f0e8-408c-b8af-6a52946113e2
    Looking for missing images...
    No missing images found
    Checking discrepancies between SD/DB attributes...
    No discrepancies found

现在,您可以将 Manager 更新至最新版本 4.3。

2.1.4. 更新 Red Hat Virtualization Manager

先决条件

  • 确保 Manager 启用了正确的存储库。有关所需存储库的列表,请参阅为 Red Hat Virtualization 4.3 启用 Red Hat Virtualization Manager 仓库

    Red Hat Virtualization Manager 的更新将通过内容交付网络发布。

流程

  1. 在 Manager 机器中检查更新的软件包是否可用:

    # engine-upgrade-check
  2. 更新设置软件包:

    # yum update ovirt\*setup\* rh\*vm-setup-plugins
  3. 使用 engine-setup 脚本更新 Red Hat Virtualization Manager。engine-setup 脚本会提示您显示一些配置问题,然后停止 ovirt-engine 服务,下载并安装更新的软件包,备份和更新数据库,执行安装后配置,以及启动 ovirt-engine 服务。

    # engine-setup

    当脚本成功完成时,会显示以下信息:

    Execution of setup completed successfully
    注意

    Red Hat Virtualization Manager 安装过程中也会使用 engine-setup 脚本,并存储提供的配置值。在更新过程中,在预览配置时会显示存储的值,如果安装后使用 engine-config 更新配置,则可能不会更新。例如,如果在安装后使用 engine-configSANWipeAfterDelete 更新为 trueengine-setup 会在配置预览中输出 "Default SAN wipe after delete: False"。但是 engine-setup 不会覆盖更新的值。

    重要

    更新过程可能需要一些时间。在进程完成之前,请勿停止该进程。

  4. 更新基本操作系统以及在 Manager 中安装的任何可选软件包:

    # yum update --nobest
    重要

    如果您在更新过程中遇到必要的 Ansible 软件包冲突,请参阅在 RHV 管理器上无法执行 yum update(ansible 冲突 )

    重要

    如果更新了任何内核包,请重新引导计算机以完成更新。

现在,您可以将 Manager 升级到 4.4。

2.1.5. 将 Red Hat Virtualization Manager 从 4.3 升级到 4.4

Red Hat Virtualization Manager 4.4 只在 Red Hat Enterprise Linux 8.2 升级到 8.6 中被支持。您需要对 Red Hat Enterprise Linux 8.6 和 Red Hat Virtualization Manager 4.4 进行干净安装,即使您使用与用于运行 RHV Manager 4.3 相同的物理机器。

升级过程需要将 Red Hat Virtualization Manager 4.3 备份文件恢复到 Red Hat Virtualization Manager 4.4 机器。

先决条件

  • 环境中的所有数据中心和集群都必须将集群兼容性级别设置为版本 4.2 或 4.3。
  • 环境中的所有虚拟机都必须将集群兼容性级别设置为版本 4.3。
  • 如果您使用外部 CA 为 HTTPS 证书签名,请按照管理指南替换 Red Hat Virtualization Manager CA 证书的步骤进行操作。备份和恢复包括第三方证书,因此您应能够在升级后登录管理门户。确保 CA 证书已添加到所有客户端的系统范围信任存储中,以确保 virt-viewer 外部菜单正常工作。如需更多信息,请参阅 BZ#1313379
注意

在升级管理器时,已连接的主机和虚拟机可以继续工作。

流程

  1. 登录到 Manager 机器。
  2. 备份 Red Hat Virtualization Manager 4.3 环境。

    # engine-backup --scope=all --mode=backup --file=backup.bck --log=backuplog.log
  3. 将备份文件复制到 RHV 环境外的存储设备中。
  4. 安装 Red Hat Enterprise Linux 8.6。如需更多信息,请参阅执行标准 RHEL 安装
  5. 完成安装 Red Hat Virtualization Manager 4.4 的步骤,包括运行命令 yum install rhvm,但不运行 engine-setup。如需更多信息,请参阅安装 Red Hat Virtualization 指南。
  6. 将备份文件复制到 Red Hat Virtualization Manager 4.4 机器中并恢复它。

    # engine-backup --mode=restore --file=backup.bck --provision-all-databases
    注意

    如果备份中包含额外数据库用户,这个命令会创建具有随机密码的额外用户。如果额外用户需要访问恢复的系统,则必须手动更改这些密码。请参阅 https://access.redhat.com/articles/2686731

  7. 确保 Manager 启用了正确的存储库。有关所需存储库列表,请参阅为 Red Hat Virtualization 4.4 启用 Red Hat Virtualization Manager 存储库

    Red Hat Virtualization Manager 的更新将通过内容交付网络发布。

  8. 如果已在 Red Hat Virtualization Manager 4.3 机器上安装了可选的扩展软件包,请安装这些软件包。

    # yum install ovirt-engine-extension-aaa-ldap ovirt-engine-extension-aaa-misc
    注意

    ovirt-engine-extension-aaa-ldap 已被弃用。对于新的安装,请使用 Red Hat Single Sign On。如需更多信息,请参阅管理指南中的 安装和配置红帽单点登录

    注意

    这些软件包扩展的配置必须手动重新应用,因为它们不会作为备份和恢复过程的一部分进行迁移。

  9. 运行 engine-setup 命令配置管理器:

    # engine-setup
  10. 如果 Red Hat Virtualization Manager 4.4 使用不同的机器,则停用 Red Hat Virtualization Manager 4.3 机器。两个不同的管理器不能管理相同的主机或存储。
  11. 运行 engine-setup 以配置管理器.

    # engine-setup

Red Hat Virtualization Manager 4.4 现已安装,集群兼容性版本被设置为 4.2 或 4.3,无论是预先存在的集群兼容性版本。现在,您需要将环境中的主机升级到 RHV 4.4,之后您可以将集群兼容性版本改为 4.4。

现在,您可以更新主机。

2.1.6. 将主机和虚拟机从 RHV 4.3 迁移到 4.4

您可以将主机和虚拟机从 Red Hat Virtualization 4.3 迁移到 4.4,以便最小化环境中虚拟机的停机时间。

此过程需要将所有虚拟机从一个主机迁移,以便该主机能够升级到 RHV 4.4。升级后,您可以将主机重新关联到 Manager。

警告

安装或重新安装主机的操作系统时,红帽强烈建议您先分离附加到主机的任何现有非 OS 存储,以避免意外初始化这些磁盘,从而避免意外初始化这些磁盘,并可能会丢失数据。

注意

CPU 传递虚拟机可能无法从 RHV 4.3 正确迁移到 RHV 4.4。

RHV 4.3 和 RHV 4.4 基于 RHEL 7 和 RHEL 8,分别有不同的内核版本,它们具有不同 CPU 标记和 microcode。这可能导致迁移使用 CPU 透传功能的虚拟机时出现问题。

先决条件

  • RHV 4.4 的主机需要 Red Hat Enterprise Linux 8.2 升级到 8.6。需要完全安装 Red Hat Enterprise Linux 8.6 或 Red Hat Virtualization Host 4.4,即使您使用与为 RHV 4.3 运行主机的相同物理机器。
  • Red Hat Virtualization Manager 4.4 已安装并正在运行。
  • 主机所属数据中心和集群的兼容性级别设置为 4.2 或 4.3。在开始操作前,环境中的所有数据中心和集群都必须将集群兼容性级别设置为版本 4.2 或 4.3。

流程

  1. 挑选主机,以升级该主机的虚拟机并将其迁移到同一集群中的另一台主机上。您可以使用实时迁移来最大程度减少虚拟机停机时间。如需更多信息,请参阅虚拟机管理指南中的在主机之间迁移虚拟机
  2. 将主机置于维护模式,并从管理器中删除主机。如需更多信息,请参阅管理指南中的删除主机
  3. 安装 Red Hat Enterprise Linux 8.6 或 RHVH 4.4。如需更多信息,请参阅安装 Red Hat Virtualization 指南中的为 Red Hat Virtualization 安装主机
  4. 安装适当的软件包,以启用 RHV 4.4 的主机。如需更多信息,请参阅安装 Red Hat Virtualization 指南中的为 Red Hat Virtualization 安装主机
  5. 将此主机添加到 Manager,将它分配到同一群集。现在,您可以将虚拟机迁移到此主机上。如需更多信息,请参阅安装 Red Hat Virtualization 指南中的向 Manager 添加标准主机

重复这些步骤,以迁移同一集群中其余主机的虚拟机和升级主机(逐一迁移),直到所有主机都运行 Red Hat Virtualization 4.4。

2.1.7. 在保留本地存储时升级 RHVH

具有本地存储的环境无法将虚拟机迁移到另一群集中的主机,因为本地存储不与其他存储域共享。要升级具有本地存储域的 RHVH 4.3 主机,请在保留本地存储的同时重新安装主机,在 4.4 环境中创建新的本地存储域,并将之前的本地存储导入到新域中。

先决条件

  • Red Hat Virtualization Manager 4.4 已安装并正在运行。
  • 主机所属数据中心和集群的兼容性级别,设置为 4.2 或 4.3。

流程

  1. 在启动此过程前,请确保 RHVH 4.3 主机的本地存储处于维护模式。完成这些步骤:

    1. 打开 Data Centers 标签页。
    2. Details 框中点 Storage 标签页,在结果列表中选存储域。
    3. Maintenance
  2. 重新安装 Red Hat Virtualization 主机,如安装指南中的安装 Red Hat Virtualization 主机所述。

    重要

    Installation Destination 屏幕中选择要在其上安装 RHVH 的设备时,请勿选择存储虚拟机的设备。仅选择应安装操作系统的设备。

    如果您使用 Kickstart 安装主机,请通过在 Kickstart 文件中添加以下内容来保留包含虚拟机的设备,将 'device' 替换为相关设备。

    # clearpart --all --drives=device

    有关使用 Kickstart 的详情,请参考 Red Hat Enterprise Linux 8 执行高级 RHEL 安装中的 Kickstart 参考

  3. 在重新安装的主机上,创建一个目录,例如用于恢复之前环境的 /data

    # mkdir /data
  4. 将之前的本地存储挂载到新目录中。在我们的示例中,/dev/sdX1 是本地存储:

    # mount /dev/sdX1 /data
  5. 为新目录设置以下权限:

    # chown -R 36:36 /data
    # chmod -R 0755 /data
  6. 红帽建议您在服务器需要重启时通过 /etc/fstab 自动挂载本地存储:

    # blkid | grep -i sdX1
    /dev/sdX1: UUID="a81a6879-3764-48d0-8b21-2898c318ef7c" TYPE="ext4"
    # vi /etc/fstab
    UUID="a81a6879-3764-48d0-8b21-2898c318ef7c" /data    ext4    defaults     0       0
  7. 在管理门户中,创建一个数据中心,然后在 Storage Type 下拉菜单中选择 Local
  8. 在新数据中心上配置集群。如需更多信息,请参阅管理指南中的创建新集群
  9. 将主机添加到管理器。如需更多信息,请参阅 安装 Red Hat Virtualization 指南中的向 Red Hat Virtualization Manager 添加标准主机
  10. 在 主机上,创建一个新目录,它将用于创建初始本地存储域。例如:

    # mkdir -p /localfs
    # chown 36:36 /localfs
    # chmod -R 0755 /localfs
  11. 在管理门户中,打开 Storage 选项卡,再单击 New Domain 以创建新的本地存储域。
  12. 将名称设置为 localfs,并将路径设置为 /localfs
  13. 本地存储激活后,单击 Import Domain 并设置域的详细信息。例如,将 Data 定义为名称,Local on Host 用作存储类型,/data 作为路径。
  14. OK 以确认显示的消息告诉您存储域已附加到数据中心。
  15. 激活新存储域:

    1. 打开 Data Centers 标签页。
    2. 单击详细信息窗格中的 Storage 选项卡,然后在结果列表中选择新的数据存储域。
    3. Activate
  16. 新存储域激活后,导入虚拟机及其磁盘:

    1. Storage 选项卡中选择 data
    2. 在详细信息窗格中选择 VM Import 选项卡,选择虚拟机并单击导入。如需了解更多详细信息,请参阅虚拟机管理指南中的从数据域导入虚拟机
  17. 一旦确保所有虚拟机都已成功导入并且正常运行,您可以将 localfs 移至维护模式。
  18. 单击 Storage 选项卡,然后从结果列表中选择 localfs

    1. 单击详细信息窗格中的 Data Center 选项卡。
    2. 单击 Maintenance,然后单击 OK 以将存储域移至维护模式。
    3. 单击 Detach。Detach Storage 确认窗口将打开。
    4. 点击 确定

您现在已将主机升级到版本 4.4,创建新的本地存储域,并导入 4.3 存储域及其虚拟机。

2.1.8. 在保留 Gluster 存储的同时升级 RHVH

使用 Gluster 为存储的环境可以备份 Gluster 存储,并在 RHVH 升级后恢复。尽量减少使用 Gluster 存储的虚拟机的工作负载,以缩短升级所需的时间。如果有大量写入密集型工作负载,则需要更多时间恢复。

注意

GlusterFS 存储已弃用,并将在以后的发行版本中删除。

先决条件

  • 如果存储域上有异地复制计划,请删除这些计划以避免升级冲突。
  • 当前没有运行异地复制同步。
  • 为新的 RHVH 4.4 Manager 部署创建新卷的 3 个主机需要额外 100 GB 磁盘空间。
  • 在开始此操作前,环境中的所有数据中心和集群都必须具有集群兼容级别 4.3。

限制

  • 只有使用 Red Hat Virtualization 4.4 的新部署才支持 network-Bound Disk Encryption(NBDE)。在升级过程中无法启用此功能。

流程

  1. 为 RHVH 4.4 管理器部署创建一个新的 Gluster 卷。

    1. 在每个主机上为新的 RHVH 4.4 自托管引擎虚拟机(VM)创建一个新的 brick。
    2. 如果您在设置中有一个备用磁盘,请按照 web 控制台中的文档创建卷操作。
    3. 如果现有卷组(VG)中有充足的空间可用于新管理器 100GB brick,它可以用作新管理器逻辑卷(LV)。

      在所有主机上运行以下命令,除非有其他明确指定:

    4. 检查卷组(VG)的可用大小。

      # vgdisplay <VG_NAME> | grep -i free
    5. 在此 VG 中创建一个逻辑卷.

      # lvcreate -n gluster_lv_newengine -L 100G <EXISTING_VG>
    6. 将新逻辑卷(LV)格式化为 XFS。

      # mkfs.xfs  <LV_NAME>
    7. 为新 brick 创建挂载点。

      # mkdir /gluster_bricks/newengine
    8. /etc/fstab 中创建与新创建的文件系统对应的条目,并挂载文件系统。
    9. 在 brick 挂载点上设置 SELinux 标签。

      # semanage fcontext -a -t glusterd_brick_t /gluster_bricks/newengine
       restorecon -Rv /gluster_bricks/newengine
    10. 在集群中的一个主机上执行 gluster 命令,以创建新的 gluster 卷:

      # gluster volume create newengine replica 3 host1:/gluster_bricks/newengine/newengine host2:/gluster_bricks/newengine/newengine host3:/gluster_bricks/newengine/newengine
    11. 在新创建的卷中设置所需的卷选项。在集群中的一个主机上运行以下命令:

      # gluster volume set newengine group virt
       gluster volume set newengine network.ping-timeout 30
       gluster volume set newengine cluster.granular-entry-heal enable
       gluster volume set newengine network.remote-dio off
       gluster volume set newengine performance.strict-o-direct on
       gluster volume set newengine storage.owner-uid 36
       gluster volume set newengine storage.owner-gid 36
    12. 启动新创建的 Gluster 卷。在集群之一主机上运行以下命令。

      # gluster volume start newengine
  2. 使用备份 playbook 在所有 RHVH 4.3 节点上备份 Gluster 配置。

    1. 备份 playbook 可用于最新版本的 RHVH 4.3。如果这个 playbook 不可用,请创建一个 playbook 和清单文件:

      /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/archive_config.yml

      例如:

       all:
        hosts:
          host1:
          host2:
          host3:
        vars:
          backup_dir: /archive
          nbde_setup: false
          upgrade: true
    2. 编辑备份清单文件使其包含正确详情。

        Common variables
        backup_dir ->  Absolute path to directory that contains the extracted contents of the backup archive
        nbde_setup -> Set to false as the {virt-product-fullname} 4.3 setup doesn’t support NBDE
        upgrade -> Default value true . This value will make no effect with backup
    3. 切换到目录并执行 playbook。

      ansible-playbook -i archive_config_inventory.yml archive_config.yml --tags backupfiles
    4. 生成的备份配置文件 tar 文件在 /root 下生成,名称为 RHVH-<HOSTNAME>-backup.tar.gz。在所有主机上,将备份配置 tar 文件复制到备份主机上。
  3. 使用 Manager 管理门户,将第一个主机上运行的虚拟机迁移到集群中的其他主机。
  4. 备份管理器配置。

    # engine-backup --mode=backup --scope=all --file=<backup-file.tar.gz> --log=<logfile>
    注意

    在创建备份前,请执行以下操作:

    • 为自托管引擎(SHE)启用 全局维护
    • 使用 SSH 登录 Manager 虚拟机,再停止 ovirt-engine 服务。
    • 将备份文件从自托管引擎虚拟机复制到远程主机。
    • 关闭 Manager。
  5. 检查所有副本 3 卷中是否有待处理的自修复任务。等待修复完成。
  6. 在其中一个主机上运行以下命令:

    # gluster volume heal <volume> info summary
  7. 停止 glusterfs brick 进程,并卸载第一个主机上所有 brick,以保持文件系统一致性。在第一个主机上运行以下命令:

    # pkill glusterfsd; pkill glusterfs
    # systemctl stop glusterd
    # umount /gluster_bricks/*
  8. 使用 RHVH 4.4 ISO 重新安装主机,仅格式化 OS 磁盘。

    重要

    确保安装不会格式化其他磁盘,因为 brick 在这些磁盘上创建。

  9. 节点在 RHVH 4.4 安装重启后,根据安装指南中所述订阅 RHVH 4.4 存储库,或安装下载的 RHVH 4.4 设备。

    # yum install <appliance>
  10. 禁用用于 Gluster brick 的设备。

    1. 创建新的 SSH 私钥和公钥对。
    2. 使用 frontend 和 backend 网络 FQDN,为同一主机建立 SSH 公钥身份验证(免密码 SSH)。
    3. 创建清单文件:

      /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/blacklist_inventory.yml

      例如:

       hc_nodes:
        hosts:
          host1-backend-FQDN.example.com:
            blacklist_mpath_devices:
               - sda
               - sdb
    4. 运行 playbook

      ansible-playbook -i blacklist_inventory.yml /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/tasks/gluster_deployment.yml --tags blacklistdevices*
  11. 使用 scp 将管理器备份和主机配置 tar 文件从备份主机复制到新安装的主机,并使用 scp 取消内容。
  12. 恢复 Gluster 配置文件。

    1. 提取 Gluster 配置文件的内容

       # mkdir /archive
       # tar -xvf /root/ovirt-host-host1.example.com.tar.gz -C /archive/
    2. 编辑清单文件,以恢复配置文件。清单文件位于 /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/archive_config_inventory.yml

      playbook 内容示例:

       all:
         hosts:
       	host1.example.com:
         vars:
       	backup_dir: /archive
       	nbde_setup: false
       	upgrade: true
      重要
      Use only one host under ‘hosts’ section of restoration playbook.
    3. 执行 playbook 以恢复配置文件

      ansible-playbook -i archive_config_inventory.yml archive_config.yml --tags restorefiles
  13. 使用 --restore-from-file 选项执行管理器部署,指向 Manager 中的备份存档。此管理器部署可以使用 hosted-engine --deploy 命令来交互完成,提供存储与新创建的 Manager 卷对应。也可以在自动化流程中使用 ovirt-ansible-hosted-engine-setup 完成相同的操作。以下流程是使用备份部署 HostedEngine 虚拟机的自动方法:

    1. 在新安装的主机中为 HostedEngine 部署创建 playbook:

      /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/he.yml

      - name: Deploy oVirt hosted engine
        hosts: localhost
        roles:
          - role: ovirt.hosted_engine_setup
    2. 使用模板文件更新 HostedEngine 相关信息:

      /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/he_gluster_vars.json

      例如:

      # cat /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment/he_gluster_vars.json
      
      {
        "he_appliance_password": "<password>",
        "he_admin_password": "<password>",
        "he_domain_type": "glusterfs",
        "he_fqdn": "<hostedengine.example.com>",
        "he_vm_mac_addr": "<00:18:15:20:59:01>",
        "he_default_gateway": "<19.70.12.254>",
        "he_mgmt_network": "ovirtmgmt",
        "he_storage_domain_name": "HostedEngine",
        "he_storage_domain_path": "</newengine>",
        "he_storage_domain_addr": "<host1.example.com>",
        "he_mount_options": "backup-volfile-servers=<host2.example.com>:<host3.example.com>",
        "he_bridge_if": "<eth0>",
        "he_enable_hc_gluster_service": true,
        "he_mem_size_MB": "16384",
        "he_cluster": "Default",
        "he_restore_from_file": "/root/engine-backup.tar.gz",
        "he_vcpus": 4
      }
      重要
      • 在上面的 he_gluster_vars.json 中,有 2 个重要值:"he_restore_from_file" 和 "he_storage_domain_path"。第一个选项 "he_restore_from_file" 应该指向复制到本地机器的 Manager 备份存档的绝对文件名。第二个选项 "he_storage_domain_path" 应引用新创建的 Gluster 卷。
      • 另请注意,在 Manager 虚拟机内运行的 RHVH 版本的早期版本已停机,并被丢弃。也可以为新管理器重复使用与旧管理器虚拟机对应的 MAC 地址和 FQDN。
    3. 对于静态管理器网络配置,请添加更多选项,如下所示:

        “he_vm_ip_addr”:  “<engine VM ip address>”
        “he_vm_ip_prefix”:  “<engine VM ip prefix>”
        “he_dns_addr”:  “<engine VM DNS server>”
        “he_default_gateway”:  “<engine VM default gateway>”
      重要

      如果没有特定的 DNS 可用,请尝试包含 2 个额外选项:"he_vm_etc_hosts": true 和 "he_network_test": "ping"

    4. 运行 playbook 来部署 HostedEngine 部署。

      # cd /etc/ansible/roles/gluster.ansible/playbooks/hc-ansible-deployment
      # ansible-playbook he.yml --extra-vars "@he_gluster_vars.json"
    5. 等待自托管引擎部署完成。

      重要

      如果在自托管引擎部署期间出现任何问题,请检查 /var/log/ovirt-hosted-engine-setup 中的日志消息的问题,并解决相关问题。使用命令 ovirt-hosted-engine-cleanup 清理失败的自托管引擎部署,然后重新运行部署。

  14. 在新安装的 Red Hat Virtualization Manager 上登录到 RHVH 4.4 管理门户。确保所有主机都处于"up"状态,然后等待 Gluster 卷中的自我修复完成。
  15. 升级下一主机

    1. 从管理门户中,将下一个主机(最好是接下来的一个主机)设置为维护模式。在将此主机移到维护模式时停止 Gluster 服务。
    2. 从主机的命令行中,卸载 Gluster brick

      # umount /gluster_bricks/*
    3. 使用 RHVH 4.4 重新安装此主机。

      重要

      确保安装不会格式化其他磁盘,因为 brick 在这些磁盘上创建。

    4. 如果新安装的主机上没有多路径配置,请禁用 Gluster 设备。清单文件已在第一个主机中创建,作为 禁用用于 Gluster brick 的设备 的一部分。

      1. 从第一个主机设置 SSH 公钥身份验证到新安装的主机。
      2. 使用新主机名更新清单。
      3. 执行 playbook。
    5. 将 Gluster 配置 tar 文件从备份主机复制到新安装的主机,再解压缩内容。
    6. 通过执行 playbook,恢复此主机上的 Gluster 配置文件中所述,在新安装的主机上恢复 Gluster 配置

      重要

      编辑新安装的主机上的 playbook,如 Perform manager deployment with the option --restore-from-file…​ 所述。不要更改主机名,并在同一主机上执行。

    7. 在 RHVH 管理门户中重新安装主机,从 RHVH 4.4 中的第一个部署的主机复制授权密钥

      # scp root@host1.example.com:/root/.ssh/authorized_keys /root/.ssh/
      1. 管理门户中,主机将处于"维护"中。进入 Compute Hosts Installation Reinstall
      2. New Host 对话框中,选择 HostedEngine 选项卡,再选择 部署 自托管引擎部署操作。
      3. 等待主机变为 Up 状态。
    8. 确保与 GFID 不匹配的卷没有相关的错误。如果出现任何错误,请解决它们。

      grep -i "gfid mismatch" /var/log/glusterfs/*
  16. 重复相关步骤为集群中的所有 RHVH 升级下一个主机
  17. (可选) 如果集群中存在单独的 Gluster 逻辑网络,请将 Gluster 逻辑网络附加到每个主机上所需的接口。
  18. 删除旧的 Manager 存储域。根据名称 hosted_storage 标识旧的 Manager 存储域,它旁边没有黄金星(在 Storage Domains 下列出)。

    1. 进入 Storage Domains hosted_storage Data center 标签页,选择 Maintenance
    2. 等待存储域进入维护模式。
    3. 存储域进入"维护"模式后,单击 Detach,存储域将变为 unattached
    4. 选择未连接的存储域,点 Remove,并确认 OK
  19. 停止并删除旧的 Manager 卷。

    1. 进入 Storage Volumes,然后选择旧的 Manager 卷。点 Stop,并确认 OK
    2. 选择同一卷,单击 Remove,并确认 确定
  20. 更新集群兼容性版本。

    1. 进入 Compute Clusters,选择集群 Default,点 Edit,将 Compatibility Version 更新到 4.4,点 OK

      重要

      在更改兼容性版本时,会发出警告,这需要重启集群上的虚拟机。单击确定以确认。

  21. RHVH 4.4 提供了新的 Gluster 卷选项,对所有卷应用这些卷选项。在集群之一节点上执行以下操作:

    # for vol in gluster volume list; do gluster volume set $vol group virt; done
  22. 删除存档,并提取所有节点上的备份配置文件内容。

使用 Web 控制台创建额外的 Gluster 卷

  1. 登录到 Manager web 控制台。
  2. 前往 Virtualization Hosted Engine,再点 Manage Gluster
  3. 创建卷。在 Create Volume 窗口中执行以下操作:

    1. Hosts 选项卡中,选择带有未使用磁盘的三个不同的 ovirt-ng-nodes,然后点 Next
    2. Volumes 选项卡中,指定您要创建的卷的详细信息,然后点 Next
    3. Bricks 选项卡中,指定要用于创建卷的磁盘的详细信息,然后点 Next
    4. Review 选项卡中,检查生成的配置文件是否有不正确的信息。满意后,点 Deploy

现在,您可以更新集群兼容性版本。

2.1.9. 更改集群兼容性版本

Red Hat Virtualization 集群有一个兼容版本。集群兼容性版本表示集群中所有主机支持的 Red Hat Virtualization 的功能。集群兼容性根据集群中功能最低的主机操作系统版本来设置。

先决条件

  • 要更改集群兼容性级别,您必须首先将集群中的所有主机更新为支持您需要的兼容性级别。检查主机旁边是否存在指示有可用的更新的图标。

限制

  • 在将集群兼容性级别升级到 4.6 后,virtio NIC 会作为不同的设备枚举。因此,可能需要重新配置 NIC。红帽建议您在升级集群前测试虚拟机,方法是在虚拟机上将集群兼容性级别设置为 4.6 并验证网络连接。

    如果虚拟机的网络连接失败,在升级集群前,使用与当前模拟机器匹配的自定义模拟机器配置虚拟机,例如 pc-q35-rhel8.3.0 适用于 4.5 兼容性版本。

流程

  1. 在管理门户中,点 Compute Clusters
  2. 选择要更改的集群并点击 Edit
  3. General 选项卡中,将 Compatibility Version 更改为所需的值。
  4. 点击 确定。此时会打开 Change Cluster Compatibility Version 确认对话框。
  5. OK 确认。
重要

错误消息可能会警告某些虚拟机和模板配置不正确。要修复此错误,请手动编辑每个虚拟机。Edit Virtual Machine 窗口提供了额外的验证和警告来显示正确的内容。有时问题会自动解决,虚拟机的配置只需要再次保存。编辑完每个虚拟机后,您将能够更改集群兼容性版本。

现在,您可以为集群中的虚拟机更新集群兼容性版本。

2.1.10. 更改虚拟机集群兼容性

更新集群的兼容性版本后,您必须通过从管理门户重启或使用 REST API,或者从客户机操作系统中更新所有正在运行的或暂停虚拟机的集群兼容性版本。需要重新启动的虚拟机将标记为待处理更改图标( pendingchanges )。

虽然您可以在以后方便的时候重新启动虚拟机,但强烈建议您立即重新启动,以便虚拟机使用最新的配置。任何尚未重启的虚拟机会继续使用先前的配置运行,后续对虚拟机的配置更改可能会覆盖待处理的集群兼容性更改。

流程

  1. 在管理门户中,点 Compute Virtual Machines
  2. 检查哪些虚拟机需要重新启动。在 Vms: 搜索栏中输入以下查询:

    next_run_config_exists=True

    搜索结果显示所有待处理更改的虚拟机。

  3. 选择每个虚拟机并点击 Restart。或者,如果需要,您可以从虚拟机中重新启动虚拟机。

虚拟机启动时,会自动应用新的兼容版本。

注意

您无法更改处于预览的虚拟机快照的集群兼容性版本。您必须首先提交或撤销预览。

现在,您可以更新数据中心兼容性版本。

2.1.11. 更改数据中心兼容性版本

Red Hat Virtualization 数据中心具有兼容性版本。兼容性版本指明了数据中心要与之兼容的 Red Hat Virtualization 版本。数据中心中的所有集群都必须支持所需的兼容性级别。

先决条件

  • 要更改数据中心兼容性级别,您必须首先更新数据中心中所有集群和虚拟机的兼容性版本。

流程

  1. 在管理门户中,点 Compute Data Centers
  2. 选择要更改的数据中心,再单击 Edit
  3. Compatibility Version 更改为所需的值。
  4. 点击 确定。此时会打开 Change Data Center Compatibility Version 确认对话框。
  5. OK 确认。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.