Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

升级指南

Red Hat Virtualization 4.1

与更新和升级 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

      注意

      如果预计有可以进行的更新,但却不可用,请确认已启用了所需的软件仓库。更多相关信息,请参阅安装指南中的 Subscribing to the Required Entitlements
    • 如果有更新版本,这个命令会列出可以升级的软件包:
      # 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. 更新 setup 软件包:
    # yum update ovirt\*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

    重要

    升级的过程会需要一定时间完成,因此请为升级做好准备,一旦升级过程开始,请不要停止它。
  4. 更新基本操作系统,以及安装在 Manager 中的所有额外的软件包:
    # yum update

    重要

    如果更新了内核软件包,则需要重启系统来完成更新的过程。

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 对其它软件包进行更新。在更新过程中,只有 /etc/var 目录中修改过的内容会被保留,其它目录中的内容会被完全覆盖。
在默认情况下,升级管理器会每 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. 重新启动主机来使所有的升级有效。

    注意

    查看 imgbased 的日志信息来检查是否有额外的软件包在 Red Hat Virtualization Host 上安装失败。如果一些软件包在更新后没有被成功重新安装,它们会在 /var/imgbased/persisted-rpms 中列出。添加缺失的软件包,然后运行 rpm -Uvh /var/imgbased/persisted-rpms/*
在 Red Hat Virtualization 环境中的每个主机上重复以上操作。

第 3 章 升级到 Red Hat Virtualization 4.1

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

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

重要

只能从版本 4.0 升级到版本 4.1
如需把 Red Hat Virtualization 4.0 以前的系统升级到 Red Hat Virtualization 4.1,则需要把它先升级到较新的 Red Hat Virtualization 版本。例如,您正在使用 Red Hat Enterprise Virtualization 3.6,则必须把它先升级到 Red Hat Virtualization 4.0 的最新的从版本,然后才可以把它升级到 Red Hat Virtualization 4.0。如需了解如何升级到最新的 4.0 从版本的信息,请参阅升级指南
在进行升级前,数据中心和集群的兼容版本必须是 4.0。
当把数据中心的兼容版本改为 4.1 后,将不能进行降级。
当把数据中心的兼容版本升级到 4.1 后,数据域存储格式会从版本 3 变为版本 4,并无法被降级。因此,不能把一个 4.1 数据中心中的数据域附加到一个老的数据中心中。您可以把一个老的数据中心中的数据域附加到一个 4.1 数据中心中,但这会使存储格式被升级并无法被逆转。

3.2. 升级到 Red Hat Virtualization Manager 4.1

以下介绍了从 Red Hat Virtualization Manager 4.0 升级到 Red Hat Virtualization Manager 4.1 的步骤。这个升级过程需要 Manager 所在的系统已经订阅了提供 Red Hat Virtualization 4.0 软件包的权利。

重要

如果升级失败,engine-setup 将会试图把 Red Hat Virtualization Manager 恢复到原来的状态。因此,Red Hat Virtualization 4.0 所需的软件仓库在升级完成前不能被删除。如果升级失败,系统会显示如何恢复系统的信息。

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

  1. 启用 Red Hat Virtualization Manager 4.1 和 Red Hat Virtualization Tools 软件仓库:
    # subscription-manager repos --enable=rhel-7-server-rhv-4.1-rpms
    # subscription-manager repos --enable=rhel-7-server-rhv-4-tools-rpms
  2. 更新 setup 软件包:
    # yum update ovirt\*setup\*
  3. 运行以下命令并根据提示升级 Red Hat Virtualization Manager:
    # engine-setup
  4. 删除或禁用 Red Hat Virtualization Manager 4.0 的频道,确保系统不再使用 Red Hat Virtualization Manager 4.0 软件包:
    # subscription-manager repos --disable=rhel-7-server-rhv-4.0-rpms
  5. 更新基本操作系统:
    # yum update

    重要

    如果更新了内核软件包,则需要重启系统来完成更新的过程。
您需要把数据中心兼容版本升级到 4.1,详情请参阅第 4 章 升级后的任务

3.3. 升级自承载引擎

如需升级一个自承载引擎,请参阅自承载引擎指南中的 Upgrading a Self-Hosted Engine Environment

第 4 章 升级后的任务

4.1. 改变集群的兼容版本

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

重要

要修改集群的兼容版本值,需要先把集群中的所有主机进行升级来满足新的兼容版本值。当需要进行更新时,主机旁边会出现一个提示图标。如需了解更多与更新主机相关的信息,请参阅 第 2.2 节 “更新主机”

过程 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.