我一直在 CentOS 6.4 上测试 Cluster Suite,它运行良好,但是今天我注意到 [8 月 8 日,这个问题最初被提出时] 它不喜欢之前工作的配置。我尝试使用 CCS 从头开始重新创建配置,但出现了验证错误。
8 月 21 日编辑:
我现在已经从 CentOS 6.4 x86_64 最小安装完全重新安装了该框,并添加了以下软件包及其依赖项:
yum install bind-utils dhcp dos2unix man man-pages man-pages-overrides nano nmap ntp rsync tcpdump unix2dos vim-enhanced wget
和
yum install rgmanager ccs
以下命令均有效:
ccs -h ha-01 --createcluster test-ha
ccs -h ha-01 --addnode ha-01
ccs -h ha-01 --addnode ha-02
ccs -h ha-01 --addresource ip address=10.1.1.3 monitor_link=1
ccs -h ha-01 --addresource ip address=10.1.1.4 monitor_link=1
ccs -h ha-01 --addresource ip address=10.110.0.3 monitor_link=1
ccs -h ha-01 --addresource ip address=10.110.8.3 monitor_link=1
ccs -h ha-01 --addservice routing-a autostart=1 recovery=restart
ccs -h ha-01 --addservice routing-b autostart=1 recovery=restart
ccs -h ha-01 --addsubservice routing-a ip ref=10.1.1.3
ccs -h ha-01 --addsubservice routing-a ip ref=10.110.0.3
ccs -h ha-01 --addsubservice routing-b ip ref=10.1.1.4
ccs -h ha-01 --addsubservice routing-b ip ref=10.110.8.3
并产生以下配置:
<?xml version="1.0"?>
<cluster config_version="13" name="test-ha">
<fence_daemon/>
<clusternodes>
<clusternode name="ha-01" nodeid="1"/>
<clusternode name="ha-02" nodeid="2"/>
</clusternodes>
<cman/>
<fencedevices/>
<rm>
<failoverdomains/>
<resources>
<ip address="10.1.1.3" monitor_link="1"/>
<ip address="10.1.1.4" monitor_link="1"/>
<ip address="10.110.0.3" monitor_link="1"/>
<ip address="10.110.8.3" monitor_link="1"/>
</resources>
<service autostart="1" name="routing-a" recovery="restart">
<ip ref="10.1.1.3"/>
<ip ref="10.110.0.3"/>
</service>
<service autostart="1" name="routing-b" recovery="restart">
<ip ref="10.1.1.4"/>
<ip ref="10.110.8.3"/>
</service>
</rm>
</cluster>
但是,如果我使用ccs_config_validate
或尝试启动该cman
服务,它会失败并显示:
Relax-NG validity error : Extra element rm in interleave
tempfile:10: element rm: Relax-NG validity error : Element cluster failed to validate content
Configuration fails to validate
发生了什么事?这以前是有效的!
答案1
我认为您缺少故障转移域,如果您想在 redhat 集群上定义服务,首先您需要定义一个故障转移域,您可以对许多服务使用一个故障转移域,也可以每个服务使用一个故障转移域。
如果你需要有关故障转移域的更多信息“man clurgmgrd”
故障转移域是服务可以绑定到的成员的有序子集。以下
是控制选项的语义列表,用于说明不同的配置选项如何影响故障转移域的行为:
答案2
经过更多调整后,它又开始工作了yum update
。我比较了新旧版本/var/lib/cluster/cluster.rng
,令人惊讶的是,它们之间存在差异。系统上不起作用的那个缺少元素的任何定义<ip>
。
该系统的当前版本是从同一张精简版 CD 安装的,我有一个逐步的剪切和粘贴命令程序,在我开发它时,这个程序曾多次奏效,然后失败了近两个月,现在又开始起作用了。我已经组装了大约六次盒子,所以我想这不是程序的问题。
这可能是 Red Hat 的失误,但我不确定如何找出过去两个月中对此文件进行了哪些更改。