升级指南

Red Hat Virtualization 4.3

更新和升级 Red Hat Virtualization 任务

摘要

在 Red Hat Virtualization 环境中升级和更新组件的综合指南。

Red Hat Virtualization 升级概述

本指南介绍了如何将以下环境升级到 Red Hat Virtualization 4.3 或 4.4:

  • 自托管引擎、本地数据库 :Data Warehouse 数据库和管理器数据库安装在 Manager 上。
  • 本地数据库的独立管理器 :在 Manager 上安装了数据仓库数据库和管理器数据库。
  • 远程数据库独立管理器 :将数据仓库数据库或管理器数据库(或两者)位于单独的机器上。
注意

对于升级说明清单,您可以使用 RHV Upgrade Helper。此应用程序要求您填写升级路径和当前环境的清单,并显示适用的升级步骤。

重要

提前计划任何所需的停机时间。在升级过程中更新集群的兼容性版本后,重启后会自动为每个虚拟机应用新的硬件配置。您必须尽快重启任何正在运行或暂停的虚拟机以应用配置更改。

从下表所示,为您的环境选择适当的说明。如果您的 Manager 和主机版本不同(如果您之前已升级了 Manager,但不是主机),请按照与 Manager 的版本匹配的说明进行操作。

表 1. 支持的升级路径

当前管理器版本目标管理器版本相关部分

4.3

4.4

自托管引擎、本地数据库环境: 从 Red Hat Virtualization 4.3 升级到 4.4

本地数据库环境 - 从 Red Hat Virtualization 4.3 升级到 4.4

远程数据库环境: 将远程数据库环境从 Red Hat Virtualization 4.3 升级到 4.4

4.2

4.3

自托管引擎、本地数据库环境: 从 Red Hat Virtualization 4.2 升级到 4.3

本地数据库环境: 从 Red Hat Virtualization 4.2 升级到 4.3

远程数据库环境: 将远程数据库环境从 Red Hat Virtualization 4.2 升级到 4.3

第 1 章 升级自托管引擎环境

1.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 升级到 2021 和 OvS 2.15 时,只要满足以下条件,该过程对用户而言是透明的:

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

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

1.1.1. 先决条件

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

1.1.2. 分析环境

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

1.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 向右滚动

1.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

1.1.4. 从自托管引擎主机迁移虚拟机

在升级完主机后,只有 Manager 虚拟机才会保留在主机上。将 Manager 虚拟机之外的任何虚拟机迁移到同一集群中的另一台主机上。

您可以使用实时迁移来最大程度减少虚拟机停机。如需更多信息,请参阅虚拟机管理指南中的在主机之间迁移虚拟机

1.1.5. 启用全局维护模式

您必须将自托管引擎环境置于全局维护模式,然后才能在 Manager 虚拟机上执行任何设置或升级任务。

步骤

  1. 登录到自托管引擎节点并启用全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 在继续前确认环境处于全局维护模式:

    # hosted-engine --vm-status

    您应该会看到指示集群处于全局维护模式的消息。

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

1.1.6. 更新 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。

1.1.7. 将 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 Host 安装,即使您使用相同的物理计算机来运行 RHV 4.3 自托管引擎。

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

先决条件

  • 环境中的所有数据中心和集群都必须将集群兼容性级别设置为版本 4.2 或 4.3。
  • 环境中的所有虚拟机都必须将集群兼容性级别设置为版本 4.3。
  • 如果您正在使用 DHCP,并希望使用相同的 IP 地址,请记录自托管引擎的 MAC 地址。部署脚本会提示您输入此信息。
  • 在部署期间,您需要为管理器计算机提供新的存储域。部署脚本重命名 4.3 存储域并保留其数据以启用灾难恢复。
  • 将集群调度策略设置为 cluster_maintenance,以便在升级过程中阻止自动虚拟机迁移。

    小心

    在有多个高可用性自托管引擎节点的环境中,您需要在将管理器升级到 4.4 后分离托管版本 4.3 Manager 的存储域。将专用存储域用于 4.4 自托管引擎部署。

  • 如果您使用外部 CA 为 HTTPS 证书签名,请按照管理指南替换 Red Hat Virtualization Manager CA 证书的步骤进行操作。备份和恢复包括第三方证书,因此您应能够在升级后登录管理门户。确保 CA 证书已添加到所有客户端的系统范围信任存储中,以确保 virt-viewer 外部菜单正常工作。如需更多信息,请参阅 BZ#1313379
注意

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

步骤

  1. 登录 Manager 虚拟机并关闭引擎服务。

    # systemctl stop ovirt-engine
  2. 备份 Red Hat Virtualization Manager 4.3 环境。

    # engine-backup --scope=all --mode=backup --file=backup.bck --log=backuplog.log
  3. 将备份文件复制到 RHV 环境外的存储设备中。
  4. 关闭自托管引擎。

    # shutdown
    注意

    如果要重复使用自托管引擎虚拟机来部署 Red Hat Virtualization Manager 4.4,请注意自托管引擎网络接口的 MAC 地址,然后再关闭。

  5. 确保自托管引擎已关闭。

    # hosted-engine --vm-status | grep -E 'Engine status|Hostname'
    注意

    如果有任何主机的 detail 字段为 Up,请登录该特定主机,并使用 hosted-engine --vm-shutdown 命令将其关闭。

  6. 在运行 Manager 虚拟机的现有节点上安装 RHVH 4.4 或 Red Hat Enterprise Linux 8.6,将其用作自托管引擎部署主机。如需更多信息,请参阅安装自托管引擎部署主机

    注意

    建议您使用其中一个现有主机。如果您决定使用新主机,则必须为新主机分配唯一名称,然后在开始升级过程前将其添加到现有集群中。

  7. 安装自托管引擎部署工具。

    # yum install ovirt-hosted-engine-setup
  8. 将备份文件复制到主机上。
  9. 登录到 Manager 主机并使用备份文件部署自托管引擎:

    # hosted-engine --deploy --restore-from-file=/path/backup.bck
    注意

    tmux 可让部署脚本在与服务器的连接中断时继续,以便您可以重新连接并附加到部署并继续。否则,如果在部署期间中断连接,部署会失败。

    要使用 tmux 运行部署脚本,请在运行部署脚本前输入 tmux 命令:

    # tmux
    # hosted-engine --deploy --restore-from-file=backup.bck

    部署脚本会自动禁用全局维护模式,并调用 HA 代理来启动自托管引擎虚拟机。具有 4.4 自托管引擎的升级主机报告 HA 模式处于活动状态,但其他主机报告全局维护模式仍被启用,因为它们仍然连接到旧的自托管引擎存储。

  10. 分离托管 Manager 4.3 机器的存储域。详情请查看管理指南中的数据中心分离存储域
  11. 登录 Manager 虚拟机并关闭引擎服务。

    # systemctl stop ovirt-engine
  12. 确保 Manager 启用了正确的存储库。有关所需存储库的列表,请参阅为 Red Hat Virtualization 4.4 启用 Red Hat Virtualization Manager 仓库

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

  13. 如果已在 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。如需更多信息,请参阅 《管理指南》 中的 安装和配置 Red Hat Single Sign-On

    注意

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

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

    # engine-setup

Red Hat Virtualization Manager 4.4 现已安装,集群兼容性版本被设置为 4.2 或 4.3,无论是预先存在的集群兼容性版本。

现在,您可以更新自托管引擎节点,然后更新任何标准主机。这两种主机类型的步骤都相同。

1.1.8. 将主机和虚拟机从 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。

1.1.9. 在保留本地存储时升级 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 存储域及其虚拟机。

1.1.10. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

无需重启 Manager 虚拟机。

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

先决条件

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

步骤

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

1.2. 将自托管引擎从 Red Hat Virtualization 4.2 升级到 4.3

将自托管引擎环境从版本 4.2 升级到 4.3 需要以下步骤:

1.2.1. 先决条件

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

1.2.2. 分析环境

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

1.2.3. 日志集合分析工具

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

先决条件

步骤

  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 向右滚动

1.2.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

1.2.4. 启用全局维护模式

您必须将自托管引擎环境置于全局维护模式,然后才能在 Manager 虚拟机上执行任何设置或升级任务。

步骤

  1. 登录到自托管引擎节点并启用全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 在继续前确认环境处于全局维护模式:

    # hosted-engine --vm-status

    您应该会看到指示集群处于全局维护模式的消息。

1.2.5. 更新 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 冲突 )

    重要

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

1.2.6. 将 Red Hat Virtualization Manager 从 4.2 升级到 4.3

您需要登录到您要升级的机器。

重要

如果升级失败,engine-setup 命令会尝试将 Red Hat Virtualization Manager 安装恢复到之前的状态。因此,在升级完成后,不要删除之前版本的软件仓库。如果升级失败,engine-setup 脚本会说明如何恢复您的安装。

步骤

  1. 启用 Red Hat Virtualization 4.3 存储库:

    # subscription-manager repos \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms

    所有其他存储库在 Red Hat Virtualization 版本中保持不变。

  2. 更新设置软件包:

    # yum update ovirt\*setup\* rh\*vm-setup-plugins
  3. 运行 engine-setup 并按照提示升级 Red Hat Virtualization Manager:

    # engine-setup

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

    Execution of setup completed successfully
  4. 禁用 Red Hat Virtualization 4.2 软件仓库,以确保系统不使用任何 4.2 软件包:

    # subscription-manager repos \
        --disable=rhel-7-server-rhv-4.2-manager-rpms \
        --disable=jb-eap-7-for-rhel-7-server-rpms
  5. 更新基础操作系统:

    # yum update
    重要

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

    重要

    如果更新了任何内核软件包,请重启机器来完成升级。

Manager 现已升级到 4.3 版本。

1.2.7. 禁用全局维护模式

步骤

  1. 登录 Manager 虚拟机,并将它关闭。
  2. 登录到自托管引擎节点之一并禁用全局维护模式:

    # hosted-engine --set-maintenance --mode=none

    当您退出全局维护模式时,ovirt-ha-agent 会启动 Manager 虚拟机,然后 Manager 会自动启动。管理器最多可能需要十分钟才能启动。

  3. 确认环境正在运行:

    # hosted-engine --vm-status

    列出的信息包括引擎状态引擎状态的值应该是:

    {"health": "good", "vm": "up", "detail": "Up"}
    注意

    当虚拟机仍在引导且管理器尚未启动时,引擎状态为:

    {"reason": "bad vm status", "health": "bad", "vm": "up", "detail": "Powering up"}

    如果发生这种情况,请等待几分钟后重试。

现在,您可以更新自托管引擎节点,然后更新任何标准主机。这两种主机类型的步骤都相同。

1.2.8. 更新集群中的所有主机

您可以更新集群中的所有主机,而不是逐一更新主机。这在升级到 Red Hat Virtualization 的新版本时特别有用。如需有关用于自动化更新的 Ansible 角色的更多信息,请参阅 oVirt Cluster Upgrade

一次更新一个集群。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。固定虚拟机会在更新过程中关闭,除非您选择跳过该主机。

步骤

  1. 在管理门户中,点 ComputeClusters 并选择集群。Upgrade status 列显示集群中任何主机的升级是否可用。
  2. 单击 Upgrade
  3. 选择要更新的主机,然后单击 Next
  4. 配置选项:

    • Stop Pinned VMs 会关闭固定到集群中主机的任何虚拟机,这个选项被默认选择。您可以清除此复选框以跳过更新这些主机,从而使固定虚拟机保持运行,例如当固定虚拟机运行重要服务或进程时,您不希望它在更新过程中在未知时间关闭。
    • Upgrade Timeout (Minutes) 设置在集群升级失败并显示超时前等待各个主机更新的时间。默认值为 60。您可以为可能不足 60 分钟的大型集群增加它,或者为主机快速更新的小型集群减少它。
    • Check Upgrade 会在运行升级过程前,检查每个主机是否有可用的更新。默认情况下不选择它,但如果您需要确保包括最新的更新,例如当您配置了 Manager 以检查主机更新少于默认值时,您可以选择它。
    • Reboot After Upgrade 会在更新后重新启动,这会默认选择。如果您确定没有需要主机重新引导的待定更新,您可以清除此复选框来加快进程。
    • 在更新过程中,使用 Maintenance Policy 将集群的调度策略设置为 cluster_maintenance。默认情况下会选择它,因此活动有限,除非为高可用,虚拟机不会启动。如果您有一个自定义调度策略要在更新过程中一直使用,但这可能会产生未知的后果,您可以清除此复选框。在禁用这个选项前,请确保您的自定义策略与集群升级活动兼容。
  5. 点击 Next
  6. 检查将受影响的主机和虚拟机的摘要。
  7. 单击 Upgrade

您可以跟踪主机更新的进度:

  • ComputeClusters 视图中,Upgrade Status 栏显示 Upgrade in progress
  • ComputeHosts 视图中
  • Notification DrawerEvents 部分( EventsIcon )。

您可以通过 ComputeVirtual Machines 视图中的 Status 栏跟踪各个虚拟机的迁移进度。在大型环境中,您可能需要过滤结果以显示一组特定的虚拟机。

1.2.9. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

无需重启 Manager 虚拟机。

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

先决条件

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

步骤

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

如果您之前在没有使用 SHA-256 证书替换 SHA-1 证书的情况下升级到 4.2,您必须现在升级到 4.2。

1.2.12. 使用 SHA-256 证书替换 SHA-1 证书

Red Hat Virtualization 4.4 使用 SHA-256 签名,它提供了一种比 SHA-1 更安全地签署 SSL 证书的方法。新安装的系统不需要任何特殊步骤即可启用 Red Hat Virtualization 的公钥基础架构 (PKI) 以使用 SHA-256 签名。

警告

不要让 证书过期。如果它们到期,则环境变得不响应,恢复就容易出错且耗时。有关更新证书的信息,请参阅 管理指南》中过期前 续订证书

防止在浏览器中出现警告消息
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 定义应已被重新签名的证书:

    # names="apache"
  4. 登录到自托管引擎节点并启用全局维护:

    # hosted-engine --set-maintenance --mode=global
  5. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  6. 重启 httpd 服务:

    # systemctl restart httpd
  7. 登录到自托管引擎节点之一并禁用全局维护:

    # hosted-engine --set-maintenance --mode=none
  8. 连接到管理门户,以确认不再显示警告。
  9. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
使用 SHA-256 替换所有签名的证书
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 通过备份 CA 证书并在 ca.pem.new 中创建新证书来重新签名 CA 证书:

    # cp -p /etc/pki/ovirt-engine/private/ca.pem /etc/pki/ovirt-engine/private/ca.pem."$(date +"%Y%m%d%H%M%S")"
    # openssl x509 -signkey /etc/pki/ovirt-engine/private/ca.pem -in /etc/pki/ovirt-engine/ca.pem -out /etc/pki/ovirt-engine/ca.pem.new -days 3650 -sha256
  4. 将现有证书替换为新证书:

    # mv /etc/pki/ovirt-engine/ca.pem.new /etc/pki/ovirt-engine/ca.pem
  5. 定义应重新签名的证书:

    # names="engine apache websocket-proxy jboss imageio-proxy"

    如果在升级后替换了 Red Hat Virtualization Manager SSL 证书,请运行以下命令:

    # names="engine websocket-proxy jboss imageio-proxy"

    如需了解更多详细信息,请参阅管理指南中的替换 Red Hat Virtualization Manager CA 证书

  6. 登录到自托管引擎节点并启用全局维护:

    # hosted-engine --set-maintenance --mode=global
  7. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  8. 重启以下服务:

    # systemctl restart httpd
    # systemctl restart ovirt-engine
    # systemctl restart ovirt-websocket-proxy
    # systemctl restart ovirt-imageio
  9. 登录到自托管引擎节点之一并禁用全局维护:

    # hosted-engine --set-maintenance --mode=none
  10. 连接到管理门户,以确认不再显示警告。
  11. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
  12. 在主机上注册证书。为每个主机重复以下步骤:

    1. 在管理门户中,点 ComputeHosts
    2. 选择主机并点 ManagementMaintenanceOK.
    3. 当主机处于维护模式后,点 InstallationEnroll Certificate
    4. ManagementActivate

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

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 升级到 2021 和 OvS 2.15 时,只要满足以下条件,该过程对用户而言是透明的:

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

要验证供应商和 OVN 是否在主机上成功配置,请检查主机 General 选项卡上的 OVN 配置 标记。如果将 OVN Configured 设为 No,请单击 ManagementRefresh 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. Install 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。如需更多信息,请参阅 《管理指南》 中的 安装和配置 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. 管理门户中,主机将处于"维护"中。进入 ComputeHostsInstallationReinstall
      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 存储域,它旁边没有黄金星(在 StorageDomains 下列出)。

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

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

    1. 进入 ComputeClusters,选择集群 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. 前往 VirtualizationHosted 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. 在管理门户中,点 ComputeClusters
  2. 选择要更改的集群并点击 Edit
  3. General 选项卡中,将 Compatibility Version 更改为所需的值。
  4. 确定。此时会打开 Change Cluster Compatibility Version 确认对话框。
  5. OK 确认。
重要

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

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

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

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

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

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

先决条件

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

步骤

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

2.2. 从 Red Hat Virtualization 4.2 升级到 4.3

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

2.2.1. 先决条件

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

2.2.2. 分析环境

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

2.2.3. 日志集合分析工具

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

先决条件

步骤

  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.2.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

2.2.4. 更新 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 冲突 )

    重要

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

2.2.5. 将 Red Hat Virtualization Manager 从 4.2 升级到 4.3

您需要登录到您要升级的机器。

重要

如果升级失败,engine-setup 命令会尝试将 Red Hat Virtualization Manager 安装恢复到之前的状态。因此,在升级完成后,不要删除之前版本的软件仓库。如果升级失败,engine-setup 脚本会说明如何恢复您的安装。

步骤

  1. 启用 Red Hat Virtualization 4.3 存储库:

    # subscription-manager repos \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms

    所有其他存储库在 Red Hat Virtualization 版本中保持不变。

  2. 更新设置软件包:

    # yum update ovirt\*setup\* rh\*vm-setup-plugins
  3. 运行 engine-setup 并按照提示升级 Red Hat Virtualization Manager:

    # engine-setup

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

    Execution of setup completed successfully
  4. 禁用 Red Hat Virtualization 4.2 软件仓库,以确保系统不使用任何 4.2 软件包:

    # subscription-manager repos \
        --disable=rhel-7-server-rhv-4.2-manager-rpms \
        --disable=jb-eap-7-for-rhel-7-server-rpms
  5. 更新基础操作系统:

    # yum update
    重要

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

    重要

    如果更新了任何内核软件包,请重启机器来完成升级。

Manager 现已升级到 4.3 版本。

现在,您可以更新主机。

2.2.6. 更新集群中的所有主机

您可以更新集群中的所有主机,而不是逐一更新主机。这在升级到 Red Hat Virtualization 的新版本时特别有用。如需有关用于自动化更新的 Ansible 角色的更多信息,请参阅 oVirt Cluster Upgrade

一次更新一个集群。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。固定虚拟机会在更新过程中关闭,除非您选择跳过该主机。

步骤

  1. 在管理门户中,点 ComputeClusters 并选择集群。Upgrade status 列显示集群中任何主机的升级是否可用。
  2. 单击 Upgrade
  3. 选择要更新的主机,然后单击 Next
  4. 配置选项:

    • Stop Pinned VMs 会关闭固定到集群中主机的任何虚拟机,这个选项被默认选择。您可以清除此复选框以跳过更新这些主机,从而使固定虚拟机保持运行,例如当固定虚拟机运行重要服务或进程时,您不希望它在更新过程中在未知时间关闭。
    • Upgrade Timeout (Minutes) 设置在集群升级失败并显示超时前等待各个主机更新的时间。默认值为 60。您可以为可能不足 60 分钟的大型集群增加它,或者为主机快速更新的小型集群减少它。
    • Check Upgrade 会在运行升级过程前,检查每个主机是否有可用的更新。默认情况下不选择它,但如果您需要确保包括最新的更新,例如当您配置了 Manager 以检查主机更新少于默认值时,您可以选择它。
    • Reboot After Upgrade 会在更新后重新启动,这会默认选择。如果您确定没有需要主机重新引导的待定更新,您可以清除此复选框来加快进程。
    • 在更新过程中,使用 Maintenance Policy 将集群的调度策略设置为 cluster_maintenance。默认情况下会选择它,因此活动有限,除非为高可用,虚拟机不会启动。如果您有一个自定义调度策略要在更新过程中一直使用,但这可能会产生未知的后果,您可以清除此复选框。在禁用这个选项前,请确保您的自定义策略与集群升级活动兼容。
  5. 点击 Next
  6. 检查将受影响的主机和虚拟机的摘要。
  7. 单击 Upgrade

您可以跟踪主机更新的进度:

  • ComputeClusters 视图中,Upgrade Status 栏显示 Upgrade in progress
  • ComputeHosts 视图中
  • Notification DrawerEvents 部分( EventsIcon )。

您可以通过 ComputeVirtual Machines 视图中的 Status 栏跟踪各个虚拟机的迁移进度。在大型环境中,您可能需要过滤结果以显示一组特定的虚拟机。

2.2.7. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

先决条件

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

步骤

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

如果您之前在没有使用 SHA-256 证书替换 SHA-1 证书的情况下升级到 4.2,您必须现在升级到 4.2。

2.2.10. 使用 SHA-256 证书替换 SHA-1 证书

Red Hat Virtualization 4.4 使用 SHA-256 签名,它提供了一种比 SHA-1 更安全地签署 SSL 证书的方法。新安装的系统不需要任何特殊步骤即可启用 Red Hat Virtualization 的公钥基础架构 (PKI) 以使用 SHA-256 签名。

警告

不要让 证书过期。如果它们到期,则环境变得不响应,恢复就容易出错且耗时。有关更新证书的信息,请参阅 管理指南》中过期前 续订证书

防止在浏览器中出现警告消息
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 定义应已被重新签名的证书:

    # names="apache"
  4. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  5. 重启 httpd 服务:

    # systemctl restart httpd
  6. 连接到管理门户,以确认不再显示警告。
  7. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
使用 SHA-256 替换所有签名的证书
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 通过备份 CA 证书并在 ca.pem.new 中创建新证书来重新签名 CA 证书:

    # cp -p /etc/pki/ovirt-engine/private/ca.pem /etc/pki/ovirt-engine/private/ca.pem."$(date +"%Y%m%d%H%M%S")"
    # openssl x509 -signkey /etc/pki/ovirt-engine/private/ca.pem -in /etc/pki/ovirt-engine/ca.pem -out /etc/pki/ovirt-engine/ca.pem.new -days 3650 -sha256
  4. 将现有证书替换为新证书:

    # mv /etc/pki/ovirt-engine/ca.pem.new /etc/pki/ovirt-engine/ca.pem
  5. 定义应重新签名的证书:

    # names="engine apache websocket-proxy jboss imageio-proxy"

    如果在升级后替换了 Red Hat Virtualization Manager SSL 证书,请运行以下命令:

    # names="engine websocket-proxy jboss imageio-proxy"

    如需了解更多详细信息,请参阅管理指南中的替换 Red Hat Virtualization Manager CA 证书

  6. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  7. 重启以下服务:

    # systemctl restart httpd
    # systemctl restart ovirt-engine
    # systemctl restart ovirt-websocket-proxy
    # systemctl restart ovirt-imageio
  8. 连接到管理门户,以确认不再显示警告。
  9. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
  10. 在主机上注册证书。为每个主机重复以下步骤:

    1. 在管理门户中,点 ComputeHosts
    2. 选择主机并点 ManagementMaintenanceOK.
    3. 当主机处于维护模式后,点 InstallationEnroll Certificate
    4. ManagementActivate

第 3 章 升级独立管理器远程数据库环境

3.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 升级到 2021 和 OvS 2.15 时,只要满足以下条件,该过程对用户而言是透明的:

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

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

3.1.1. 先决条件

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

3.1.2. 分析环境

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

3.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 向右滚动

3.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。

3.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。

3.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. Install 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。如需更多信息,请参阅 《管理指南》 中的 安装和配置 Red Hat Single Sign-On

    注意

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

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

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

Red Hat Virtualization Manager 4.4 现已安装,集群兼容性版本被设置为 4.2 或 4.3,无论是预先存在的集群兼容性版本。

现在,您需要升级环境中的远程数据库。

注意

"engine-setup"还停止远程数据仓库机器上的数据仓库服务。

如果您打算发布此步骤的下一部分,请登录数据仓库计算机并启动数据仓库服务:

# systemctl start ovirt-engine-dwhd.service

3.1.6. 升级远程数据仓库服务和数据库

使用数据仓库服务和数据库在远程机器上运行此步骤。

请注意,这个过程的一部分要求您安装 Red Hat Enterprise Linux 8.6 或 Red Hat Virtualization Host 4.4。

先决条件

  • 您已登录到数据仓库机器。
  • RHV 环境之外的存储设备。

步骤

  1. 备份数据仓库计算机。

    注意

    RHV 4.3 上不支持 Grafana,但在 RHV 4.4 上,这个命令还包括 Grafana 服务和 Grafana 数据库。

    # engine-backup --file=<backupfile>
  2. 将备份文件复制到存储设备中。
  3. 停止并禁用数据仓库服务:

    # systemctl stop ovirt-engine-dwhd
    # systemctl disable ovirt-engine-dwhd
  4. 使用 Red Hat Enterprise Linux 8.6 或 Red Hat Virtualization Host 4.4 重新安装数据仓库机器。
  5. 准备 PostgreSQL 数据库。如需更多信息,请参阅将 Red Hat Virtualization 安装到带有远程数据库的独立管理器中的准备远程 PostgreSQL 数据库
  6. 在服务器上启用正确的存储库并安装数据仓库服务。具体步骤 ,请参阅在 Red Hat Virtualization 4.4 9 机器中安装和配置数据仓库。完成该流程中的步骤,包括 dnf install ovirt-engine-dwh-setup 命令。然后,继续执行此流程中的下一步。
  7. 将备份文件从存储设备复制到数据仓库计算机。
  8. 恢复备份文件:

    # engine-backup --mode=restore --file=backup.bck --provision-all-databases
  9. 在 Data Warehouse 机器上运行 engine-setup 命令:

    # engine-setup
  10. 在 Manager 机器上,重启 Manager 将其连接到 Data Warehouse 数据库:

    # systemctl restart ovirt-engine

其它资源

现在,您可以更新主机。

3.1.7. 将主机和虚拟机从 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。

3.1.8. 在保留本地存储时升级 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 存储域及其虚拟机。

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

3.1.9. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

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

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

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

先决条件

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

步骤

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

3.2. 将远程数据库环境从 Red Hat Virtualization 4.2 升级到 4.3

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

3.2.1. 先决条件

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

3.2.2. 分析环境

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

3.2.3. 日志集合分析工具

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

先决条件

步骤

  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 向右滚动

3.2.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.2。

3.2.4. 更新 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 冲突 )

    重要

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

3.2.5. 将远程数据库从 PostgreSQL 9.5 升级到 10

Red Hat Virtualization 4.3 使用 PostgreSQL 10 而不是 PostgreSQL 9.5。如果数据库在本地安装,升级脚本会自动将其从版本 9.5 升级到 10。但是,如果在单独的计算机上安装了任何一个数据库(管理器或数据仓库),则必须在每个远程数据库上执行以下步骤,然后才能升级管理器。

  1. 停止机器中运行的服务:

    • 升级 Manager 数据库时,在 Manager 机器上停止 ovirt-engine 服务:

      # systemctl stop ovirt-engine
    • 在升级数据仓库数据库时,在数据仓库机器上停止 ovirt-engine-dwhd 服务:

      # systemctl stop ovirt-engine-dwhd
  2. 启用所需的存储库来接收 PostgreSQL 10 软件包:

    启用 Red Hat Virtualization Manager 存储库:

    # subscription-manager repos --enable=rhel-7-server-rhv-4.3-manager-rpms

    或 SCL 软件仓库:

    # subscription-manager repos --enable rhel-server-rhscl-7-rpms
  3. 安装 PostgreSQL 10 软件包:

    # yum install rh-postgresql10 rh-postgresql10-postgresql-contrib
  4. 停止并禁用 PostgreSQL 9.5 服务:

    # systemctl stop rh-postgresql95-postgresql
    # systemctl disable rh-postgresql95-postgresql
  5. 将 PostgreSQL 9.5 数据库升级到 PostgreSQL 10:

    # scl enable rh-postgresql10 -- postgresql-setup --upgrade-from=rh-postgresql95-postgresql --upgrade
  6. 启动并启用 rh-postgresql10-postgresql.service,并检查它是否正在运行:

    # systemctl start rh-postgresql10-postgresql.service
    # systemctl enable rh-postgresql10-postgresql.service
    # systemctl status rh-postgresql10-postgresql.service

    确保看到类似如下的输出:

    rh-postgresql10-postgresql.service - PostgreSQL database server
       Loaded: loaded (/usr/lib/systemd/system/rh-postgresql10-postgresql.service;
    enabled; vendor preset: disabled)
       Active: active (running) since ...
  7. pg_hba.conf 客户端配置文件从 PostgreSQL 9.5 环境复制到 PostgreSQL 10 环境:

    # cp -p /var/opt/rh/rh-postgresql95/lib/pgsql/data/pg_hba.conf  /var/opt/rh/rh-postgresql10/lib/pgsql/data/pg_hba.conf
  8. 更新 /var/opt/rh/rh-postgresql10/lib/pgsql/data/postgresql.conf 中的以下参数:

    listen_addresses='*'
    autovacuum_vacuum_scale_factor=0.01
    autovacuum_analyze_scale_factor=0.075
    autovacuum_max_workers=6
    maintenance_work_mem=65536
    max_connections=150
    work_mem = 8192
  9. 重启 PostgreSQL 10 服务以应用配置更改:

    # systemctl restart rh-postgresql10-postgresql.service

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

3.2.6. 将 Red Hat Virtualization Manager 从 4.2 升级到 4.3

在升级以下任一方法时遵循相同的步骤:

  • Red Hat Virtualization Manager
  • 使用数据仓库服务的远程机器

您需要登录到您要升级的机器。

重要

如果升级失败,engine-setup 命令会尝试将 Red Hat Virtualization Manager 安装恢复到之前的状态。因此,在升级完成后,不要删除之前版本的软件仓库。如果升级失败,engine-setup 脚本会说明如何恢复您的安装。

步骤

  1. 启用 Red Hat Virtualization 4.3 存储库:

    # subscription-manager repos \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=jb-eap-7.2-for-rhel-7-server-rpms

    所有其他存储库在 Red Hat Virtualization 版本中保持不变。

  2. 更新设置软件包:

    # yum update ovirt\*setup\* rh\*vm-setup-plugins
  3. 运行 engine-setup 并按照提示升级 Red Hat Virtualization Manager、远程数据库或远程服务:

    # engine-setup
    注意

    在 Manager 的升级过程中,engine-setup 脚本可能会提示您断开远程数据仓库数据库的连接。您必须断开连接才能继续设置。

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

    Execution of setup completed successfully
  4. 禁用 Red Hat Virtualization 4.2 软件仓库,以确保系统不使用任何 4.2 软件包:

    # subscription-manager repos \
        --disable=rhel-7-server-rhv-4.2-manager-rpms \
        --disable=jb-eap-7-for-rhel-7-server-rpms
  5. 更新基础操作系统:

    # yum update
    重要

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

    重要

    如果更新了任何内核软件包,请重启机器来完成升级。

Manager 现已升级到 4.3 版本。

3.2.6.1. 完成远程数据仓库数据库升级

将远程数据仓库数据库从 PostgreSQL 9.5 升级到 10 时,完成这些附加步骤。

步骤

  1. ovirt-engine-dwhd 服务现在在 Manager 机器上运行。如果 ovirt-engine-dwhd 服务位于远程机器上,请在 Manager 机器上停止并禁用 ovirt-engine-dwhd 服务,并删除 engine-setup 创建的配置文件:

    # systemctl stop ovirt-engine-dwhd
    # systemctl disable ovirt-engine-dwhd
    # rm -f /etc/ovirt-engine-dwh/ovirt-engine-dwhd.conf.d/*
  2. 在托管 ovirt-engine-dwhd 服务的计算机上,重复将 Manager 升级到 4.3 的步骤。

现在,您可以更新主机。

3.2.7. 更新集群中的所有主机

您可以更新集群中的所有主机,而不是逐一更新主机。这在升级到 Red Hat Virtualization 的新版本时特别有用。如需有关用于自动化更新的 Ansible 角色的更多信息,请参阅 oVirt Cluster Upgrade

一次更新一个集群。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。固定虚拟机会在更新过程中关闭,除非您选择跳过该主机。

步骤

  1. 在管理门户中,点 ComputeClusters 并选择集群。Upgrade status 列显示集群中任何主机的升级是否可用。
  2. 单击 Upgrade
  3. 选择要更新的主机,然后单击 Next
  4. 配置选项:

    • Stop Pinned VMs 会关闭固定到集群中主机的任何虚拟机,这个选项被默认选择。您可以清除此复选框以跳过更新这些主机,从而使固定虚拟机保持运行,例如当固定虚拟机运行重要服务或进程时,您不希望它在更新过程中在未知时间关闭。
    • Upgrade Timeout (Minutes) 设置在集群升级失败并显示超时前等待各个主机更新的时间。默认值为 60。您可以为可能不足 60 分钟的大型集群增加它,或者为主机快速更新的小型集群减少它。
    • Check Upgrade 会在运行升级过程前,检查每个主机是否有可用的更新。默认情况下不选择它,但如果您需要确保包括最新的更新,例如当您配置了 Manager 以检查主机更新少于默认值时,您可以选择它。
    • Reboot After Upgrade 会在更新后重新启动,这会默认选择。如果您确定没有需要主机重新引导的待定更新,您可以清除此复选框来加快进程。
    • 在更新过程中,使用 Maintenance Policy 将集群的调度策略设置为 cluster_maintenance。默认情况下会选择它,因此活动有限,除非为高可用,虚拟机不会启动。如果您有一个自定义调度策略要在更新过程中一直使用,但这可能会产生未知的后果,您可以清除此复选框。在禁用这个选项前,请确保您的自定义策略与集群升级活动兼容。
  5. 点击 Next
  6. 检查将受影响的主机和虚拟机的摘要。
  7. 单击 Upgrade

您可以跟踪主机更新的进度:

  • ComputeClusters 视图中,Upgrade Status 栏显示 Upgrade in progress
  • ComputeHosts 视图中
  • Notification DrawerEvents 部分( EventsIcon )。

您可以通过 ComputeVirtual Machines 视图中的 Status 栏跟踪各个虚拟机的迁移进度。在大型环境中,您可能需要过滤结果以显示一组特定的虚拟机。

3.2.8. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

先决条件

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

步骤

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

如果您之前在没有使用 SHA-256 证书替换 SHA-1 证书的情况下升级到 4.2,您必须现在升级到 4.2。

3.2.11. 使用 SHA-256 证书替换 SHA-1 证书

Red Hat Virtualization 4.4 使用 SHA-256 签名,它提供了一种比 SHA-1 更安全地签署 SSL 证书的方法。新安装的系统不需要任何特殊步骤即可启用 Red Hat Virtualization 的公钥基础架构 (PKI) 以使用 SHA-256 签名。

警告

不要让 证书过期。如果它们到期,则环境变得不响应,恢复就容易出错且耗时。有关更新证书的信息,请参阅 管理指南》中过期前 续订证书

防止在浏览器中出现警告消息
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 定义应已被重新签名的证书:

    # names="apache"
  4. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  5. 重启 httpd 服务:

    # systemctl restart httpd
  6. 连接到管理门户,以确认不再显示警告。
  7. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
使用 SHA-256 替换所有签名的证书
  1. 以 root 用户身份登录 Manager 计算机。
  2. 检查 /etc/pki/ovirt-engine/openssl.conf 是否包含 default_md = sha256 行:

    # cat /etc/pki/ovirt-engine/openssl.conf

    如果它仍然包含 default_md = sha1,备份现有配置并将默认值改为 sha256

    # cp -p /etc/pki/ovirt-engine/openssl.conf /etc/pki/ovirt-engine/openssl.conf."$(date +"%Y%m%d%H%M%S")"
    # sed -i 's/^default_md = sha1/default_md = sha256/' /etc/pki/ovirt-engine/openssl.conf
  3. 通过备份 CA 证书并在 ca.pem.new 中创建新证书来重新签名 CA 证书:

    # cp -p /etc/pki/ovirt-engine/private/ca.pem /etc/pki/ovirt-engine/private/ca.pem."$(date +"%Y%m%d%H%M%S")"
    # openssl x509 -signkey /etc/pki/ovirt-engine/private/ca.pem -in /etc/pki/ovirt-engine/ca.pem -out /etc/pki/ovirt-engine/ca.pem.new -days 3650 -sha256
  4. 将现有证书替换为新证书:

    # mv /etc/pki/ovirt-engine/ca.pem.new /etc/pki/ovirt-engine/ca.pem
  5. 定义应重新签名的证书:

    # names="engine apache websocket-proxy jboss imageio-proxy"

    如果在升级后替换了 Red Hat Virtualization Manager SSL 证书,请运行以下命令:

    # names="engine websocket-proxy jboss imageio-proxy"

    如需了解更多详细信息,请参阅管理指南中的替换 Red Hat Virtualization Manager CA 证书

  6. 在 Manager 中保存 /etc/ovirt-engine/engine.conf.d/etc/pki/ovirt-engine 目录的备份,并重新签名证书:

    # . /etc/ovirt-engine/engine.conf.d/10-setup-protocols.conf
    # for name in $names; do
        subject="$(
            openssl \
                x509 \
                -in /etc/pki/ovirt-engine/certs/"${name}".cer \
                -noout \
                -subject \
                -nameopt compat \
            | sed \
                's;subject=\(.*\);\1;' \
        )"
       /usr/share/ovirt-engine/bin/pki-enroll-pkcs12.sh \
            --name="${name}" \
            --password=mypass \ <1>
            --subject="${subject}" \
            --san=DNS:"${ENGINE_FQDN}" \
            --keep-key
    done
    不要更改这个密码值。
  7. 重启以下服务:

    # systemctl restart httpd
    # systemctl restart ovirt-engine
    # systemctl restart ovirt-websocket-proxy
    # systemctl restart ovirt-imageio
  8. 连接到管理门户,以确认不再显示警告。
  9. 如果您之前将 CA 或 https 证书导入到浏览器中,请查找证书,将其从浏览器中删除,然后重新导入新的 CA 证书。根据浏览器提供的说明安装证书颁发机构。要获取证书颁发机构的证书,请导航到 http://your-manager-fqdn/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA,将 your-manager-fqdn 替换为完全限定域名(FQDN)。
  10. 在主机上注册证书。为每个主机重复以下步骤:

    1. 在管理门户中,点 ComputeHosts
    2. 选择主机并点 ManagementMaintenanceOK.
    3. 当主机处于维护模式后,点 InstallationEnroll Certificate
    4. ManagementActivate

第 4 章 次发行版本之间的更新

4.1. 在次发行版本间更新 Red Hat Virtualization

要从您的当前版本 4.4 更新至最新版本 4.4,请更新 Manager,更新主机,然后更改集群的兼容性版本、虚拟机和数据中心。

注意

如果从 4.4.9 升级到更新的版本在 RHVH 上失败,请运行 dnf 重新安装 redhat-virtualization-host-image-update 命令以修复问题。

升级注意事项

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

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

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

4.1.1. 分析环境

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

4.1.2. 日志集合分析工具

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

先决条件

步骤

  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 向右滚动

4.1.2.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

要更新独立管理器,请按照标准流程进行更新:

4.1.3. 更新 Red Hat Virtualization Manager

先决条件

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

    注意

    如果您要从 RHV 版本 4.4.0 到 4.4.8 升级到 RHV 版本 4.4.9 或更高版本,您必须将 EAP 7.4 频道添加到订阅存储库的 jb-eap-7.4-for-rhel-8-x86_64-rpms 中,并在升级后删除 jb-eap-7.3-for-rhel-8-x86_64-rpms

    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 冲突 )

    重要

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

4.1.4. 更新自托管引擎

要将自托管引擎从当前版本更新到最新版本,您必须将环境置于全局维护模式,然后按照标准流程在次版本间更新。

启用全局维护模式

您必须将自托管引擎环境置于全局维护模式,然后才能在 Manager 虚拟机上执行任何设置或升级任务。

步骤

  1. 登录到自托管引擎节点并启用全局维护模式:

    # hosted-engine --set-maintenance --mode=global
  2. 在继续前确认环境处于全局维护模式:

    # hosted-engine --vm-status

    您应该会看到指示集群处于全局维护模式的消息。

更新 Red Hat Virtualization Manager

先决条件

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

    注意

    如果您要从 RHV 版本 4.4.0 到 4.4.8 升级到 RHV 版本 4.4.9 或更高版本,您必须将 EAP 7.4 频道添加到订阅存储库的 jb-eap-7.4-for-rhel-8-x86_64-rpms 中,并在升级后删除 jb-eap-7.3-for-rhel-8-x86_64-rpms

    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 冲突 )

    重要

    如果更新了任何内核软件包:

    1. 禁用全局维护模式
    2. 重启计算机以完成更新。
禁用全局维护模式

步骤

  1. 登录 Manager 虚拟机,并将它关闭。
  2. 登录到自托管引擎节点之一并禁用全局维护模式:

    # hosted-engine --set-maintenance --mode=none

    当您退出全局维护模式时,ovirt-ha-agent 会启动 Manager 虚拟机,然后 Manager 会自动启动。管理器最多可能需要十分钟才能启动。

  3. 确认环境正在运行:

    # hosted-engine --vm-status

    列出的信息包括引擎状态引擎状态的值应该是:

    {"health": "good", "vm": "up", "detail": "Up"}
    注意

    当虚拟机仍在引导且管理器尚未启动时,引擎状态为:

    {"reason": "bad vm status", "health": "bad", "vm": "up", "detail": "Powering up"}

    如果发生这种情况,请等待几分钟后重试。

4.1.5. 更新集群中的所有主机

您可以更新集群中的所有主机,而不是逐一更新主机。这在升级到 Red Hat Virtualization 的新版本时特别有用。如需有关用于自动化更新的 Ansible 角色的更多信息,请参阅 oVirt Cluster Upgrade

一次更新一个集群。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。固定虚拟机会在更新过程中关闭,除非您选择跳过该主机。

步骤

  1. 在管理门户中,点 ComputeClusters 并选择集群。Upgrade status 列显示集群中任何主机的升级是否可用。
  2. 单击 Upgrade
  3. 选择要更新的主机,然后单击 Next
  4. 配置选项:

    • Stop Pinned VMs 会关闭固定到集群中主机的任何虚拟机,这个选项被默认选择。您可以清除此复选框以跳过更新这些主机,从而使固定虚拟机保持运行,例如当固定虚拟机运行重要服务或进程时,您不希望它在更新过程中在未知时间关闭。
    • Upgrade Timeout (Minutes) 设置在集群升级失败并显示超时前等待各个主机更新的时间。默认值为 60。您可以为可能不足 60 分钟的大型集群增加它,或者为主机快速更新的小型集群减少它。
    • Check Upgrade 会在运行升级过程前,检查每个主机是否有可用的更新。默认情况下不选择它,但如果您需要确保包括最新的更新,例如当您配置了 Manager 以检查主机更新少于默认值时,您可以选择它。
    • Reboot After Upgrade 会在更新后重新启动,这会默认选择。如果您确定没有需要主机重新引导的待定更新,您可以清除此复选框来加快进程。
    • 在更新过程中,使用 Maintenance Policy 将集群的调度策略设置为 cluster_maintenance。默认情况下会选择它,因此活动有限,除非为高可用,虚拟机不会启动。如果您有一个自定义调度策略要在更新过程中一直使用,但这可能会产生未知的后果,您可以清除此复选框。在禁用这个选项前,请确保您的自定义策略与集群升级活动兼容。
  5. 点击 Next
  6. 检查将受影响的主机和虚拟机的摘要。
  7. 单击 Upgrade

您可以跟踪主机更新的进度:

  • ComputeClusters 视图中,Upgrade Status 栏显示 Upgrade in progress
  • ComputeHosts 视图中
  • Notification DrawerEvents 部分( EventsIcon )。

您可以通过 ComputeVirtual Machines 视图中的 Status 栏跟踪各个虚拟机的迁移进度。在大型环境中,您可能需要过滤结果以显示一组特定的虚拟机。

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

4.1.6. 更改集群兼容性版本

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

先决条件

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

限制

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

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

步骤

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

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

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

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

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

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

步骤

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

    next_run_config_exists=True

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

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

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

注意

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

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

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

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

先决条件

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

步骤

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

您还可以单独更新主机:

4.1.9. 更新单个主机

使用主机升级管理器直接从管理门户更新各个主机。

注意

升级管理器仅检查状态为 UpNon-operational,但不是 Maintenance 的主机。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。在主机使用量相对较低时更新主机。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 不要同时更新所有主机,因为一个主机必须保持可用以执行存储池管理程序 (SPM) 任务。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。在更新主机之前,必须关闭固定虚拟机。

步骤

  1. 确保启用了正确的存储库。要查看当前启用的存储库列表,请运行 dnf repolist

    • 对于 Red Hat Virtualization 主机:

      # subscription-manager repos --enable=rhvh-4-for-rhel-8-x86_64-rpms
    • 对于 Red Hat Enterprise Linux 主机:

      # subscription-manager repos \
          --enable=rhel-8-for-x86_64-baseos-rpms \
          --enable=rhel-8-for-x86_64-appstream-rpms \
          --enable=rhv-4-mgmt-agent-for-rhel-8-x86_64-rpms \
          --enable=advanced-virt-for-rhel-8-x86_64-rpms \
          --enable=fast-datapath-for-rhel-8-x86_64-rpms
      
      # subscription-manager repos \
              --enable=rhel-8-for-x86_64-baseos-eus-rpms \
              --enable=rhel-8-for-x86_64-appstream-eus-rpms
      
      # subscription-manager release --set=8.6
      注意

      在 RHEL 8.7 发布前,RHEL 8.6 EUS 频道可能不可用。

  2. 在管理门户中,点 ComputeHosts 并选择要更新的主机。
  3. InstallationCheck for Upgrade 并点 OK

    打开 Notification Drawer ( EventsIcon ),再展开 Events 部分来查看结果。

  4. 如果有可用更新,点 InstallationUpgrade
  5. OK 来更新主机。运行的虚拟机会根据其迁移策略迁移。如果对任何虚拟机禁用迁移,则会提示您将其关闭。

    主机详情会在 ComputeHosts 中更新,其状态会经历以下阶段:

    Maintenance > Installing > Reboot > Up

    注意

    如果更新失败,主机的状态将变为 Install Failed。在 Install Failed InstallationUpgrade

对 Red Hat Virtualization 环境中的每一主机重复此步骤。

注意

您应该从管理门户更新主机。但是,您可以使用 dnf upgrade 来更新主机。

4.1.10. 手动更新主机

小心

此信息适用于需要手动更新主机的高级系统管理员。红帽不支持此方法。本节中描述的程序并没有完全包括重要的步骤,如证书续订。假设对其已有了解。红帽支持使用管理门户更新主机。详情请参阅 Administration Guide 中的 Updating individual hostsUpdating all hosts in a cluster

您可以使用 dnf 命令更新您的主机。定期更新您的系统以确保及时应用安全和漏洞修复。

限制

  • 在 RHVH 上,更新仅保留 /etc/var 目录中的修改内容。更新期间会覆盖其他路径中的修改数据。
  • 如果启用了迁移,则虚拟机将自动迁移到集群中的另一主机上。在主机使用量相对较低时更新主机。
  • 在自托管引擎环境中,管理器虚拟机只能在同一集群中自托管引擎节点之间迁移。它不能迁移到标准主机。
  • 集群必须有足够的内存供其主机执行维护。否则,虚拟机迁移将挂起且失败。您可以通过在更新主机前关闭部分或所有虚拟机来减少主机更新的内存使用。
  • 不要同时更新所有主机,因为一个主机必须保持可用以执行存储池管理程序 (SPM) 任务。
  • 您无法将固定的虚拟机(如使用 vGPU 的虚拟机)迁移到另一台主机。在更新主机之前,必须关闭固定虚拟机。

步骤

  1. 确保启用了正确的存储库。您可以通过运行 dnf repolist 来检查当前启用了哪些存储库。

    • 对于 Red Hat Virtualization 主机:

      # subscription-manager repos --enable=rhvh-4-for-rhel-8-x86_64-rpms
    • 对于 Red Hat Enterprise Linux 主机:

      # subscription-manager repos \
          --enable=rhel-8-for-x86_64-baseos-rpms \
          --enable=rhel-8-for-x86_64-appstream-rpms \
          --enable=rhv-4-mgmt-agent-for-rhel-8-x86_64-rpms \
          --enable=advanced-virt-for-rhel-8-x86_64-rpms \
          --enable=fast-datapath-for-rhel-8-x86_64-rpms
      
      # subscription-manager repos \
              --enable=rhel-8-for-x86_64-baseos-eus-rpms \
              --enable=rhel-8-for-x86_64-appstream-eus-rpms
      
      # subscription-manager release --set=8.6
      注意

      在 RHEL 8.7 发布前,RHEL 8.6 EUS 频道可能不可用。

  2. 在管理门户中,点 ComputeHosts 并选择要更新的主机。
  3. ManagementMaintenanceOK
  4. 对于 Red Hat Enterprise Linux 主机:

    1. 确定 Red Hat Enterprise Linux 的当前版本:

      # cat /etc/redhat-release
    2. 检查哪个版本的 redhat-release 软件包可用:

      # dnf --refresh info --available redhat-release

      此命令显示任何可用的更新。例如,当从 Red Hat Enterprise Linux 8.2.z 升级到 8.3,比较软件包版本和当前安装的版本:

      Available Packages
      Name         : redhat-release
      Version      : 8.3
      Release      : 1.0.el8
      …​
      小心

      Red Hat Enterprise Linux Advanced Virtualization 模块通常比 Red Hat Enterprise Linux y-stream 晚发布。如果没有新的 Advanced Virtualization 模块可用,或者有启用它的错误,在此停止并取消升级。否则,您将面临损坏主机的风险。

    3. 如果 Red Hat Enterprise Linux 8.3 或更高版本有 Advanced Virtualization 流,请重置 virt 模块:

      # dnf module reset virt
      注意

      如果在 Advanced Virtualization 流中已启用此模块,则不需要这一步骤,但它不会造成负面影响。

      您可以输入以下内容来查看流的值:

      # dnf module list virt
    4. 使用以下命令在高级虚拟化流中启用 virt 模块:

      • RHV 4.4.2:

        # dnf module enable virt:8.2
      • RHV 4.4.3 到 4.4.5:

        # dnf module enable virt:8.3
      • 对于 RHV 4.4.6 到 4.4.10:

        # dnf module enable virt:av
      • 对于 RHV 4.4 及更新的版本:

        # dnf module enable virt:rhel
        注意

        从 RHEL 8.6 开始,高级虚拟化软件包将使用标准 virt:rhel 模块。对于 RHEL 8.4 和 8.5,只使用一个高级虚拟化流,rhel:av

  5. 启用 nodejs 模块的版本 14:

    # dnf module -y enable nodejs:14
  6. 更新主机:

    # dnf upgrade --nobest
  7. 重新启动主机,以确保正确应用所有更新。

    注意

    检查基于 img 的日志,以查看是否有其他软件包更新针对 Red Hat Virtualization 主机失败。如果在更新后成功重新安装某些软件包,请检查 /var/imgbased/perted-rpms 中是否列出了软件包。添加任何缺少的软件包,然后运行 rpm -Uvh /var/imgbased/persisted-rpms/*

对 Red Hat Virtualization 环境中的每一主机重复此过程。

附录 A. 更新本地存储库以进行离线 Red Hat Virtualization Manager 安装

如果您的 Red Hat Virtualization Manager 托管在通过 FTP 从本地存储库接收软件包的机器上,您必须定期同步存储库以从 Content Delivery Network 下载软件包更新,然后更新或升级该机器。更新的软件包解决了安全问题、修复错误并添加增强功能。

  1. 在托管存储库的系统中,同步存储库以下载每个可用软件包的最新版本:

    # reposync --newest-only /var/ftp/pub/rhevrepo

    此命令可能会下载大量软件包,并且需要很长时间才能完成。

  2. 确保该存储库在 Manager 机器上可用,然后更新或升级机器。

附录 B. 从本地存储库安装 RHV 管理程序

如果您的系统使用私有 Red Hat Virtualization(RHV)环境,但没有 Red Hat Satellite,您可能需要从托管在本地 RHEL 系统中的软件仓库而不是红帽托管的 Content Delivery Network(CDN)安装 RHV hypervisor(RHV-H)。

步骤

  1. 在托管离线存储库的系统中,创建名为 /etc/yum.repos.d/rhvh-mirror.repo 的文件,其内容与以下各行类似:

    [rhvh-4-for-rhel-8-x86_64-rpms]
    name = Red Hat Virtualization Host for RHEL 8 x86_64 (RPMs)
    baseurl = https://cdn.redhat.com/content/dist/layered/rhel8/x86_64/rhvh/4/os
    enabled = 0
    gpgcheck = 1
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
    sslverify = 1
    sslcacert = /etc/rhsm/ca/redhat-uep.pem
    metadata_expire = 86400
    enabled_metadata = 1
    sslclientcert =
    sslclientkey =

    您必须使用包含适当证书和密钥的正确文件的路径名填充 sslclientcertsslclientkey 字段。/etc/pki/entitlement 目录包含一个或多个证书和密钥文件对,但只有一个对包含您需要的 RHV-H 授权。

  2. 查找证书文件:

    1. 列出 /etc/pki/entitlement 目录中的所有文件:

      # ls -al /etc/pki/entitlement/

      此时会显示类似如下的输出:

      total 836
      drwxr-xr-x.  2 root root    202 May 28 15:18 .
      drwxr-xr-x. 15 root root    208 Apr 23  2020 ..
      -rw-r—​r--.  1 root root   3243 May 28 15:18 4522783034260408538-key.pem
      -rw-r—​r--.  1 root root 152622 May 28 15:18 4522783034260408538.pem
      -rw-r—​r--.  1 root root   3243 May 28 15:18 5659494963772844103-key.pem
      -rw-r—​r--.  1 root root 343394 May 28 15:19 5659494963772844103.pem
      -rw-r—​r--.  1 root root   3243 May 23 13:19 645832581386032208-key.pem
      -rw-r—​r--.  1 root root 343389 May 23 13:19 645832581386032208.pem
      #
    2. 在每个证书中使用 rct cat-cert 命令以查找包含 RHV-H 权利的 rct cat-cert 命令:

      # cd /etc/pki/entitlement/
      # rct cat-cert 5659494963772844103.pem | grep rhvh/4/ | grep URL

      此时会显示类似如下的输出:

              URL: /content/beta/rhel/server/7/$basearch/rhvh/4/os
              URL: /content/dist/rhel/server/7/7Server/$basearch/rhvh/4/os
              URL: /content/beta/layered/rhel8/x86_64/rhvh/4/os
              URL: /content/dist/layered/rhel8/x86_64/rhvh/4/os
  3. 确定正确的证书并填写前面提到的 .repo 文件中的 sslclientcertsslclientkey 值:

    sslclientcert = /etc/pki/entitlement/5659494963772844103.pem
    sslclientkey = /etc/pki/entitlement/5659494963772844103-key.pem
  4. 在适当的目录中运行 reposync 命令:

    1. 使用 'pwd' 命令确定正确的路径:

      # pwd

      此时会显示类似如下的输出:

      /home/test/rhvh-reposync
    2. 运行 reposync 命令:

      # reposync --repo rhvh-4-for-rhel-8-x86_64-rpms

      此时会显示类似如下的输出:

      Updating Subscription Management repositories.
      Red Hat Virtualization Host for RHEL 8 x86_64 (RPMs)                             11 kB/s | 4.0 kB     00:00
      Red Hat Virtualization Host for RHEL 8 x86_64 (RPMs)                            272 kB/s | 291 kB     00:01
      .
      .
      .
      (193/194): redhat-virtualization-host-image-update-4.4.5-20210330.0.el8_3.noarc 5.4 MB/s | 822 MB     02:30
      (194/194): rhvm-appliance-4.4-20210310.0.el8ev.x86_64.rpm                       5.6 MB/s | 1.5 GB     04:34
  5. 每次运行 reposync 命令时检查证书和密钥文件对,因为 Subscription Manager 子系统会定期重新生成它们。