7.2. 生成配置基本集群配置文件
如果安装了集群硬件、红帽企业版 Linux 和高可用性附加组件软件,您就可以创建一个集群配置文件(
/etc/cluster/cluster.conf
)并开始运行高可用性附加组件。本小节论述了如何创建没有 fencing、故障切换以及 HA 服务的配置文件框架,这只是个开始。后续的小节将论述如何在配置文件中配置那些部分。
重要
这只是创建集群配置文件的临时步骤,所生成的文件不包含任何 fencing,也不会将其视为支持的配置。
以下步骤描述了如何创建并配置集群配置文件框架。最终,您集群的配置文件在节点数、fencing 类型、HA 服务的类型及数目以及其它具体位置要求方面会有所不同。
- 在集群中的任意节点使用 例 7.1 “
cluster.conf
示例:基本配置” 中的示例模板创建/etc/cluster/cluster.conf
。 - (可选),如果您要配置有两个节点的集群,您可以在配置文件中添加以下行允许单节点以便维持法定数(例如:如果一个节点失败):
<cman two_node="1" expected_votes="1"/>
您在cluster.conf
文件中添加或删除two_node
选项时,必须重启该集群以便在更新配置时使更改生效。有关更新集群配置的详情请参考 第 8.4 节 “更新配置”。指定two_node
选项的示例请参考 例 7.2 “cluster.conf
示例:基本双节点配置”。 - 使用
cluster
属性:name
和config_version
指定集群名称以及配置版本号(请参考 例 7.1 “cluster.conf
示例:基本配置” 或者 例 7.2 “cluster.conf
示例:基本双节点配置”)。 - 在
clusternodes
部分,请使用clusternode
属性:name
和nodeid
为每个节点指定节点名称和节点 ID。 - 保存
/etc/cluster/cluster.conf
。 - 根据集群方案(
cluster.rng
)通过运行ccs_config_validate
命令验证该文件。例如:[root@example-01 ~]#
ccs_config_validate
Configuration validates - 将配置文件推广到每个集群节点的
/etc/cluster/
。例如:您可以使用scp
命令将该文件推广到其他集群节点中。注意
在首次创建集群时需要使用这个方法推广集群配置文件。安装并运行集群后,可使用cman_tool version -r
传推广群配置文件。可以使用scp
推广更新的配置文件,但使用scp
命令时必须在所有节点中停止集群软件。另外,如果您使用scp
推广更新的配置文件,则应该运行ccs_config_validate
。注意
当在同一配置文件中有其他元素和属性时(例如:fence
和fencedevices
),就不需要现在推广它们。本章后面的步骤提供有关指定其他元素和属性的信息。 - 启动集群。在每个集群节点中运行以下命令:
service cman start
例如:[root@example-01 ~]#
service cman start
Starting cluster: Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Starting gfs_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ] - 在任意集群节点中运行
cman_tool nodes
,确认那些节点作为集群的成员运行(在状态列 "Sts" 中被标记为 "M")。例如:[root@example-01 ~]#
cman_tool nodes
Node Sts Inc Joined Name 1 M 548 2010-09-28 10:52:21 node-01.example.com 2 M 548 2010-09-28 10:52:21 node-02.example.com 3 M 544 2010-09-28 10:52:21 node-03.example.com - 如果集群正在运行,请执行 第 7.3 节 “配置 Fencing”。
基本配置示例
例 7.1 “
cluster.conf
示例:基本配置” 和 例 7.2 “cluster.conf
示例:基本双节点配置”(双节点集群)提供最基本的集群配置示例。本章的后续步骤将提供有关配置 fencing 和 HA 服务的信息。
例 7.1. cluster.conf
示例:基本配置
<cluster name="mycluster" config_version="2"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> </cluster>
例 7.2. cluster.conf
示例:基本双节点配置
<cluster name="mycluster" config_version="2"> <cman two_node="1" expected_votes="1"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> </cluster>
双节点集群中 totem
的 consensus
值
您创建双节点集群且不想之后为该集群添加附加节点时,您应该忽略
cluster.conf
文件 totem
标签的 consensus
值,以便根据以下规则自动计算 consensus
值:
- 如果有两个或者少于两个节点,
consensus
值将在 200 毫秒到 2000 毫秒之间(token * 0.2)。 - 如果有三个或者三个以上节点,
consensus
值为 token + 2000 毫秒。
如果
cman
工具以这种方式配置您的 consensus 超时,那么将来您从两个节点移动到三个(或者更多)节点就需要重启集群,因为 consensus 超时需要根据 token 超时改为较大的值。
如果您要配置一个双节点集群,并想要在将来升级到两个以上节点,您可以覆盖这个 consensus 超时以便当从两个节点移动到到三个(或者更多)节点时不需要重启集群。您可以在
cluster.conf
中进行如下操作以达到此目的:
<totem token="X" consensus="X + 2000" />
注:这个配置解析程序不会自动计算 X+ 2000。您在此必须使用整数而不是等式。
在双节点集群中使用优化的 consensus 超时的优点是总体上降低了双节点故障切换耗时,因为 consensus 不是 token 超时的功能。
注:在
cman
的双节点自动探测中,物理节点数是那些有用的节点而不是 cluster.conf
文件中出现的 two_node=1
指令。