Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

升级指南

Red Hat Virtualization 4.0

与更新和升级 Red Hat Virtualization 相关的任务

Red Hat Virtualization Documentation Team

Red Hat Customer Content Services

摘要

升级 Red Hat Virtualization 环境组件的详尽指南。

第 1 章 更新 Red Hat Virtualization 环境

1.1. 升级概述

本指南介绍了在 Red Hat Virtualization 的从版本(minor release)间进行升级的方法,以及把当前的版本升级到下一个主版本(major version)的方法。在把当前的 Red Hat Virtualization Manager 版本升级到下一个主版本前,请确认已把它升级到最新的从版本。
使用 RHEV Upgrade Helper(https://access.redhat.com/labs/rhevupgradehelper/)可以获得交互式的升级指导信息。这个应用会要求输入与当前环境相关的一些信息(如升级路径),然后根据输入生成升级的步骤。
升级 Red Hat Virtualization Manager 的过程包括以下几个关键步骤:

  • 订阅相关权利
  • 更新系统
  • 运行 engine-setup
  • 删除不再需要的软件仓库。
更新 RHVH 和 RHEL 主机:

升级主机可以直接通过 Red Hat Virtualization Manager 进行,它会检查并通知用户有可以进行的主机更新。

更新集群和数据中心的兼容版本

执行升级操作的命令是 engine-setup,它提供了一个交互式的界面。当升级进行时,主机以及在它们上面运行的虚拟机仍然会正常运行。当升级完成后,您可以把主机升级到最新版本的 Red Hat Enterprise Linux 或 Red Hat Virtualization Host。

第 2 章 在从发行版本间升级

2.1. 更新 Red Hat Virtualization Manager

Red Hat Virtualization Manager 的升级版本会通过 Content Delivery Network 提供。在使用 Content Delivery Network 安装一个升级版本前,请阅读相关的建议信息、Red Hat Virtualization Manager 发行注记Red Hat Virtualization Technical Notes客户门户网站)。

过程 2.1. 更新 Red Hat Virtualization Manager

  1. 在 Red Hat Virtualization Manager 所在的机器上,运行以下命令检查是否有可用的软件包更新:
    # engine-upgrade-check
    • 如果没有更新版本,这个命令会输出 No upgrade
      # engine-upgrade-check
      VERB: queue package ovirt-engine-setup for update
      VERB: package ovirt-engine-setup queued
      VERB: Building transaction
      VERB: Empty transaction
      VERB: Transaction Summary:
      No upgrade
    • 如果有更新版本,这个命令会列出可以升级的软件包:
      # engine-upgrade-check
      VERB: queue package ovirt-engine-setup for update
      VERB: package ovirt-engine-setup queued
      VERB: Building transaction
      VERB: Transaction built
      VERB: Transaction Summary:
      VERB:     updated    - ovirt-engine-lib-3.3.2-0.50.el6ev.noarch
      VERB:     update     - ovirt-engine-lib-3.4.0-0.13.el6ev.noarch
      VERB:     updated    - ovirt-engine-setup-3.3.2-0.50.el6ev.noarch
      VERB:     update     - ovirt-engine-setup-3.4.0-0.13.el6ev.noarch
      VERB:     install    - ovirt-engine-setup-base-3.4.0-0.13.el6ev.noarch
      VERB:     install    - ovirt-engine-setup-plugin-ovirt-engine-3.4.0-0.13.el6ev.noarch
      VERB:     updated    - ovirt-engine-setup-plugins-3.3.1-1.el6ev.noarch
      VERB:     update     - ovirt-engine-setup-plugins-3.4.0-0.5.el6ev.noarch
      Upgrade available
      
      Upgrade available
  2. 更新 ovirt-engine-setup 软件包:
    # yum update ovirt-engine-setup
  3. 更新 Red Hat Virtualization Manager。在运行 engine-setup 时,脚本会提示输入一些配置信息,如更新防火墙规则、更新 PKI 证书、备份 Data Warehouse 数据库。然后,这个脚本会停止 ovirt-engine 服务的运行、下载并安装更新的软件包、备份并升级数据库、进行安装后的配置,最后重新启动 ovirt-engine 服务。

    注意

    在 Red Hat Virtualization Manager 的安装过程中也需要使用 engine-setup 脚本,它会保存提供的配置值。在一个更新的过程中,以前保存的配置值会显示出来以供用户检查,而其中的一些值可能会因为在安装后运行过 engine-config 而不是最新的值。例如,在安装后运行了 engine-configSANWipeAfterDelete 的值更新为 true,但是 engine-setup 在预览输出中所显示的值是 "Default SAN wipe after delete: False"。已更新的值不会被 engine-setup 覆盖。
    # engine-setup

重要

升级的过程会需要一定时间完成,因此请为升级做好准备,一旦升级过程开始,请不要停止它。

2.2. 更新主机

通过 Red Hat Virtualization Manager 来使用主机升级管理程序(upgrade manager)直接更新主机。升级管理程序会检查并通知用户有可用的更新,并可以自动把主机设置为维护模式、更新软件包,再把主机设置回可用状态,从而简化升级所需的时间。特别是在一个有大量主机的大型环境中,自动化这些步骤可以节省大量时间。
在 Red Hat Enterprise Linux 主机上,升级管理程序会默认检查 Red Hat Virtualization 软件包是否有可用的更新。您可以通过设置系统配置值 UserPackageNamesForCheckUpdate 来指定升级管理程序监控其它软件包是否有更新。这个值可以包括通配符。在 Manager 所在机器上运行 engine-config,例如:
# engine-config -m UserPackageNamesForCheckUpdate=vdsm-hook-ethtool-options

警告

对于其它更新,如操作系统的安全更新,则需要使用 yum update 对 Red Hat Enterprise Linux 主机进行手工更新(如 第 2.3 节 “手工更新主机” 所示)。
对于 Red Hat Virtualization Host (RHVH),升级管理程序会检查 RHVH 镜像是否有可用的更新。因为 RHVH 镜像是作为一个整体进行更新的,而不是对软件包进行单独更新,所以不需要手工运行 yum update 对其它软件包进行更新。
在默认情况下,升级管理器会每 24 小时检查一次是否有相关的更新,使用 HostPackagesUpdateTimeInHours 可以改变这个值。在 Manager 所在的机器上运行 engine-config,例如:
# engine-config -s HostPackagesUpdateTimeInHours=48
如果在集群一级启用了迁移功能,这将会导致虚拟机被自动迁移到集群中的不同主机上。因此,我们推荐您选择在主机使用率较低的时候进行主机升级。
主机所属的集群需要有足够的预留内存来保证主机的维护操作可以正常完成。如果集群中没有足够的可用内存,虚拟机迁移操作会失败。为了防止这个问题的出现,可以在进行主机维护操作前关闭一些(或所有)虚拟机来减少内存的使用。

重要

在执行更新前,确认集群中最少有 2 个主机。不要同时重新安装或更新所有主机,因为必须有一个正常运行的主机作为存储池管理器(SPM)。

过程 2.2. 更新 Red Hat Enterprise Linux 主机和 Red Hat Virtualization Host

  1. 主机标签页,选择要升级的主机。
    • 如果主机需要更新,一个提示信息会出现在 Action Items 中,相应的主机名旁也会出现一个提示图标。
    • 如果主机不需要被升级,没有提示信息被显示,您不需要做任何操作。
  2. 升级打开升级主机确认窗口。
  3. 确定进行主机更新。主机标签页中的相关信息会被更新,它的状态会经历以下几个值:
    • Maintenance
    • Installing
    • Up
在升级成功完成后,主机的状态变为 Up。所有因为升级而被迁移到其它主机上的虚拟机现在可以被迁移回这个主机。对 Red Hat Virtualization 环境中的每个主机重复以上操作来对它们进行升级。

注意

如果更新失败,主机状态会变为 Install Failed。如果出现 Install Failed 的情况,可以点升级进行再次尝试。

2.3. 手工更新主机

Red Hat Enterprise Linux 虚拟主机和一般的 Red Hat Enterprise Linux 系统一样使用 yum 命令。Red Hat Virtualization Host(RHVH) 同样使用 yum 命令进行更新,但当前还不支持使用这个方法安装其它软件包。我们推荐使用 yum 定期升级您的系统。升级的过程包括停止并重启主机,如在集群一级启用了迁移功能,这将会导致虚拟机被自动迁移到不同的主机上。因此,我们推荐在主机使用率较低的时候进行升级。
主机所属的集群需要有足够的预留内存来保证主机的维护操作可以正常完成。当对带有正在运行的虚拟机的主机进行维护操作时,如果集群中没有足够的可用内存,虚拟机迁移操作会失败。为了防止这个问题的出现,可以在进行主机维护操作前关闭一些(或所有)虚拟机来减少内存的使用。

重要

在执行更新前,确认集群中最少有 2 个主机。不要同时重新安装或更新所有主机,因为必须有一个正常运行的主机作为存储池管理器(SPM)。

过程 2.3. 手工更新主机

  1. 在管理门户中,点主机标签页并选择要进行升级的主机。
  2. 维护把主机变为维护模式。
    • 对于 Red Hat Enterprise Linux 主机,登录到主机,运行以下命令:
      # yum update
    • 对于 Red Hat Virtualization Host,登录到 Cockpit 用户接口,点 Tools > Terminal,运行以下命令:
      # yum update
  3. 重新启动主机来使所有的升级有效。
在 Red Hat Virtualization 环境中的每个主机上重复以上操作。

第 3 章 升级到 Red Hat Virtualization 4.0

3.1. 升级到 Red Hat Virtualization 4.0 需要考虑的问题

以下列出了在为升级做准备时需要考虑的问题。

重要

只能从版本 3.6 升级到版本 4.0
如需把 Red Hat Enterprise Virtualization 3.6 以前的系统升级到 Red Hat Virtualization 4.0,则需要把它先升级到较新的 Red Hat Enterprise Virtualization 版本。例如,您正在使用 Red Hat Enterprise Virtualization 3.5,则必须把它先升级到 Red Hat Enterprise Virtualization 3.6 的最新的从版本,然后才可以把它升级到 Red Hat Enterprise Virtualization 4.0。如需了解如何升级到最新的 3.6 从版本的信息,请参阅升级指南
在进行升级前,数据中心和集群的兼容版本必须是 3.6。
Red Hat Virtualization Manager 4.0 支持在 Red Hat Enterprise Linux 7.2 上运行
升级到版本 4.0 同时涉及升级 Manager 所在主机的基本操作系统。

3.2. 升级到 Red Hat Virtualization Manager 4.0

Red Hat Virtualization Manager 4.0 只支持在 Red Hat Enterprise Linux 7 上运行。这需要一个“干净”的 Red Hat Enterprise Linux 7 和 Red Hat Virtualization Manager 4.0 的安装(即使使用运行 Red Hat Enterprise Virtualization Manager 3.6 的同一台物理机器)。升级的过程包括把 Red Hat Enterprise Virtualization Manager 3.6 的备份文件恢复到 Red Hat Virtualization Manager 4.0 机器上。
在 Manager 被升级后,可以对主机进行升级(请参阅 第 2 章 在从发行版本间升级)。然后,集群的兼容级别可以被升级到 4.0(请参阅 第 4 章 升级后的任务)。

注意

在 Manager 的升级过程中,连接的主机和虚拟机仍然可以继续工作。
在升级后,如果 Manager 有一个不同的 IP 地址或 FQDN,则需要使用 ovirt-engine-rename 重新命名这个 Manager。
如果在 Red Hat Enterprise Virtualization Manager 3.6 中安装了可选的扩展软件包,如 ovirt-engine-extension-aaa-ldapovirt-engine-extension-aaa-miscovirt-engine-extension-logger-log4j,则需要在运行 engine-setup 前在升级的 Manager 中安装它们。这些扩展软件包的设置不会作为升级的一部分被迁移。

过程 3.1. 升级到 Red Hat Virtualization Manager 4.0

  1. 在 Red Hat Enterprise Virtualization Manager 3.6 中对环境进行备份。
    # engine-backup --scope=all --mode=backup --file=backup.bck --log=backuplog.log
  2. 把备份文件复制到适当的设备中。
  3. 安装 Red Hat Enterprise Linux 7(请参阅 Red Hat Enterprise Linux 安装指南)。
  4. 安装 Red Hat Virtualization Manager 4.0(请参阅 Red Hat Virtualization 安装指南)。
  5. 把备份的文件复制到 Red Hat Virtualization Manager 4.0 所在的机器,恢复备份。
    # engine-backup --mode=restore --file=backup.bck --log=restore.log --provision-db --provision-dwh-db --no-restore-permissions

    注意

    如果备份包括 Data Warehouse 数据,则需要使用 --provision-dwh-db 选项。
    Reports 在 Red Hat Enterprise Virtualization 4.0 中已过时,因此不会被恢复。相关信息,请参阅 BZ#1340810
  6. 如果在 Red Hat Enterprise Virtualization Manager 3.6 的机器上安装了可选的扩展软件包,则需要安装它们。
    # yum install ovirt-engine-extension-aaa-ldap ovirt-engine-extension-aaa-misc ovirt-engine-extension-logger-log4j

    注意

    这些扩展软件包的配置不会作为备份和恢复的一部分被自动迁移,因此需要手工应用它们。
  7. 如果在另外一台机器上安装了 Red Hat Virtualization Manager 4.0,则不再需要使用 Red Hat Enterprise Virtualization Manager 3.6 所在的机器。
  8. 运行 engine-setup 来配置 Manager。
    # engine-setup
  9. 如果升级后的系统和 Red Hat Enterprise Virtualization Manager 3.6 的机器有不同的 IP 地址或 FQDN,运行 ovirt-engine-rename 来重新命名 Manager,根据提示设置新的信息。
    # /usr/share/ovirt-engine/setup/bin/ovirt-engine-rename

注意

如果使用外部的 CA 来签发 HTTPS 证书,根据 BZ#1336838 中介绍的方法在升级后登录到管理门户 。请确认 CA 证书被添加到所有客户端的系统范围的 trust store 中。相关信息,请参阅 BZ#1313379
在更新环境中的 Red Hat Enterprise Linux 主机前,在需要更新的主机上运行以下命令来禁用 3.6 版本的软件仓库,并启用所需的 4.0 版本的软件仓库。
# subscription-manager repos --disable=*
# subscription-manager repos --enable=rhel-7-server-rhv-4-mgmt-agent-rpms
RHEV-H 主机需要重新安装 RHVH 4.0。详细信息,请参阅安装指南中的 Red Hat Virtualization Hosts
现在,就可以更新主机,然后把集群和数据中心的兼容版本改为 4.0。

3.3. 升级自承载引擎

要升级一个基于 Red Hat Enterprise Linux 的自承载环境,请参阅自承载引擎指南中的 Upgrading a RHEL-Based Self-Hosted Engine Environment
要把一个基于 Red Hat Enterprise Virtualization Hypervisor 的自承载环境升级到基于 Red Hat Virtualization Host 的自承载环境,请参阅自承载引擎指南中的 Upgrading a RHEV-H-Based Self-Hosted Engine Environment

第 4 章 升级后的任务

4.1. 改变集群的兼容版本

Red Hat Virtualization 集群有一个兼容版本值。兼容版本值决定了这个集群中的所有主机都支持的 Red Hat Virtualization 的功能。集群兼容版本值应该根据集群中最低的主机操作系统版本进行设置。

注意

要修改集群的兼容版本值,需要先把集群中的所有主机进行升级来满足新的兼容版本值。

过程 4.1. 改变集群的兼容版本

  1. 在管理门户中,选集群标签页。
  2. 从显示的列表中选要修改的集群。
  3. 编辑
  4. 兼容版本改为您所需要的值。
  5. 确定打开修改集群兼容性版本确认窗口。
  6. 确定
您更新了集群的兼容版本值。在更新了数据中心中所有集群的兼容版本值后,就可以对数据中心的兼容版本值进行更新。

4.2. 改变数据中心的兼容版本

Red Hat Virtualization 数据中心有一个兼容版本值。它指定了数据中心所兼容的 Red Hat Virtualization 版本。数据中心中的所有集群都需要满足这个兼容版本值。

注意

要修改数据中心的兼容版本值,需要先把数据中心中的所有集群都进行升级,从而满足这个兼容版本值。

过程 4.2. 改变数据中心的兼容版本

  1. 在管理门户中,点数据中心标签页。
  2. 从显示的列表中选要修改的数据中心。
  3. 编辑
  4. 兼容版本改为您需要的值。
  5. 确定打开修改数据中心兼容性版本确认窗口。
  6. 确定
您更新了数据中心的兼容版本值。

附录 A. 升级离线的 Red Hat Virtualization Manager

A.1. 为离线的 Red Hat Virtualization Manager 更新本地软件仓库

如果 Red Hat Virtualization Manager 所在的系统是通过 FTP 从一个本地的软件仓库接收软件包的,则需要定期地把本地软件仓库中的软件包和 Content Delivery Network 进行同步,然后再更新或升级 Manager 系统。通过定期更新软件包,可以解决安全漏洞、修正程序中的错误,并增强系统的性能。
  1. 在软件仓库所在的机器上运行以下命令来下载软件包的最新版本:
    # reposync -l --newest-only /var/ftp/pub/rhevrepo
    这个命令会下载大量软件包,所以需要很长时间完成。
  2. 当 Manager 系统可以使用这个软件仓库时,就可以更新或升级 Manager 系统。请参阅 第 2.1 节 “更新 Red Hat Virtualization Manager”第 1.1 节 “升级概述”

法律通告

Copyright © 2016 Red Hat.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.