跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
使用 ServiceGuard OPS Edition 配置 OPS 群集 > 第 5 章 建立 OPS 群集配置

管理正在运行的群集

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 索引

本节描述了一些对群集进行例行管理的方法。其他工具和建议可在第 7 章“第 7 章“群集和程序包维护””中找到。

使用 ServiceGuard Manager 检查群集运行

通过 ServiceGuard Manager,您可以看到群集中的所有节点和程序包,并显示它们的当前状态。请参考第 7 章中的““使用 ServiceGuard Manager””。以下是使用 ServiceGuard Manager 的一些建议:

  • 确保所有已配置的节点都在运行。

    检查所有已配置的程序包是否都在运行并且运行在正确的节点上。

  • 确保群集、节点和程序包属性表中的设置正确。

当确定群集已正确配置之后,请在一个文件中保存配置数据的副本,以便进行归档。此文件中的数据可以与以后的群集数据进行比较,以便了解群集数据在一段时间内的变化。

使用 ServiceGuard 命令检查群集运行

ServiceGuard 还提供了以下几个命令,用于手动控制群集:

  • cmrunnode 用于启动节点。

    cmhaltnode 用于手动停止正在运行的节点。(此命令也可由 shutdown(1m) 执行。)

  • cmruncl 用于手动启动已停止的群集。

    cmhaltcl 用于手动停止群集。

可以使用这些命令测试群集的运行情况,如下所述:

  1. 如果群集尚未联机,请如下所示运行群集:

    cmruncl -v  
  2. 如果群集已启动,请执行下列命令确保群集组件正在正确运行:

    cmviewcl -v  

    确保所有节点和网络都正在按预期运行。有关执行 cmviewcl 命令的信息,请参考“第 7 章“群集和程序包维护””一章。

  3. 执行下列命令验证节点是否可按预期脱离和加入群集:

    • 在一个群集节点上执行 cmhaltnode 命令。

      执行 cmviewcl 命令验证节点已脱离群集。

    • 执行 cmrunnode 命令。

      再次执行 cmviewcl 命令验证节点已恢复运行。

  4. 执行下列命令停用群集:

    cmhaltcl -v -f  

其他群集测试在“第 8 章“排除群集故障””一章中讲述。有关 MC/ServiceGuard 命令的完整列表,请参考附录 A。

避免自动激活卷组

一定要避免 /etc/lvmrc 文件在系统引导时自动激活 OPS 和程序包卷组,这一点非常重要。要确保此情况不会发生,请编辑所有节点上的 /etc/lvmrc 文件。将 AUTO_VG_ACTIVATE 设置为 0,然后将未与群集绑定的卷组包括在 custom_vg_activation 函数中。此文件中应包括将由程序包使用的卷组,因为这些卷组将由控制脚本激活和停用。

注释:不必将根卷组包含在 custom_vg_activation 函数中,因为根卷组可以在引导过程使用 /etc/lvmrc 文件之前自动激活。

设置自动启动功能

自动启动是每个节点分别加入群集的过程。为控制此过程,ServiceGuard 提供了一个启动脚本。如果群集已经存在,节点则试图加入群集;如果没有任何群集正在运行,节点就会试图组成一个包含所有已配置的节点的群集。自动群集启动是启动群集的首选方式。系统管理员无须进行任何操作。

要启用自动群集启动,请在群集中每个节点上的 /etc/rc.config.d/cmcluster 文件中将 AUTOSTART_CMCLD 标志设置为 1;这样,节点即可在引导时加入群集。

下面是 /etc/rc.config.d/cmcluster 文件的一个示例:

#***************************  CMCLUSTER  *************************
# Highly Available Cluster configuration
#
# @(#) $Revision: 72.2 $
#
# AUTOSTART_CMCLD:      If set to 1, the node will attempt to
#                       join it's CM cluster automatically when
#                       the system boots.
#                       If set to 0, the node will not attempt
#                       to join it's CM cluster.
#
AUTOSTART_CMCLD=1

更改系统消息

修改系统的登录消息并使之包含如下所示的语句,是非常有帮助的:

This system is a node in a high availability cluster.
Halting this system may cause applications and services to
start up on another node in the cluster.

可以在该消息中包含所有群集节点的列表以及群集的其他特定消息。

可以定制 /etc/issue/etc/motd 文件,使其包括与群集相关的信息。

使用程序包配置 OPS 实例的启动和关闭脚本

为使群集节点上的 OPS 实例可以自动启动和关闭,您可以创建程序包,并使这些程序包可以激活适当的卷组,然后运行 OPS。请参考“第 6 章“配置程序包及其服务””一章中的““创建程序包以启动 OPS 实例””一节。

注释:OPS 实例的最大数目是每群集 127 个。

启动 Oracle 实例

Oracle 安装完成之后,请确保所有程序包控制脚本在每个节点上都已准备就绪,而且每个 /etc/rc.config.d/cmcluster 脚本都包含 AUTOSTART_CMCLD=1 条目。然后重新引导每个节点。重新引导后几分钟内,群集就会重组,而且程序包控制脚本将启动数据库实例和应用程序。

Oracle 启动之后,可以在两个节点上使用 SAM 进程管理功能或 ps -ef 命令来验证所有 OPS 守候进程和 Oracle 进程是否都在运行。

手动启动和关闭

如果在启动和关闭 OPS 实例时不希望使用程序包,可以执行下列步骤。

  • 启动过程包括下列步骤:

    1. 启动群集(cmrunnodecmruncl)。

    2. 以共享模式激活数据库卷组或磁盘组。

    3. 以共享模式启动 Oracle。

    4. 启动 Oracle 应用程序(如果有)。

  • 关闭过程包括下列步骤:

    1. 关闭 Oracle 应用程序(如果有)。

    2. 关闭 Oracle。

    3. 停用数据库卷组或磁盘组。

    4. 关闭群集(cmhaltnodecmhaltcl)。

如果关闭时未遵循上述步骤,cmhaltclcmhaltnode 命令可能会失败,并出现一条消息指出 GMS 客户机 (OPS 8i) 或共享卷组处于活动状态。

管理单节点群集

MC/ServiceGuard 群集需要的节点数取决于您希望保护的应用程序的处理要求。您可以通过配置单节点群集来充分利用 MC/ServiceGuard 的网络故障保护优势。

在单节点群集中,由于群集中没有其他节点,因此群集锁是不必要的。如果仅有一个节点,cmquerycl 命令的输出将省略群集锁信息区域。

您仍然需要具有冗余网络,但是不必指定任何心跳线 LAN,因为没有接收心跳线信息的其他节点。在群集配置 ASCII 文件中,请指定希望 ServiceGuard 监视的所有 LAN。对于已有 IP 地址的 LAN,可以使用 STATIONARY_IP 关键字(而非 HEARTBEAT_IP 关键字)指定它们。对于备用 LAN,所要求的关键字是指定了 LAN 设备名的 NETWORK_INTERFACE

单节点操作

单节点操作既可在单节点群集上运行,也可在多节点群集上运行。当多节点群集出现以下情况时就会执行单节点操作:除一个节点之外其他节点都出现了故障;或除一个节点外其他节点都已关闭,此节点上可能正在运行应用程序。只要 MC/ServiceGuard 守候进程 cmcld 处于活动状态,其他节点就可稍后重新加入群集。

运行单节点操作时,如果 MC/ServiceGuard 守候进程出现了故障,则它将保持单节点和应用程序继续运行。这与多节点群集中的 MC/ServiceGuard 守候进程故障不同,多节点群集通过 TOC 暂停节点并导致程序包切换到代管节点。这种情况下,不需要暂停此单节点,因为应用程序仍在运行,并且当前没有其他节点可用于进行程序包切换。但是,不要尝试重新启动 MC/ServiceGuard,因为如果另一节点尝试启动正在单节点上运行的应用程序的新实例时,可能会发生数据破坏。请不要重新启动群集,而应该选择合适的时间关闭并重新启动节点,这样将允许应用程序关闭,然后允许 MC/ServiceGuard 在重新引导后重新启动群集。

删除群集配置

可以通过 SAM 或执行 cmdeleteconf 命令从所有群集节点上删除群集配置。如果未使用 -f 选项,删除文件之前会提示进行确认。只有在群集停用时才能删除配置。此操作将二进制配置文件从群集中的所有节点上删除,并将所有可识别群集的卷组设置为“不可识别群集的”。

注释:cmdeleteconf 命令只删除群集二进制文件 /etc/cmcluster/cmclconfig删除 /etc/cmcluster 目录下的其他文件。

尽管群集必须暂停,但在执行 cmdeleteconf 命令之前群集中的所有节点必须都已加电并且可以访问。如果某一节点掉电,请加电并引导。如果某一节点不可访问,将显示不可访问节点的列表以及以下消息:

It is recommended that you do not proceed with the configuration operation unless you are sure these nodes are permanently unavailable.Do you want to continue?

回答Yes 删除配置。稍后,如果不可访问的节点又可以访问了,则应在该节点上运行 cmdeleteconf 命令删除配置文件。

打印版本
保密声明 使用本网站表示您同意其使用条件
© Hewlett-Packard Development Company, L.P.