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

配置群集

» 

技术文档资料

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

 » 目录

 » 索引

本节说明如何定义基本群集配置。 必须在不是 Serviceguard 群集的一部分(即,安装了 Serviceguard 但未配置)的系统上执行此操作。

  • 要使用 Serviceguard Manager 配置群集,请打开 System Management Homepage (SMH) 并选择 Tools->Serviceguard Manager

    有关详细信息,请参阅“使用 Serviceguard Manager”

  • 要使用 Serviceguard 命令配置群集,请按照下一节中的说明执行操作。

使用 Serviceguard 命令配置群集

使用 cmquerycl 命令指定要包括在群集中的节点集,并生成群集配置文件的模板。节点名称不能超过 39 个字符。

注释:指定节点名时,请不要包括域名,例如,请指定 ftsys9,而不是 ftsys9.cup.hp.com

下面是此命令的一个示例:

cmquerycl -v -C /etc/cmcluster/clust1.config -n ftsys9 -n ftsys10 

注释:在包含多个节点、网络或磁盘的较大、较复杂的群集中,cmquerycl 命令可能需要几分钟的时间才能完成。为了加快配置过程,可以使用 -k-w 选项,使命令直接返回所选择的信息:

-k 消除一些磁盘探测,并且不返回有关潜在群集锁卷组和锁物理卷的信息。

-w local 指定进行本地网络探测,这种情况下,只验证每个节点内部接口之间的 LAN 连接。

-w full 指定进行整个网络探测,这种情况下,验证群集中所有节点上所有 LAN 接口之间的实际连接。这是缺省值。

-w none 跳过网络查询。如果最近检查过网络,该选项将节省时间。

有关详细信息,请参阅 cmquerycl(1m) 联机帮助页

以上示例在缺省情况下创建一个 ASCII 模板文件 /etc/cmcluster/clust1.config。在此输出文件中,关键字与定义之间由空格分开。允许包含注释,但必须在最左列的前面加上井字符 (#)。

cmquerycl 命令的联机帮助页进一步定义了此文件中出现的参数。还有很多参数在“规划”一章中进行了说明。可以根据需要使用群集工作表中您填充的数据修改 /etc/cmcluster/clust1.config 文件。

注释:HP 强烈建议修改此文件,以便通过所有可能的网络发送心跳线。

指定锁磁盘

对于双节点群集来说,群集锁磁盘或 Quorum Server 是必需的。所有节点必须都可以访问该锁,并且该锁必须与节点分开供电。有关其他信息,请参阅第 3 章的“群集锁”。

要创建锁磁盘,请在群集名称之后输入锁磁盘信息。锁磁盘必须位于群集中所有节点都可访问的 LVM 卷组中。

使用 cmquerycl 创建的 ASCII 模板中提供的缺省 FIRST_CLUSTER_LOCK_VGFIRST_CLUSTER_LOCK_PV 分别是连接到所有群集节点的磁盘的卷组和物理卷名称;如果有多个磁盘,则根据最小故障切换时间计算选择磁盘。应确保该磁盘符合电源布线要求。如果必要,请选择一个磁盘,并且为该磁盘供电的电路应是为群集中不到一半的节点供电的电路。

要显示磁盘的故障切换时间,请执行 cmquerycl 命令,以指定群集中的所有节点。该命令的输出会列出连接到每个节点的磁盘,以及与每个磁盘相关的重组时间。

请不要包括该节点的完整域名,例如,请指定 ftsys9,而不是 ftsys9.cup.hp.com
cmquerycl -v -n ftsys9 -n ftsys10 

cmquerycl 不会输出当前属于群集的卷组的重组时间。如果希望 cmquerycl 输出卷组的重组时间,请运行 vgchange -c n <卷组名称> 从卷组中清除群集 ID。执行该操作后,请记住运行 vgchange -c y 卷组名称 将群集 ID 重写回卷组;例如:

vgchange -c y /dev/vglock

注释:除非您的配置特别需要,否则应配置第二锁卷组或物理卷。请参阅第 3 章“群集锁”一节中有关“双群集锁”的讨论。

如果您的配置中需要配置第二群集锁,请在群集配置文件中输入下列参数:

SECOND_CLUSTER_LOCK_VG /dev/volume-group
SECOND_CLUSTER_LOCK_PV /dev/dsk/block-special-file

其中 /dev/volume-group 是第二卷组的名称,block-special-file 是所选卷组中某一锁磁盘的物理卷名称。应为每个节点添加这些行;例如:

SECOND_CLUSTER_LOCK_VG /dev/vglock
SECOND_CLUSTER_LOCK_PV /dev/dsk/c4t0d0

或(通过 Agile 寻址;请参阅“关于设备文件名称(设备专用文件)”):

SECOND_CLUSTER_LOCK_VG /dev/vglock
SECOND_CLUSTER_LOCK_PV /dev/disk/disk100

另请参阅“选择群集锁磁盘”

指定 Quorum Server

要指定 Quorum Server 而不是指定磁盘,请使用 cmquerycl 命令的 -q 选项指定 Quorum Server 主机服务器。例如:

# cmquerycl -n ftsys9 -n ftsys10 -q qshost

在此例中,生成的群集 ASCII 文件中包含用于定义 Quorum Server 的参数。文件中的这一部分如下所示:

# Quorum Server Parameters.Use the QS_HOST, QS_POLLING_INTERVAL,
# and QS_TIMEOUT_EXTENSION parameters to define a quorum server.
# The QS_HOST is the host name or IP address of the system
# that is running the quorum server process.The
# QS_POLLING_INTERVAL (microseconds) is the interval at which
# The optional QS_TIMEOUT_EXTENSION (microseconds) is used to increase
# the time interval after which the quorum server is marked DOWN.
#
# The default quorum server interval is calculated from the
# Serviceguard cluster parameters, including NODE_TIMEOUT and
# HEARTBEAT_INTERVAL.If you are experiencing quorum server
# timeouts, you can adjust these parameters, or you can include
# the QS_TIMEOUT_EXTENSION parameter.
#
# For example, to configure a quorum server running on node
# "qshost" with 120 seconds for the QS_POLLING_INTERVAL and to
# add 2 seconds to the system assigned value for the quorum server
# timeout, enter:
#
# QS_HOST qshost
# QS_POLLING_INTERVAL 120000000
# QS_TIMEOUT_EXTENSION 2000000

输入 QS_HOSTQS_POLLING_INTERVAL以及(如果需要)QS_TIMEOUT_EXTENSION

标识心跳线子网

群集 ASCII 文件中包含与心跳线子网中的 IP 地址相对应的项。建议使用专用的心跳线子网,但也可以在其他子网上配置心跳线,包括数据子网。

心跳线必须在 IPv4 子网上,并且必须使用 IPv4 地址。不支持 IPv6 心跳线。

注释:如果正在使用 VERITAS CVM 3.5 磁盘组,则只能配置一个心跳线子网(应是专用子网)。此子网上的每个系统都必须配置有备用 LAN,以确保具有高可用性心跳线路径(4.1 版配置可以有多个心跳线)。 并非所有系统均支持 CVM;
请参阅“关于 VERITAS CFS 和 CVM”

指定最大已配置的程序包数

这将指定可在群集中配置的大多数程序包。

该参数值必须等于或大于群集中当前配置的程序包数。 此数目包括所有类型的程序包: 故障切换程序包、多节点程序包和系统多节点程序包。

对于 Serviceguard A.11.17,缺省值为 150,这是每个群集可允许的所有程序包的最大数目。

注释:请记住调节每个节点的 HP-UX 内核参数,确保将其设置得足够大,以便使最大数量的程序包能同时在此节点上运行。

修改群集定时参数

cmquerycl 命令为 HEARTBEAT_INTERVALNODE_TIMEOUT 提供了缺省群集定时参数。更改这些参数将直接影响群集的重组和故障切换次数。如果群集偶尔因系统负载重或网络通信量大而导致重组,那么修改这些参数将很有用。

NODE_TIMEOUT 为缺省值 2 秒时,故障切换时间通常为 30 秒。如果 NODE_TIMEOUT 改为 10 秒,就意味着群集管理器要等待 5 倍长的时间后才能确定一个节点是否超时;这样,故障切换时间也将增加 5 倍,达到大约 150 秒。NODE_TIMEOUT 至少必须是 2*HEARTBEAT_INTERVAL。根据经验,最好是一个 NODE_TIMEOUT 至少包含两个或三个心跳线。有关节点超时的详细信息,请参阅“节点超时时发生的情况”

优化

您可以单独购买 Serviceguard Extension for Faster Failover (SGeFF) 产品。如果该产品已安装,配置文件中就会显示用于启用该产品的参数。

通过 SGeFF,可以减少 Serviceguard 处理故障切换的时间。但它无法更改程序包及应用程序正常关闭和重新启动的时间。

SGeFF 对群集配置具有一定的要求,如群集配置模板文件所述。

有关详细信息,请参阅 http://www.docs.hp.com ->
High Availability
上发布的《Serviceguard Extension for Faster Failover Release Notes》。

另请参阅《Optimizing Failover Time in a Serviceguard Environment》(可从 http://www.docs.hp.com -> High Availability -> Serviceguard -> White Papers 获得)。

访问控制策略

从 Serviceguard A.11.16 开始,访问控制策略允许非超级用户使用常用管理命令。

要使图形用户界面 Serviceguard Manager 的非超级用户能够查看和管理 Serviceguard 群集和程序包,需要为这些用户配置访问策略。如果使用新配置,最好至少配置一个监视访问策略。

输入文本时请检查拼写是否有误,特别是在键入通配符(如 ANY_USERCLUSTER_MEMBER_NODE)时。如果拼写错误,Serviceguard 就会假定所输入的内容指的是特定的用户或节点。您将无法对需要配置的访问策略进行配置。

群集上的超级用户可以在该群集运行时创建或修改访问策略。

有关详细信息,请参阅“访问角色”“编辑安全文件”

添加卷组

通过单独的 VOLUME_GROUP 参数指定将在群集中使用的、群集可识别的每个卷组,将已配置的任何 LVM 卷组添加到 ASCII 群集配置文件中。当使用 cmapplyconf 命令时,将用群集 ID 初始化这些卷组。此外,应该将相应的卷组、逻辑卷和文件系统信息添加到用于激活卷组的每个程序包控制脚本中。此过程将在第 6 章中进行介绍。

注释:如果正在使用 CVM 磁盘组,应该在完成群集配置之后执行“使用 VERITAS Cluster Volume Manager (CVM) 创建存储基础结构和文件系统”中介绍的步骤配置 CVM 磁盘组。如第 6 章所述将 VERITAS 磁盘组添加到程序包配置文件中。并非所有系统均支持 CVM,请参阅“关于 VERITAS CFS 和 CVM”

验证群集配置

在 Serviceguard Manager 中,可以单击“检查”按钮来验证配置。

如果您通过命令行编辑了一个 ASCII 群集配置文件,请使用下列命令验证该文件的内容:

cmcheckconf -k -v -C /etc/cmcluster/clust1.config 

这两种方法都会检查下列内容:

  • 网络地址和连接。

  • 群集锁连接(如果正在配置锁磁盘)。

  • 群集和程序包配置参数的有效性。

  • 名称的唯一性。

  • 命令行中指定的脚本是否存在及其权限。

  • 指定的所有节点是否都在同一个心跳线子网中。

  • 是否指定了错误的配置文件名。

  • 是否可以访问所有节点。

  • 是否指定了唯一的 CLUSTER_NAMEHEARTBEAT_INTERVALAUTO_START_TIMEOUT

  • 程序包运行和暂停脚本超时值是否小于 4294 秒。

  • NODE_TIMEOUT 值至少是 HEARTBEAT_INTERVAL 值的两倍。

  • AUTO_START_TIMEOUT 变量的值是否 >=0。

  • 心跳线网络的最低要求。群集必须配置下列之一:一个心跳线 LAN 和一个备用心跳线 LAN;两个心跳线 LAN;或一个无本地 LAN 切换的心跳线网络,并配有一个主 LAN(配置为至少两个接口的链路聚合)。

  • 至少指定了一个 NODE_NAME

  • 每个节点均连接到每个心跳线网络。

  • 所有心跳线网络都是相同类型的 LAN。

  • 指定的网络接口设备文件是有效的 LAN 设备文件。

  • VOLUME_GROUP 项当前未标记为“群集可识别的”。

  • (在支持 CVM 的系统上)如果使用的是 CVM 3.5 磁盘存储,则只有一个已配置的心跳线子网。

如果群集处于联机状态,则此检查过程还会验证是否满足配置中的特定更改所需的所有条件。

注释:使用 -k 选项意味着 cmcheckconf 只检查在 ASCII 文件中标识的至 LVM 磁盘的磁盘连接。忽略 -k 选项(缺省行为)意味着 cmcheckconf 测试所有节点上所有 LVM 磁盘的连接。使用 -k 选项可以明显加快命令的执行速度。

分发二进制配置文件

指定所有群集参数后,即可应用该配置。该操作将二进制配置文件分发到群集中的所有节点上。建议在配置程序包之前单独进行此项操作(在下一章中讲述)。这样,您就可以在正在运行的群集上使用 cmviewcl 命令来验证群集锁、心跳线网络和其他群集级别的操作。分发配置之前,请确保您的安全文件允许在群集节点之间进行复制。请参考本章开头的“准备系统”一节。

使用 Serviceguard Manager 分发二进制文件

输入完信息后,请单击“应用”。

通过命令行分发二进制文件

执行下列步骤生成二进制配置文件,并将配置分发到群集中的所有节点上:

  • 激活群集锁卷组,以便初始化锁磁盘:

    vgchange -a y /dev/vglock  
  • 生成二进制配置文件并分发该文件:

    cmapplyconf -k -v -C /etc/cmcluster/clust1.config   

    # cmapplyconf -k -v -C /etc/cmcluster/clust1.ascii
    注释:使用 -k 选项意味着 cmapplyconf 只检查在 ASCII 文件中标识的至 LVM 磁盘的磁盘连接。忽略 -k 选项(缺省行为)意味着 cmapplyconf 测试所有节点上的所有 LVM 磁盘的连接。使用 -k 选项可以明显加快命令的执行速度。
  • 停用群集锁卷组。

    vgchange -a n /dev/vglock  

cmapplyconf 命令创建群集配置文件的二进制版本,并将其分发给群集中的所有节点。此操作确保该文件的内容在所有节点上都是一致的。请注意,cmapplyconf 命令不分发 ASCII 配置文件。

注释:除非在应用之前在一个节点上激活了群集锁卷组,否则应用过程将不会完成。 此规则有一个例外: 先前在同一物理卷和卷组上配置了一个群集锁。

应用配置后,必须停用群集锁卷组。

存储卷组和群集锁配置数据

配置群集之后,针对已创建的各卷组使用 vgcfgbackup 命令创建 LVM 卷组配置的备份副本。如果必须更换卷组中的某个磁盘,您可以执行 vgcfgrestore 命令恢复该磁盘的元数据。在“故障排除”一章的“替换磁盘”中说明了此过程。

请确保对所有卷组(尤其是群集锁卷组)执行 vgcfgbackup

注释:无论是使用 System Management Homepage (SMH)、SAM 还是 HP-UX 命令创建卷组,都必须使用 vgcfgbackup 命令存储群集锁磁盘的配置数据的副本。

如果需要在群集运行时更换群集锁磁盘,您必须vgcfgrestore 命令将锁信息恢复到替换磁盘上。如果未进行此操作,则在锁磁盘的所有冗余副本都发生故障且更换机制或 LUN 未恢复锁配置时,将导致整个群集发生故障(如果群集锁磁盘配置在磁盘阵列中,RAID 保护可提供群集锁数据的冗余副本。Mirrordisk/UX 不镜像群集锁信息)。

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