Использование двух узлов:
Установленные инструменты 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 и кардиостимулятора на обоих серверах:
systemctl enable corosync.service
systemctl enable pacemaker.service
Отключение STONITH
node1# pcs property set stonith-enabled=false
После создания плавающего IP-адреса и его добавления в Ресурс ПК, тестовое аварийное переключение.
На узле 1:
reboot
Затем возникла проблема. После перезагрузки снова запустите статус кластера ПК
, он показал:
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:
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
Не удается найти узел2
в кластер. Заодно проверяем статус на узле 2, тоже получил только один узел ( узел2
). То же, что и node1, не может найти другой узел в кластере.
Я попытался удалить кардиостимулятор, corosync и ПК и повторить это снова. Но после этого сделайте следующее:
yum remove pacemaker pcs
Затем подтвердите их:
pcs cluster auth node1 node2
Показано, что они Уже авторизованы
.
Как правильно снова объединить два узла в кластер? Я хочу четко их удалить, тогда как это сделать?
Причиной был брандмауэр.
Потому что 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
Кластер работает. Все узлы видны, и все они в сети.