Общая настройка (самая первая для меня) 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.
Если я перезагружаю VPS, кластер остается в сети, а виртуальный IP-адрес перемещается на другой активный узел. Пока все нормально.
Вчера из-за DDoS-атаки IP-адрес одного из узлов оказался заблокированным. Остальные 3 не смогли подключиться к нему, и с тех пор коросинхронизация начал потреблять все возможные CPU и даже больше. Мне пришлось killall -9 corosync
чтобы вернуть серверы к жизни.
Кластер начал показывать, что все узлы отключены, даже локальный. Ничего не помогло, пробовал:
pcs cluster localnode remove node1
перезапущенные демоны, остановка / запуск кластера и т.д. коросинхронизация начинали расти каждый раз, когда это начиналось.
Думаю, я пропустил что-то очень очевидное, но все же не совсем уверен, что именно.
Кластер восстановился только после того, как отказавший узел вернулся в оперативный режим после 4 часов простоя.
Пожалуйста, дайте мне знать, что мне нужно настроить, чтобы кластер оставался в сети, даже если один-два узла недоступны.
С уважением, Алекс.