| 中国 |
|
|
|
![]() |
管理 Serviceguard 第 13 版 > 第 5 章 建立
HA 群集配置配置群集 |
|
本节说明如何定义基本群集配置。 必须在不是 Serviceguard 群集的一部分(即,安装了 Serviceguard 但未配置)的系统上执行此操作。
使用 cmquerycl 命令指定要包括在群集中的节点集,并生成群集配置文件的模板。节点名称不能超过 39 个字符。
下面是此命令的一个示例: # cmquerycl -v -C /etc/cmcluster/clust1.config -n ftsys9 -n ftsys10
以上示例在缺省情况下创建一个 ASCII 模板文件 /etc/cmcluster/clust1.config。在此输出文件中,关键字与定义之间由空格分开。允许包含注释,但必须在最左列的前面加上井字符 (#)。 cmquerycl 命令的联机帮助页进一步定义了此文件中出现的参数。还有很多参数在“规划”一章中进行了说明。可以根据需要使用群集工作表中您填充的数据修改 /etc/cmcluster/clust1.config 文件。
对于双节点群集来说,群集锁磁盘或 Quorum Server 是必需的。所有节点必须都可以访问该锁,并且该锁必须与节点分开供电。有关其他信息,请参阅第 3 章的“群集锁”。 要创建锁磁盘,请在群集名称之后输入锁磁盘信息。锁磁盘必须位于群集中所有节点都可访问的 LVM 卷组中。 使用 cmquerycl 创建的 ASCII 模板中提供的缺省 FIRST_CLUSTER_LOCK_VG 和 FIRST_CLUSTER_LOCK_PV 分别是连接到所有群集节点的磁盘的卷组和物理卷名称;如果有多个磁盘,则根据最小故障切换时间计算选择磁盘。应确保该磁盘符合电源布线要求。如果必要,请选择一个磁盘,并且为该磁盘供电的电路应是为群集中不到一半的节点供电的电路。 要显示磁盘的故障切换时间,请执行 cmquerycl 命令,以指定群集中的所有节点。该命令的输出会列出连接到每个节点的磁盘,以及与每个磁盘相关的重组时间。 请不要包括该节点的完整域名,例如,请指定 ftsys9,而不是 ftsys9.cup.hp.com: cmquerycl 不会输出当前属于群集的卷组的重组时间。如果希望 cmquerycl 输出卷组的重组时间,请运行 vgchange -c n <卷组名称> 从卷组中清除群集 ID。执行该操作后,请记住运行 vgchange -c y 卷组名称 将群集 ID 重写回卷组;例如: vgchange -c y /dev/vglock
如果您的配置中需要配置第二群集锁,请在群集配置文件中输入下列参数:
其中 /dev/volume-group 是第二卷组的名称,block-special-file 是所选卷组中某一锁磁盘的物理卷名称。应为每个节点添加这些行;例如:
或(通过 Agile 寻址;请参阅“关于设备文件名称(设备专用文件)”):
另请参阅“选择群集锁磁盘”。 要指定 Quorum Server 而不是指定磁盘,请使用 cmquerycl 命令的 -q 选项指定 Quorum Server 主机服务器。例如: # cmquerycl -n ftsys9 -n ftsys10 -q qshost 在此例中,生成的群集 ASCII 文件中包含用于定义 Quorum Server 的参数。文件中的这一部分如下所示:
输入 QS_HOST、QS_POLLING_INTERVAL以及(如果需要)QS_TIMEOUT_EXTENSION。 群集 ASCII 文件中包含与心跳线子网中的 IP 地址相对应的项。建议使用专用的心跳线子网,但也可以在其他子网上配置心跳线,包括数据子网。 心跳线必须在 IPv4 子网上,并且必须使用 IPv4 地址。不支持 IPv6 心跳线。
这将指定可在群集中配置的大多数程序包。 该参数值必须等于或大于群集中当前配置的程序包数。 此数目包括所有类型的程序包: 故障切换程序包、多节点程序包和系统多节点程序包。 对于 Serviceguard A.11.17,缺省值为 150,这是每个群集可允许的所有程序包的最大数目。
cmquerycl 命令为 HEARTBEAT_INTERVAL 和 NODE_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 -> 另请参阅《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_USER 和 CLUSTER_MEMBER_NODE)时。如果拼写错误,Serviceguard 就会假定所输入的内容指的是特定的用户或节点。您将无法对需要配置的访问策略进行配置。 群集上的超级用户可以在该群集运行时创建或修改访问策略。 通过单独的 VOLUME_GROUP 参数指定将在群集中使用的、群集可识别的每个卷组,将已配置的任何 LVM 卷组添加到 ASCII 群集配置文件中。当使用 cmapplyconf 命令时,将用群集 ID 初始化这些卷组。此外,应该将相应的卷组、逻辑卷和文件系统信息添加到用于激活卷组的每个程序包控制脚本中。此过程将在第 6 章中进行介绍。
在 Serviceguard Manager 中,可以单击“检查”按钮来验证配置。 如果您通过命令行编辑了一个 ASCII 群集配置文件,请使用下列命令验证该文件的内容:
如果群集处于联机状态,则此检查过程还会验证是否满足配置中的特定更改所需的所有条件。
指定所有群集参数后,即可应用该配置。该操作将二进制配置文件分发到群集中的所有节点上。建议在配置程序包之前单独进行此项操作(在下一章中讲述)。这样,您就可以在正在运行的群集上使用 cmviewcl 命令来验证群集锁、心跳线网络和其他群集级别的操作。分发配置之前,请确保您的安全文件允许在群集节点之间进行复制。请参考本章开头的“准备系统”一节。 执行下列步骤生成二进制配置文件,并将配置分发到群集中的所有节点上:
cmapplyconf 命令创建群集配置文件的二进制版本,并将其分发给群集中的所有节点。此操作确保该文件的内容在所有节点上都是一致的。请注意,cmapplyconf 命令不分发 ASCII 配置文件。
配置群集之后,针对已创建的各卷组使用 vgcfgbackup 命令创建 LVM 卷组配置的备份副本。如果必须更换卷组中的某个磁盘,您可以执行 vgcfgrestore 命令恢复该磁盘的元数据。在“故障排除”一章的“替换磁盘”中说明了此过程。 请确保对所有卷组(尤其是群集锁卷组)执行 vgcfgbackup。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||