我正在关注http://clusterlabs.org/doc/en-US/Pacemaker/1.1-pcs/html/Clusters_from_Scratch/_verify_corosync_installation.html在 AWS 中设置 2 节点集群的文档。两个节点都安装了 Pacemaker,并且启用了 FW 规则。当我在两个节点上运行 pcs status 命令时,我收到消息称另一个节点处于 UNCLEAN(脱机)状态。
我设置的两个节点是 ha1p 和 ha2p。
ha1p 上的输出
[root@ha1 log]# pcs status
Cluster name: mycluster
WARNING: no stonith devices and stonith-enabled is not false
Last updated: Wed Dec 24 21:30:44 2014
Last change: Wed Dec 24 21:27:44 2014
Stack: cman
Current DC: ha1p - partition with quorum
Version: 1.1.11-97629de
2 Nodes configured
0 Resources configured
Node ha2p: UNCLEAN (offline)
Online: [ ha1p ]
Full list of resources:
ha2p 上的输出
[root@ha2 log]# pcs status
Cluster name: mycluster
WARNING: no stonith devices and stonith-enabled is not false
Last updated: Wed Dec 24 21:30:44 2014
Last change: Wed Dec 24 21:27:44 2014
Stack: cman
Current DC: ha2p - partition with quorum
Version: 1.1.11-97629de
2 Nodes configured
0 Resources configured
Node ha1p: UNCLEAN (offline)
Online: [ ha2p ]
Full list of resources:
/etc/cluster/cluster.conf内容如下:
[root@ha1 日志]# cat /etc/cluster/cluster.conf
<cluster config_version="9" name="mycluster">
<fence_daemon/>
<clusternodes>
<clusternode name="ha1p" nodeid="1">
<fence>
<method name="pcmk-method">
<device name="pcmk-redirect" port="ha1p"/>
</method>
</fence>
</clusternode>
<clusternode name="ha2p" nodeid="2">
<fence>
<method name="pcmk-method">
<device name="pcmk-redirect" port="ha2p"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices>
<fencedevice agent="fence_pcmk" name="pcmk-redirect"/>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>
任何帮助将非常感激。
答案1
是的,您需要确保您在集群定义中使用的主机名不是 /etc/hosts 中 127.0.0.1 行中的主机名。
所以,我的/etc/hosts
样子是这样的:
127.0.0.1 cluster-node1 domain.com localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.1 node1
192.168.0.2 node2
答案2
发生这种情况是因为您的集群没有完整的 stonith 配置,处于不干净状态意味着集群不知道节点的状态。
答案3
也许您可以编辑 /etc/hosts 文件,并删除包含 127.0.0.1 和 ::1 的行(提及 localhost 的行)。我遇到了同样的问题,我尝试使用此方法,并解决了问题。
答案4
我遇到了同样的问题,原因是两个节点的时间不匹配。ntp/chrony 同步后,问题得到解决。