Corosync + Pacemaker 的常规设置(对我来说是第一次)是在 4 个具有 VirtualIP 的虚拟服务器上进行的,并借助 OpenVPN 组织了一个私有网络。
corosync-2.4.3-4.el7.x86_64
corosynclib-2.4.3-4.el7.x86_64
pacemaker-1.1.19-8.el7_6.4.x86_64
pacemaker-cli-1.1.19-8.el7_6.4.x86_64
pacemaker-cluster-libs-1.1.19-8.el7_6.4.x86_64
pacemaker-libs-1.1.19-8.el7_6.4.x86_64
pcs-0.9.165-6.el7.centos.1.x86_64
所以我这里有 4 个 VPS,运行 CentOS 7,运行 OpenVPN。集群状态处于正常状态:
# pcs status
Cluster name: hacluster
Stack: corosync
Current DC: node2 (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Sat Jun 15 14:00:36 2019
Last change: Sat Jun 15 02:25:39 2019 by hacluster via crmd on platinum
4 nodes configured
1 resource configured
Online: [ node1 node2 node3 master ]
Full list of resources:
virtualIP (ocf::heartbeat:IPaddr2): Started node1
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
一切运行正常。每个节点都可以使用 172.16.172.0/24 地址 ping 另一个节点。
如果我重新启动 VPS,集群将保持在线状态,虚拟 IP 将移动到另一个活动节点。到目前为止一切正常。
昨天,由于 DDoS 攻击,其中一个节点的 IP 地址被黑洞了。因此,其他 3 个节点无法连接到它,并且从那时起同步开始消耗所有可能的 CPU 甚至更多。我不得不killall -9 corosync
让服务器恢复运行。
集群开始显示所有节点都处于离线状态,甚至本地节点也是如此。没有任何帮助,尝试过:
pcs cluster localnode remove node1
重新启动守护进程,停止/启动集群等。CPU 消耗同步每次启动时都会开始增长。
我想我错过了一些非常明显的东西,但我仍然不太确定它到底是什么。
只有在故障节点停机 4 小时后重新上线后,集群才恢复。
请让我知道我需要进行哪些调整才能保持集群在线,即使一两个节点无法访问。
问候,亚历克斯。