跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension 文档 / 管理指南 / 安装、设置和升级 / 升级群集和更新软件包
适用范围 SUSE Linux Enterprise High Availability Extension 15 SP2

5 升级群集和更新软件包

本章介绍两种不同方案:将群集升级为 SUSE Linux Enterprise High Availability Extension 的另一个版本(主要版本或服务包),以及更新群集节点上的单个包。请参见第 5.2 节 “将群集升级到最新产品版本”第 5.3 节 “更新群集节点上的软件包”

如果您要升级群集,请在开始升级之前查看第 5.2.1 节 “SLE HA 和 SLE HA Geo 支持的升级路径”第 5.2.2 节 “升级前必须满足的先决条件”

5.1 术语

下面介绍本章中使用的最重要术语的定义:

主要版本, 正式发布 (GA) 版本

主要版本是一个新的产品版本,增加了新功能和工具并停用了先前弃用的组件。其含有不向后兼容的更改。

群集脱机升级

如果新产品版本包含不可向后兼容的重大更改,则需要通过群集脱机升级来升级群集。需要先使所有节点脱机并将群集作为一个整体进行升级,然后才能使所有节点重新联机。

群集滚动升级

执行群集滚动升级时,每次会升级一个群集节点,此时,群集的其他节点仍在运行中。需将第一个节点脱机,进行升级,然后再使其重新联机以加入群集。然后,需要逐个对其余节点重复上述过程,直到所有群集节点都升级为主要版本。

服务包 (SP)

将几个增补程序合并到便于安装或部署的一个组织体中。服务包是有编号的并通常包含安全性修复、更新、升级或程序增强。

更新

安装某个包的较新次要版本,其中通常包含安全修复和其他重要修复。

升级

安装包或分发包的更新主要版本,引入新功能。另请参见群集脱机升级群集滚动升级

5.2 将群集升级到最新产品版本

至于支持哪种升级路径以及如何执行升级,取决于当前产品版本,以及您要迁移到的目标版本。

  • 群集滚动升级只能在同一个主要版本中进行,例如从产品版本 GA 滚动升级到下一个服务包,以及从一个服务包滚动升级到下一个服务包。

  • 要从一个主要版本升级到下一个主要版本(例如,从 SLE HA 12 升级到 SLE HA 15),或者从一个主要版本中的服务包升级到下一个主要版本(例如,从 SLE HA 12 SP3 升级到 SLE HA 15),需要执行群集脱机升级。

第 5.2.1 节提供了 SLE HA (Geo) 的受支持升级路径概述。有关详细信息列中显示您应参考的特定升级文档(还包括基本系统和 Geo Clustering for SUSE Linux Enterprise High Availability Extension)。此文档可从以下位置获得:

重要
重要:升级后不支持混合群集和逆转
  • 不支持在 SUSE Linux Enterprise High Availability Extension 12/SUSE Linux Enterprise High Availability Extension 15 上运行混合群集。

  • 完成到产品版本 15 的升级过程后,支持再还原到产品版本 12。

5.2.1 SLE HA 和 SLE HA Geo 支持的升级路径

升级前版本和目标版本

升级路径

相关细节

SLE HA 11 SP3 到

SLE HA (Geo) 12

群集脱机升级

  • 基本系统:SLES 12 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:从产品版本 11 升级到 12:群集脱机升级

  • SLE HA Geo:SLE HA 12 的《Geo 群集快速入门》中的“从 SLE HA (Geo) 11 SP3 升级到 SLE HA Geo 12”一节

从 SLE HA (Geo) 11 SP4 升级到 SLE HA (Geo) 12 SP1

群集脱机升级

  • 基本系统:SLES 12 SP1 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:从产品版本 11 升级到 12:群集脱机升级

  • SLE HA Geo:SLE HA 12 SP1 的《Geo 群集快速入门》中的“升级到最新的产品版本”一节

从 SLE HA (Geo) 12 升级到 SLE HA (Geo) 12 SP1

群集滚动升级

  • 基本系统:SLES 12 SP1 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:执行群集滚动升级

  • SLE HA Geo:SLE HA 12 SP1 的《Geo 群集快速入门》中的“升级到最新的产品版本”一节

从 SLE HA (Geo) 12 SP1 升级到 SLE HA (Geo) 12 SP2

群集滚动升级

  • 基本系统:SLES 12 SP2 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:执行群集滚动升级

  • SLE HA Geo:SLE HA 12 SP2 的《Geo 群集快速入门》中的“升级到最新的产品版本”一节

  • DRBD 8 到 DRBD 9:从 DRBD 8 迁移到 DRBD 9

从 SLE HA (Geo) 12 SP2 升级到 SLE HA (Geo) 12 SP3

群集滚动升级

  • 基本系统:SLES 12 SP3 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:执行群集滚动升级

  • SLE HA Geo:SLE HA 12 SP3 的《Geo 群集指南》中的“升级到最新的产品版本”一节

从 SLE HA (Geo) 12 SP3 升级到 SLE HA (Geo) 12 SP4

群集滚动升级

  • 基本系统:SLES 12 SP4 的《部署指南》中的“更新和升级 SUSE Linux Enterprise”部分

  • SLE HA:执行群集滚动升级

  • SLE HA Geo:SLE HA 12 SP4 的《Geo 群集指南》中的“升级到最新的产品版本”一节

从 SLE HA (Geo) 12 SP3 到 SLE HA (Geo) 15

群集脱机升级

从 SLE HA (Geo) 15 SP4 升级到 SLE HA (Geo) 12 SP1

群集脱机升级

从 SLE HA (Geo) 15 升级到 SLE HA (Geo) 15 SP1

群集滚动升级

从 SLE HA (Geo) 15 SP1 升级到 SLE HA (Geo) 15 SP2

群集滚动升级

5.2.2 升级前必须满足的先决条件

备份

确保系统备份为最新的且可恢复。

测试

请先在群集设置的临时实例上测试升级过程,然后再在生产环境中执行该过程。这样,您便可以估算出维护期所需的时间段。这还有助于检测和解决可能会出现的任何意外问题。

5.2.3 群集脱机升级

本节内容适用于以下方案:

如果您的群集仍旧基于早期的产品版本而不是上面所列的版本,请先将它升级到 SLES 和 SLE HA 的某个版本,而该版本可用作升级到所需目标版本的源。

过程 5.1︰ 从产品版本 11 升级到 12:群集脱机升级

High Availability Extension 12 群集堆栈的各个组件包含了重大更改(例如 /etc/corosync/corosync.conf、OCFS2 的磁盘格式)。因此,不支持从任何 SUSE Linux Enterprise High Availability Extension 11 版本进行群集滚动升级。必须将所有群集节点脱机,并根据下面所述将群集作为一个整体升级。

  1. 登录到每个群集节点,并使用以下命令停止群集堆栈:

    root # rcopenais stop
  2. 将每个群集节点都升级到 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目标版本 — 请参见第 5.2.1 节 “SLE HA 和 SLE HA Geo 支持的升级路径”

  3. 完成升级过程后,请重引导装有 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 升级版的每个节点。

  4. 如果在群集设置中使用了 OCFS2,请执行以下命令以更新设备上的结构:

    root # o2cluster --update PATH_TO_DEVICE

    它会为磁盘添加额外参数。SUSE Linux Enterprise High Availability Extension 12 和 12 SPx 随附的已更新 OCFS2 版本需要这些参数。

  5. 要更新 Corosync 2 的 /etc/corosync/corosync.conf,请执行以下操作:

    1. 登录到某个节点,然后启动 YaST 群集模块。

    2. 切换到通讯通道类别并输入以下新参数的值:群集名称预期投票数。有关细节,请分别参见过程 4.1 “定义第一个通讯通道(多路广播)”过程 4.2 “定义第一个通讯通道(单路广播)”

      如果 YaST 检测到对 Corosync 2 无效或缺失的任何其他选项,它会提示您进行更改。

    3. 确认在 YaST 中所做更改。YaST 会将配置写入 /etc/corosync/corosync.conf

    4. 如果为群集配置了 Csync2,请使用以下命令将更新的 Corosync 配置推送到其他群集节点:

      root # csync2 -xv

      有关 Csync2 的细节,请参见第 4.5 节 “将配置传送到所有节点”

      或者,也可以通过将 /etc/corosync/corosync.conf 手动复制到所有群集节点,来同步更新的 Corosync 配置。

  6. 登录到每个节点,并使用以下命令启动群集堆栈:

    root # crm cluster start
  7. 使用 crm status 或 Hawk2 检查群集状态。

  8. 将以下服务配置为在引导时启动:

    root # systemctl enable pacemaker
    root # systemctl enable hawk
    root # systemctl enable sbd
注意
注意:升级 CIB 语法版本

有时,新功能只能在最新的 CIB 语法版本中使用。升级到新的产品版本时,默认不会升级 CIB 语法版本。

  1. 使用以下命令检查版本:

    cibadmin -Q | grep validate-with
  2. 使用以下命令升级到最新的 CIB 语法版本:

    root # cibadmin --upgrade --force
过程 5.2︰ 从产品版本 12 升级到 15:群集脱机升级
重要
重要:从头开始安装

如果您决定从头开始安装群集节点(而不是升级它们),请参见第 2.2 节 “软件要求”以获取 SUSE Linux Enterprise High Availability Extension 15 SP2 所需的模块列表。有关模块、扩展及相关产品的详细信息,请参见 SUSE Linux Enterprise Server 15 的发行说明。可从 https://www.suse.com/releasenotes/ 访问这些文档。

  1. 在开始脱机升级到 SUSE Linux Enterprise High Availability Extension 15 之前,请如注意:升级 CIB 语法版本中所述手动升级当前群集中的 CIB 语法。

  2. 登录到每个群集节点,并使用以下命令停止群集堆栈:

    root # crm cluster stop
  3. 将每个群集节点都升级到 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目标版本 — 请参见第 5.2.1 节 “SLE HA 和 SLE HA Geo 支持的升级路径”

  4. 完成升级过程后,请登录每个节点,并引导装有 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 升级版的每个节点。

  5. 如果您使用群集 LVM,则需要从 clvmd 迁移到 lvmlockd。请参见 lvmlockd 的手册页中的 changing clvm VG to lockd VG(将 clvm VG 更改为 lockd VG)部分,另请参见第 21.4 节 “从镜像 LV 联机迁移到群集 MD”

  6. 使用以下命令启动群集堆栈:

    root # crm cluster start
  7. 使用 crm status 或 Hawk2 检查群集状态。

5.2.4 群集滚动升级

本节内容适用于以下方案:

  • 从 SLE HA 12 升级到 SLE HA 12 SP1

  • 从 SLE HA 12 SP1 升级到 SLE HA 12 SP2

  • 从 SLE HA 12 SP2 升级到 SLE HA 12 SP3

  • 从 SLE HA 12 SP3 升级到 SLE HA 12 SP4

  • 从 SLE HA 15 升级到 SLE HA 15 SP1

  • 从 SLE HA 15 SP1 升级到 SLE HA 15 SP2

警告
警告:活动的群集堆栈

在开始升级某个节点之前,请停止该节点上的群集堆栈。

如果在软件更新期间,群集资源管理器所在节点处于活动状态,可能会导致不可预料的结果,例如活动的节点被屏蔽。

重要
重要:群集滚动升级的时间限制

只有在将所有群集节点都升级到最新产品版本之后,最新产品版本提供的新功能才可用。在群集滚动升级期间,只有较短的一段时间支持混合版本群集升级。请在一周内完成群集滚动升级。

过程 5.3︰ 执行群集滚动升级
  1. root 用户身份登录要升级的节点,并停止群集堆栈:

    root # crm cluster stop
  2. 升级到 SUSE Linux Enterprise Server 和 SUSE Linux Enterprise High Availability Extension 的所需目标版本。要了解各个升级过程的细节,请参见第 5.2.1 节 “SLE HA 和 SLE HA Geo 支持的升级路径”

  3. 在升级后的节点上启动群集堆栈,使该节点重新加入群集:

    root # crm cluster start
  4. 使下一个节点处于脱机状态,并对此节点重复上述过程。

  5. 使用 crm status 或 Hawk2 检查群集状态。

    如果检测到您的群集节点有不同的 CRM 版本,Hawk2 状态屏幕还会显示一条警告。

5.3 更新群集节点上的软件包

警告
警告:活动的群集堆栈

启动某节点的包更新之前,请停止该节点上的群集堆栈,或将该节点置于维护模式,具体取决于群集堆栈是否受影响。有关详细信息,请参见步骤 1

如果在软件更新期间,群集资源管理器所在节点处于活动状态,可能会导致不可预料的结果,例如活动的节点被屏蔽。

  1. 在节点上安装任何包更新之前,请先确认以下问题:

    • 这种更新是否会影响属于 SUSE Linux Enterprise High Availability Extension 或 Geo Clustering for SUSE Linux Enterprise High Availability Extension 的任何包?如果,请先在节点上停止群集堆栈,然后再开始软件更新:

      root # crm cluster stop
    • 包更新操作是否需要重引导计算机?如果,请先在节点上停止群集堆栈,然后再开始软件更新:

      root # crm cluster stop
    • 如果不属于上述任何一种情况,则不需要停止群集堆栈。在这种情况下,请先将节点置于维护模式,然后再开始软件更新:

      root # crm node maintenance NODE_NAME

      有关维护模式的更多细节,请参见第 16.2 节 “用于维护任务的不同选项”

  2. 使用 YaST 或 Zypper 来安装包更新。

  3. 在成功安装更新后:

    • 启动相应节点上的群集堆栈(如果在执行步骤 1 时已将它停止):

      root # crm cluster start
    • 或者去除维护标志,使节点恢复正常模式:

      root # crm node ready NODE_NAME
  4. 使用 crm status 或 Hawk2 检查群集状态。

5.4 更多信息

有关您要升级到的产品的任何更改和新功能的详细信息,请参见其发行说明,所在网址为 https://www.suse.com/releasenotes/