| 中国 |
|
|
|
![]() |
使用 ServiceGuard OPS Edition 配置 OPS 群集 > 第 3 章 了解 ServiceGuard OPS Edition 的软件组件程序包管理器如何工作 |
|
群集中的每个节点都运行一个程序包管理器实例;驻留于群集协调器节点中的程序包管理器称为程序包协调器。 程序包协调器可完成如下工作:
所有节点上的程序包管理器可完成如下工作:
以下两种类型的程序包可以在群集中运行:故障切换程序包和系统多节点程序包。系统多节点程序包仅适用于采用 VERITAS Cluster Volume Manager (CVM) 作为存储管理器的系统。此程序包称为 VxVM-CVM-pkg,在群集的所有活动节点上运行,且可以向卷管理器软件提供群集成员信息。只有将 CVM 用作存储管理时,才可配置和使用这种类型的程序包。有关为 CVM 创建系统多节点程序包的过程将在第 5 章中介绍。本节的其他部分将介绍标准的故障切换程序包。 群集启动时,故障切换程序包将在相应的节点上启动。当程序包协调器在新节点上启动程序包时,将发生程序包故障切换。程序包的故障切换包括暂停现有的程序包(在服务、网络或资源出现故障的情况下)以及启动程序包的新实例。 故障切换如下图所示: 每个程序包都是单独配置的。您可以通过进行 SAM 或编辑程序包 ASCII 配置文件来创建程序包(在第 6 章中进行了详细说明)。然后执行 cmapplyconf 命令检查程序包并将其应用到群集配置数据库中。此外,还可以创建用于管理程序包服务执行情况的程序包控制脚本。然后程序包就可以运行了。 程序包配置文件为程序包指定了一个名称,并按优先级顺序标识程序包可在其上运行的节点。它还指出是否启用程序包的切换;即在发生故障时,程序包是否应切换到另一节点。另外,程序包故障切换和故障返回策略使程序包管理器可以动态地决定在哪里启动程序包。 OPS 实例的配置类似于程序包配置,只是节点列表中只有一个节点。对于常规的非 OPS 实例程序包,一个程序包中可能会有一个或多个应用程序。程序包配置将在“第 6 章“配置程序包及其服务””一章中详述。 AUTO_RUN 参数(在 ServiceGuard 的早期版本中称为 PKG_SWITCHING_ENABLED 参数)定义程序包在群集启动时的缺省全局切换属性;即在出现故障时程序包是否应该在一个新的节点上自动重新启动,以及它是否应该在群集启动时自动启动。一旦群集运行起来,每个程序包的程序包切换属性就可以通过执行 cmmodpkg 命令进行设置。 该参数可在程序包 ASCII 配置文件中进行配置:
程序包切换包括将非 OPS 程序包及其相关 IP 地址移动到新的系统中。新系统必须已配置好相同的子网并且运行正常,否则程序包将无法启动。程序包故障切换时,TCP 连接将丢失。TCP 应用程序必须重新连接;此过程不会自动进行。注意,如果程序包依赖于多个子网,则在程序包启动之前目标节点上的所有子网都必须是可用的。 图 3-5 和图 3-6 中说明了可重新定位 IP 地址的切换。图 3-5 显示了一个两节点群集的最初状态,程序包 1 在节点 1 上运行,程序包 2 在节点 2 上运行。OPS 实例在两个节点上分别运行。用户通过他们想使用的程序包的 IP 地址连接到特定节点上。每个节点都有一个与之关联的固定的 IP 地址,每个程序包也都有一个与之关联的 IP 地址。 图 3-6 显示的是节点 1 出现故障,程序包 1 已转移到节点 2 的情形。在此情况下,OPS 实例 1 不再运行,但它不会故障切换到节点 2。程序包 1 的 IP 地址已随程序包转移到了节点 2。程序包 1 继续可用且此时在节点 2 上运行。另请注意,此时节点 2 对程序包 1 的磁盘和程序包 2 的磁盘都可进行访问。OPS 实例 2 现在处理所有数据库访问,因为实例 1 已停止。 程序包管理器选择程序包在哪个节点上运行时,依据的是包括在程序包配置文件中的优先级列表,以及在此文件中设置或通过 SAM 设置的 FAILOVER_POLICY 参数。故障切换策略不只是控制故障切换行为,还控制程序包的启动行为,包括初始启动。这两个故障切换策略是 CONFIGURED_NODE 和 MIN_PACKAGE_NODE。这两个参数可在程序包 ASCII 配置文件中进行配置:
如果将 CONFIGURED_NODE 用作故障切换策略的值,则程序包将在节点列表中优先级最高的节点上启动(假定此节点正在运行,并且是群集中的一个成员)。发生故障切换时,程序包将移动到节点列表中下一个可用且优先级最高的节点上。 如果使用 MIN_PACKAGE_NODE 作为故障切换策略的值,则程序包会在当前运行其他程序包数目最少的节点上启动。(注意,这里指的不是负载最轻,检查的唯一指标是当前在节点上运行的程序包的数目)。 使用 MIN_PACKAGE_NODE 故障切换策略可以配置这样一个群集,它使您可以将一个节点作为程序包的自动循环备用节点。请考虑如下四节点群集的程序包配置。注意,全部程序包可在所有节点上运行,并且有相同的 NODE_NAME 列表,只是各程序包配置文件中的节点名称顺序不同。 表 3-1 程序包配置数据
图 3-7 显示了群集启动时各程序包的初始状态。 发生故障时,任何程序包都将故障切换到运行程序包数目最少的节点上,如图 3-8 中所示(其中节点 2 发生了故障): 如果已经使用 CONFIGURED_NODE 故障切换策略设置了这些程序包,它们的初始状态将如图 3-7 所示,但是节点 2 的故障将导致程序包在节点 3 上启动,如图 3-9 中所示: 如果将 CONFIGURED_NODE 用作故障切换策略的值,则程序包将在节点列表中优先级最高的节点上启动(假定此节点正在运行,并且是群集中的一个成员)。如果发生故障切换,程序包就会移动到表中下一个可用且优先级最高的节点上。
当程序包在主节点以外的其他节点上运行时,如果主节点恢复运行,可使用 FAILBACK_POLICY 参数确定是否将程序包返回到其主节点。配置的主节点是程序包节点列表中列出的第一个节点。 可用于此策略的两个值为 AUTOMATIC 和 MANUAL。这两个参数可在程序包 ASCII 配置文件中进行配置:
作为示例,请考虑下面的四节点配置,其中 FAILOVER_POLICY 设置为 CONFIGURED_NODE,FAILBACK_POLICY 设置为 AUTOMATIC: 表 3-2 程序包配置数据
节点 1 出现混乱,在群集重组后,pkgA 开始在节点 4 上运行: 重新引导后,节点 1 重新加入群集。此时,程序包 A 将在节点 4 上自动停止并在节点 1 上重新启动。
如果您使用的是用早期版本的 MC/ServiceGuard 生成的程序包配置文件,则 FAILOVER_POLICY 将使用缺省程序包行为 CONFIGURED_NODE,而 FAILBACK_POLICY 将使用缺省程序包行为 MANUAL。如果希望更改这些策略,请编辑程序包配置文件以添加参数,或者执行 cmmakepkg 命令创建新的程序包配置文件。 自 ServiceGuard OPS Edition 的 A.11.12 版本起,PKG_SWITCHING_ENABLED 参数已更名为 AUTO_RUN,NET_SWITCHING_ENABLED 参数已更名为 LOCAL_LAN_FAILOVER_ALLOWED。较早的名称在配置文件中仍然有效,但建议您还是更改这些关键字。 基本的程序包资源包括群集节点、LAN 接口和服务(服务是指应用程序中的各个进程)。所有这些资源都由 ServiceGuard 直接监视。另外,还可以使用 事件监视服务的注册表,通过它可配置附加的监视器。该注册表可使其他软件组件向 ServiceGuard 提供对自身资源的监视。当前,其他软件产品提供的监视器包括:EMS 高可用性监视器、OTS/9000 监视器和 ATM 监视器。 如果程序包中配置有已注册的资源,程序包管理器就可调用资源注册程序来启动此资源的外部监视器。资源可配置为在节点进入群集时或程序包启动结束时启动。然后监视器将消息发送回 ServiceGuard,由它在程序包启动前检查资源是否可用。另外,如果在程序包启动后资源变为不可用,程序包管理器可将程序包故障切换到另一个节点或采取其他操作。 在为程序包指定已注册的资源时,您可以从 SAM 程序包配置区域中显示的可用资源列表中选择。SAM 所显示的列表的大小取决于系统中已注册的资源监视器。或者您也可以通过执行 /opt/resmon/bin/resls 命令获取关于系统中已注册资源的信息。有关其他信息,请参考 resls(1m) 的联机帮助页。 EMS HA Monitor 是一个单独产品 (B5736DA),可以作为软件包附属件对磁盘及其他资源进行监视。可以使用 EMS 监视的资源属性的示例有:
一旦监视器被配置为程序包附属件,则当发生的事件表明资源已不再可用时,该监视器就会通知程序包管理器。此时就可以将程序包故障切换到代管节点。 EMS HA Monitor 还可用于将被监视的事件报告给目标应用程序(如 OpenView IT/Operation)以用于图形显示或通知操作员。有关其他信息,请参考手册《Using High Availability Monitors》 (B5736-90022)。 要确定故障切换行为,可以定义一个程序包故障切换策略,由它控制哪些节点将自动启动未运行的程序包。另外,还可定义一个故障返回策略,由它确定程序包是否在可能时自动返回其主节点。 下表说明了不同类型的故障切换行为,以及 SAM 或 ASCII 程序包配置文件中确定每种行为的设置。 表 3-3 程序包故障切换行为
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||