| 中国 |
|
|
|
![]() |
管理 MC/ServiceGuard > 第 3 章 了解
MC/ServiceGuard 软件组件程序包管理器如何工作 |
|
群集中的每个节点都运行一个程序包管理器实例;驻留于群集协调器节点中的程序包管理器称为程序包协调器。 程序包协调器可完成如下工作:
所有节点上的程序包管理器可完成如下工作:
以下两种类型的程序包可以在群集中运行:故障切换程序包和系统多节点程序包。仅在将 VERITAS 群集卷管理器 (CVM) 用作存储管理器的系统上使用系统多节点程序包。此程序包称为 VxVM-CVM-pkg,在群集的所有活动节点上运行,且可以向卷管理器软件提供群集成员关系信息。只有将 CVM 用作存储管理时,才配置和使用这种类型的程序包。有关为 CVM 创建系统多节点程序包的过程在第 5 章中有所讲述,本节的其他部分讲述了标准的故障切换程序包。 群集启动时,故障切换程序包将在相应的节点上启动。当程序包协调器在新节点上启动程序包时,将发生程序包故障切换。程序包的故障切换包括处理现有的程序包(在服务、网络或资源出现故障的情况下)以及启动程序包的新实例。 故障切换如下图所示: 每个程序包都是单独配置的。您可以通过使用 SAM 或通过编辑程序包 ASCII 配置文件来创建程序包(在第 6 章中给出了详细说明)。然后可使用 cmapplyconf 命令检查并将程序包应用到群集配置数据库中。您还可以创建用于对执行程序包服务进行管理的程序控制脚本。然后程序包就可以运行了。 程序包配置文件为程序包指定名称,并包括可以运行程序包的节点的列表,按照优先级排列(即列表中的第一个节点就是优先级最高的节点)。另外,该文件还包含可确定故障切换行为的三个参数。它们是 AUTO_RUN 参数、FAILOVER_POLICY 参数和 FAILBACK_POLICY 参数。 AUTO_RUN 参数(在 ServiceGuard 的早期版本中称为 PKG_SWITCHING_ENABLED 参数)定义群集启动时的程序包缺省全局切换属性,即程序包是否应该在一个新的节点上自动重新启动,以此作为对故障的响应;以及它是否应该在群集启动时自动启动。一旦群集运行起来,每个程序包的程序包切换属性就可以由 cmmodpkg 命令设置。 该参数在程序包 ASCII 配置文件中编码:
程序包切换包括移动程序包和将它们的相关 IP 地址移动到新的系统中。新系统必须已配置好相同的子网并且运行正常,否则程序包将无法启动。程序包故障切换时,TCP 连接将丢失。TCP 应用程序必须重新连接;此过程不会自动进行。注意,如果程序包依赖于多个子网,则在程序包启动之前目标节点上的所有子网都必须是可用的。 可重定位 IP 地址的切换在图 3-4 “切换程序包前” 和图 3-5 “程序包切换后” 中显示。图 3-4 “切换程序包前” 显示一个处于其原始状态的双节点群集,程序包 1 运行在节点 1 上,程序包 2 运行在节点 2 上。用户通过他们希望使用的程序包的 IP 地址连接节点。每个节点都有一个与之关联的固定的 IP 地址,每个程序包也都有一个与之关联的 IP 地址。 图 3-5 “程序包切换后” 显示的情况是:节点 1 出现故障,程序包 1 已转移到节点 2。程序包 1 的 IP 地址也随着程序包转移给节点 2。程序包 1 继续可用,它现在运行在节点 2 上。另请注意,现在节点 2 既可以访问程序包 A 的磁盘,又可以访问程序包 B 的磁盘。 程序包管理器选择程序包在哪个节点上运行时,所作的考虑基于程序包配置文件中所包括的优先级列表以及也是在该文件中编码或在 SAM 中设置的 FAILOVER_POLICY 参数。故障切换策略控制当特定节点未被识别出来以及需要启动程序包时程序包管理器如何选择在哪个节点上运行程序包。它不但可应用于故障切换,而且还可应用于程序包的启动,包括初始启动。有两个故障切换策略,它们是 CONFIGURED_NODE(缺省)和 MIN_PACKAGE_NODE。该参数在程序包 ASCII 配置文件中编码:
如果将 CONFIGURED_NODE 用作故障切换策略的值,则程序包将在节点列表中优先级最高的节点上启动。如果发生故障切换,程序包就会移动到表中下一个可用且优先级最高的节点上。 如果使用 MIN_PACKAGE_NODE 作为故障切换策略的值,则程序包会在当前运行其他程序包数目最少的节点上启动。(注意,这里指的不是负载最轻,检查的唯一指标是当前节点上运行的程序包的数目)。 使用 MIN_PACKAGE_NODE 故障切换策略可以配置这样一个群集,它使您可使用一个节点作为该程序包的自动循环备用节点。考虑将下面的程序包配置用于四节点群集。请注意,所有的程序包都可以在所有节点上运行,并具有相同的 NODE_NAME 列表。不过示例显示节点名在各个程序包中出现的顺序有所不同,但这种现象并不是必需的。 表 3-1 程序包配置数据
群集启动时,各程序包像图 3-6 “故障切换之前的循环备用配置” 中所示那样启动。 发生故障时,任何程序包都将故障切换到包含运行程序包数目最少的节点上,如图 3-7 “故障切换之后的循环备用配置” 中所示(其中节点 2 发生了故障):
如果已经使用 CONFIGURED_NODE 故障切换策略设置了这些程序包,它们就将如图 3-6 “故障切换之前的循环备用配置” 所示进行初始启动,但是节点 2 的故障将导致程序包在节点 3 上启动,如图 3-8 “故障切换后的CONFIGURED_NODE 策略程序包” 中所示: 如果将 CONFIGURED_NODE 用作故障切换策略的值,则程序包将在节点列表中优先级最高的节点上启动(假定此节点正作为群集中的一个成员在运行)。如果发生故障切换,程序包就会移动到表中下一个可用且优先级最高的节点上。 使用 FAILBACK_POLICY 参数使您可以决定,如果主节点又变得可用且程序包当前不是在主节点上运行时,程序包是否返回主节点。已配置好的主节点就是程序包的节点列表中列出的第一个节点。 此策略的两个可能的值为 AUTOMATIC 和 MANUAL。该参数在程序包 ASCII 配置文件中编码:
作为示例,请考虑下面的四节点配置,其中 FAILOVER_POLICY 设置为 CONFIGURED_NODE,FAILBACK_POLICY 设置为 AUTOMATIC: 表 3-2 样例群集中的节点列表
节点 1 吃紧,在群集重组后,程序包 A 开始在节点 4 上运行: 重新引导后,节点 1 重新加入群集。此时,程序包 A 将在节点 4 上自动停止并在节点 1 上重新启动。
如果您使用的是用早期版本的 MC/ServiceGuard 生成的程序包配置文件,则 FAILOVER_POLICY 将成为 CONFIGURED_NODE 的缺省程序包行为,FAILBACK_POLICY 将成为 MANUAL 的缺省程序包行为。如果希望更改这些策略,请编辑程序包配置文件以添加参数,或者使用 cmmakepkg 创建新的程序包配置文件。 从 MC/ServiceGuard 的 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 程序包故障切换行为
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||