存储 频道

用 VxVM 创建存储基本结构(6)


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

用 ServiceGuard Manager 检查群集运行

ServiceGuard Manager 让您可以看到群集中的所有节点和程序包,并显示它们的当前状态。请参阅第 7 章中的“使用 ServiceGuard Manager”部分。使用 ServiceGuard Manager 时,建议您注意以下各项:

    *

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

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

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

当确定群集已正确配置后,保存配置数据的一个副本作归档用。此文件中的数据可用于与以后的群集版本比较,以发现过一段时间后有什么更改。

用 ServiceGuard 命令检查群集运行

MC/ServiceGuard 还为手动控制群集提供了以下几个命令:

    *

      cmrunnode,用于启动节点。
    *

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

      cmruncl,用于手动启动停止的群集。
    *

      cmhaltcl,用于手动停止群集。

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

   1.

      如果群集尚未启用,请像下面这样运行群集:

# cmruncl -v  

   2.

      当群集已启动时,请使用下面的命令来确保群集组件在正确运行:

# cmviewcl -v  

      确保所有节点和网络都在如期望的那样运行。有关使用 cmviewcl 的信息,请参阅“群集和程序包维护”一章。
   3.

      请使用下面的系列命令来验证节点是否如期望的那样进出群集:
          *

            在一个群集节点上,发出 cmhaltnode 命令。
          *

            使用 cmviewcl 命令验证节点已离开群集。
          *

            发出 cmrunnode 命令。
          *

            再次使用 cmviewcl 命令验证节点已恢复运行。
   4.

      使用下面的命令停用群集:

# cmhaltcl -v -f  

其他群集测试在“故障排除”一章中讲述。MC/ServiceGuard 命令的完整清单请参阅附录 A。

避免自动激活卷组

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

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

设置自动启动功能

自动启动是每个节点单独加入群集的过程;MC/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 文件以包括与群集相关的信息。

管理单节点群集

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

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

您仍需具有冗余网络,但是您不必指定任何心跳线 LAN,由于不存在要将心跳线发送到的其他节点。在群集配置 ASCII 文件中,指定您要镜像 ServiceGuard 的所有 LAN。对于已有 IP 地址的 LAN,可使用 STATIONARY_IP 关键字将其指定,而不要使用 HEARTBEAT_IP 关键。对于备用 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 命令以删除配置文件。
0
相关文章