Используя два узла:
Установлены инструменты 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-адреса и добавления его к ресурсу ПК проверьте аварийное переключение.
На узле 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
Бегать pcs status
на узле 1:
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
в кластере. Заодно проверяем статус на node2, попал только один узел (node2
), слишком. То же, что и node1, не может найти другой узел в кластере.
Я попытался удалить кардиостимулятор, corosync и ПК и повторить все заново. Но после этого сделайте так:
yum remove pacemaker pcs
Затем подтвердите их:
pcs cluster auth node1 node2
Показали они Already authorized
.
В этот раз, как снова правильно объединить два узла в кластер? Хочу их четко убрать, как тогда делать?
Причина в межсетевом экране.
Поскольку Corosync использует транспорт UDP на портах 5404 и 5405, я добавил:
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
Кластер работает. Все узлы можно увидеть, и все они онлайн.