第 5 章 使用 ccs 命令配置红帽高可用性附加组件
从红帽企业版 Linux 6.1 开始,红帽高可用性附加组件支持
ccs
集群配置命令。ccs
命令可让管理员创建、修改和查看 cluster.conf
集群配置文件。您可以使用 ccs
命令在本地文件系统,或者远程节点中配置集群配置文件。管理员还可以使用 ccs
命令在配置的集群的一个或者全部节点中启动或者停止集群服务。
本章由以下小节组成:
注意
请确定您部署的高可用性附加组件符合您的要求,且可被支持。请在部署前咨询授权红帽代表确认您的配置。另外还要预留一定的时间进行配置的失败模型测试。
注意
本章通常使用
cluster.conf
元素和属性作为参考。有关 cluster.conf
元素和属性的完整列表,请参考 /usr/share/cluster/cluster.rng
中的集群方案以及 /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
中有注释的方案(例如:/usr/share/doc/cman-3.0.12/cluster_conf.html
)。
5.1. 操作概述
本小节论述了以下使用
ccs
命令配置集群的常规操作:
5.1.1. 在本地系统中创建集群配置文件
使用
ccs
命令,您可以在集群节点中创建集群配置文件,或者在本地文件系统中创建集群配置文件,然后将其发送到集群的主机中。这可让您访问本地机器中的文件,使用版本控制维护该文件,或者根据您的需要标记该文件。使用 ccs
命令不需要 root 特权。
当您在集群节点中使用
ccs
命令创建并编辑集群配置文件时,请使用 -h
选项指定主机名。这样就可在该主机中创建并编辑 cluster.conf
文件:
ccs -h host [options]
要在本地系统中创建并编辑集群配置文件,请使用
ccs
命令的 -f
选项指定在执行集群操作时的配置文件名称。您可以使用任意名称命名该文件。
ccs -f file [options]
您在本地创建该文件后,可使用
ccs
命令的 --setconf
选项将其发送到集群节点中。在集群主机中会将您发送的文件命名为 cluster.conf
,并将其保存在 /etc/cluster
目录中。
ccs -h host -f file --setconf
5.1.2. 查看当前集群配置
如果在创建集群配置文件的过程中要打印当前文件,可使用以下命令,指定该集群中的某个节点作为主机:
ccs -h host --getconf
5.1.3. 使用 ccs 命令指定 ricci 密码
执行
ccs
命令在集群的节点中发布 cluster.conf
文件的副本需要在该集群节点中安装并运行 ricci,如 第 2.13 节 “ricci
注意事项” 所述。使用 ricci 时,第一次在任意具体机器中与 ricci 互动时要求输入密码。
如果您还没有在您正使用的机器中为具体机器中的 ricci 事务输入密码,在会在 是要
ccs
命令需要密码时提示您输入。您也可以使用 -p
选项在命令行中指定 ricci 密码。
ccs -h host -p password --sync --activate
当您在集群的所有节点中使用
ccs
命令的 --sync
选项推广 cluster.conf
文件, 并为该命令指定 ricci 密码时,ccs
命令将在该集群的每个节点中使用那个密码。如果您需要为 ricci 在独立节点中设定不同密码,您可以同时使用 --setconf
选项和 -p
选项,每次在一个节点中发布配置文件。
5.1.4. 修改集群配置组件
您使用
ccs
命令配置集群配置文件中的集群组件及其属性。您在该文件中添加集群组件后,要修改那个组件的属性,就必须删除已定义的组件,并使用修改的属性再次添加该组件。本章的各个小节提供了如何对每个组件进行此操作的信息。
cman
集群组件属性为修改集群组件的步骤提供一个例外。要修改这些属性,请执行附带 --setcman
选项的 ccs
命令,指定新的属性。注:指定这个选项会重置所有您没有为其默认值特别指定的所有值,如 第 5.1.5 节 “覆盖之前设置的命令” 所述。
5.1.5. 覆盖之前设置的命令
设定属性时,
ccs
命令使用的一些选项会覆盖警告。这意味着您可以在 ccs
命令中使用这些选项之一而无需指定任何设置,同时它会重新将所有设置恢复到其默认值。这些选项如下:
--settotem
--setdlm
--setrm
--setcman
--setmulticast
--setaltmulticast
--setfencedaemon
--setlogging
--setquorumd
例如:要重新设置该 fence 守护进程的所有属性,您可以运行以下命令:
# ccs -h hostname --setfencedaemon
注:如果您使用这些命令之一重置属性,那么该命令的其他属性会恢复到其默认值。例如:如果使用以下命令将
post_fail_delay
属性设定为 5:
# ccs -h hostname --setfencedaemon post_fail_delay=5
如果运行那个命令后,您运行以下命令将
post_join_delay
属性重新设定为 10,post_fail_delay
属性将恢复到其默认值:
# ccs -h hostname --setfencedaemon post_join_delay=10
要重置
post_fail_delay
和 post_join_delay
属性,您可以在同一命令中同时指定他们,如下示例所示:
# ccs -h hostname --setfencedaemon post_fail_delay=5 post_join_delay=10
有关配置 fence 设备的详情请参考 第 5.5 节 “配置 Fence 设备”。
5.1.6. 配置验证
当您使用
ccs
命令生成并编辑集群配置文件时,会根据集群方案自动验证该配置。从红帽企业版 Linux 6.3 开始,ccs
命令根据您使用 -h
选项所指定节点中位于 /usr/share/cluster/cluster.rng
文件的集群方案验证配置。之前 ccs
命令总是使用打包在 ccs
命令中的集群方案,即本地系统中的 /usr/share/ccs/cluster.rng
。当您使用 -f
选项指定本地系统时,ccs
命令仍使用那个系统中 ccs
自身拥有的集群方案 /usr/share/ccs/cluster.rng
。