如何在 CentOS 7 上彻底删除 pacemaker、corosync 和 pcs?

如何在 CentOS 7 上彻底删除 pacemaker、corosync 和 pcs?

使用两个节点:

  • 节点1:192.168.0.1
  • 节点2:192.168.0.2

在两台服务器上安装 HA 工具:

yum install pacemaker pcs

(它将包括安装 corosync)

在两台服务器上:

passwd hacluster

为集群设置相同的密码。

在两台服务器上:

systemctl enable pcsd.service
systemctl start pcsd.service

验证集群节点:

node1# pcs cluster auth 192.168.0.1 192.168.0.2

全部已成功验证。

生成corosync配置:

node1# pcs cluster setup --name mycluster 192.168.0.1 192.168.0.2

启动集群:

node1# pcs cluster start --all

成功。

确认状态:

pcs status corosync

Output
Membership information
----------------------
    Nodeid      Votes Name
         2          1 192.168.0.2
         1          1 192.168.0.1 (local)

获取有关集群当前状态的更多信息:

pcs cluster status

Output
Cluster Status:
 ...
 Stack: corosync
 ...
 2 nodes and 0 resources configured
 Online: [ node1 node2 ]

PCSD Status:
  node1 (192.168.0.1): Online
  node2 (192.168.0.2): Online

在两台服务器上启用 corosync 和 pacemaker 服务:

systemctl enable corosync.service
systemctl enable pacemaker.service

禁用 STONITH

node1# pcs property set stonith-enabled=false

创建浮动IP并将其添加到pcs资源后,测试故障转移。

在节点 1 上:

reboot

然后就出问题了。重启后,pcs cluster status再次运行,显示:

  Cluster Status:
   Stack: corosync
   Current DC: centos7lb1 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum
   Last updated: Sun Jul 23 23:47:53 2017         Last change: Fri Jul 21 05:56:32 2017 by hacluster via crmd on node1
   1 node and 0 resources configured

  PCSD Status:
    node1 (192.168.0.1): Online
    *Unknown* (192.168.0.2): Online

在节点1上运行pcs status

    Cluster name: mycluster
    WARNING: corosync and pacemaker node names do not match (IPs used in setup?)
    Stack: corosync
    Current DC: node1 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum
    Last updated: Sun Jul 23 23:58:22 2017          Last change: Fri Jul 21 05:56:32 2017 by hacluster via crmd on node1

    1 node and 0 resources configured

    Online: [ node1 ]

    No resources


    Daemon Status:
      corosync: active/disabled
      pacemaker: active/disabled
      pcsd: active/enabled

在集群中找不到node2。同时检查节点 2 上的状态,node2也只有一个节点 ( )。与节点 1 相同,在集群中找不到其他节点。


我尝试删除 pacemaker、corosync 和 pcs,然后重新执行。但之后出现如下错误:

yum remove pacemaker pcs

然后对其进行验证:

pcs cluster auth node1 node2

表明他们Already authorized

这时候如何才能把这两个节点重新正确的加入到集群中呢?我明确想移除他们,那怎么办呢?

答案1

原因就是防火墙。

由于 Corosync 在端口 5404 和 5405 上使用 UDP 传输,因此我添加了:

iptables -I INPUT -m state --state NEW -p udp -m multiport --dports 5404,5405 -j ACCEPT
iptables -I OUTPUT -m state --state NEW -p udp -m multiport --sports 5404,5405 -j ACCEPT
service iptables save

并停止/启动所有集群:

pcs cluster stop --all
pcs cluster start --all

同时跑了:

service corosync restart

集群正常运行。可以看到所有节点,并且所有节点均在线。

相关内容