5.8. 配置故障切换域
故障切换域是节点集群的一个命名子集,可在节点失败事件中运行集群服务。故障切换域有以下特征:
- 无限制 — 可让您指定您喜欢的子集成员,但分配给这个域的集群服务可在任意成员中运行。
- 限制的 — 可让您限制可运行具体集群服务的成员。如果在限制的故障切换域中没有任何成员可用,则无法启动该集群服务(手动或者使用集群软件都不行)。
- 无序的 — 当为某个无序的故障切域分配集群服务时,运行该集群服务的域的成员是从可用故障切换域成员中随即挑选的。
- 有序的 — 可让您在故障切换域的成员间指定顺序。该列表顶端的成员是首选成员,接下来是列表中的第二个成员,依此类推。
- 返回 — 可让您指定是否让故障切换域中的服务返回节点失败前运行该服务的节点中。配置这个特性对节点会反复失败的环境很有用,且该节点是有序故障切换域的一部分。在那个环境中,如果某个节点是故障切换域中的首选节点,那么某个服务就可能不断在首选节点和另一个节点间进行故障切换和返回,从而影响服务器性能。
注意
只有在配置了有序故障切换时方可应用返回属性。
注意
更改故障切换域配置对当前运行中的服务没有影响。
注意
操作不需要故障切换域。
默认情况下故障切换域是无限制且无序的。
在有几个成员的集群中,使用限制的故障切换域可尽量减少配置集群运行集群服务(比如
httpd
)的工作,这些配置要求您在运行该集群服务的所有成员中设定完全相同的配置。与其设定整个集群运行该集群服务,您可以只在与该集群服务关联的限制故障切换域成员中进行设定。
注意
要配置首选成员,您可以创建只有一个集群成员的无限制故障切换域。这样做就让集群服务主要在那个集群成员(首选成员)中运行,但允许将该集群服务故障切换到任意其它成员中。
请执行以下步骤配置故障切换域:
- 请执行以下命令添加故障切换域:
ccs -h host --addfailoverdomain name [restricted] [ordered] [nofailback]
注意
该名称应可显示出与您集群中使用的其它名称在使用目的上有区别。例如:以下命令在无限制、有序且允许返回的node-01.example.com
中,配置名为example_pri
的故障切换域:ccs -h node-01.example.com --addfailoverdomain example_pri ordered
- 请执行以下命令在故障切换域中添加一个节点:
ccs -h host --addfailoverdomainnode failoverdomain node priority
例如:请执行以下命令在node-01.example.com
的配置文件中配置故障切换域example_pri
,这样它就包括优先权为 1 的node-01.example.com
,优先权为 2 的node-02.example.com
和优先权为 3 的node-03.example.com
:ccs -h node-01.example.com --addfailoverdomainnode example_pri node-01.example.com 1 ccs -h node-01.example.com --addfailoverdomainnode example_pri node-02.example.com 2 ccs -h node-01.example.com --addfailoverdomainnode example_pri node-03.example.com 3
您可使用以下命令列出在集群中配置的所有故障切换域和故障切换域节点:
ccs -h host --lsfailoverdomain
请执行以下命令删除故障切换域:
ccs -h host --rmfailoverdomain name
请执行以下命令从故障切换域中删除节点:
ccs -h host --rmfailoverdomainnode failoverdomain node
注:完成集群的所有组件配置后,需要在所有节点中同步该集群配置文件,如 第 5.15 节 “在集群节点中推广配置文件” 所述。