Отказоустойчивый кластер HAProxy+Pacemaker+Corosync — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 43: | Строка 43: | ||
<font color=red>После этого кластером можно управлять с одного узла</font> | <font color=red>После этого кластером можно управлять с одного узла</font> | ||
+ | |||
+ | |||
+ | Создаем кластер | ||
+ | pcs cluster setup mycluster haproxy-test-01 haproxy-test-02 |
Версия 16:48, 12 июля 2023
Настройка производилась на Oracle Linux Server 8.8
Для построения кластера, будем использовать Pacemaker. Pacemaker - менеджер ресурсов кластера (Cluster Resource Manager), задачей которого является достижение максимальной доступности управляемых им ресурсов и защита их от сбоев как на уровне самих ресурсов, так и на уровне целых узлов кластера.
Архитектура pacemaker состоит из трех уровней:
- Кластеронезависимый уровень - на этом уровне располагаются сами ресурсы и их скрипты, которыми они управляются и локальный демон, который скрывает от других уровней различия в стандартах, использованных в скриптах (на рисунке зеленый).
- Менеджер ресурсов (Pacemaker), который представляет из себя мозг. Он реагирует на события, происходящие в кластере: отказ или присоединение узлов, ресурсов, переход узлов в сервисный режим и другие административные действия. Pacemaker исходя из сложившейся ситуации делает расчет наиболее оптимального состояния кластера и дает команды на выполнения действий для достижения этого состояния (остановка/перенос ресурсов или узлов). На рисунке обозначен синим.
- Информационный уровень - на этом уровне осуществляется сетевое взаимодействие узлов, т.е. передача сервисных команд (запуск/остановка ресурсов, узлов и т.д.), обмен информацией о полноте состава кластера (quorum) и т.д. На рисунке обозначен красным. Как правило на этом уровне работает Corosync.
Имеем два сервера с работающим HAProxy и два плавающих(виртуальных ip-адреса)
haproxy-test-01 172.19.0.190 haproxy-test-02 172.19.0.191 virtual_ip1 172.19.0.192 virtual_ip2 172.19.0.193
Для начала ставим нужные пакеты
yum install corosync pcs pacemaker
Для управления кластером используется утилита pcs. При установке Pacemaker автоматически будет создан пользователь hacluster. Для использования pcs, а также для доступа в веб-интерфейс нужно задать пароль пользователю hacluster
passwd hacluster
Запускаем сервис
systemctl start pcsd
Настраиваем аутентификацию (уже на одном узле)
pcs host auth haproxy-test-01 haproxy-test-02 Username: hacluster Password: haproxy-test-01: Authorized haproxy-test-02: Authorized
После этого кластером можно управлять с одного узла
Создаем кластер
pcs cluster setup mycluster haproxy-test-01 haproxy-test-02