Я пытаюсь настроить пару серверов LDAP под управлением 389 (ранее Fedora DS) в режиме высокой доступности с помощью Pacemaker с плавающим IP-адресом. Кроме того, 389 поддерживает репликацию с несколькими мастерами, при которой все изменения на одном узле автоматически реплицируются на один или несколько других узлов.
Я довольно близок к тому, чтобы все заработало. Отказоустойчивость работает нормально. И репликация с несколькими мастерами работает нормально. Однако моя текущая конфигурация Pacemaker останавливает службу каталогов на неактивном узле. Это означает, что резервный узел не получает данные репликации от другого узла.
Как правильно настроить Pacemaker, чтобы:
Изначально конфигурация моего кардиостимулятора выглядела следующим образом:
property stonith-enabled=false
property no-quorum-policy=ignore
rsc_defaults resource-stickiness=100
primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive dirsrv lsb:dirsrv op monitor interval="10s"
order dirsrv-after-eip inf: elastic_ip dirsrv
colocation dirsrv-with-eip inf: dirsrv elastic_ip
Затем я изучил использование кардиостимулятора клоны:
property stonith-enabled=false
property no-quorum-policy=ignore
rsc_defaults resource-stickiness=100
primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive ldap lsb:dirsrv op monitor interval="15s" role="Slave" timeout="10s" op monitor interval="16s" role="Master" timeout="10s"
ms ldap-clone ldap meta master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 notify-true
colocation ldap-with-eip inf: elastic_ip ldap-clone:Master
order eip-after-promote inf: ldap-clone:promote elastic_ip:start
order ldap-after-eip inf: elastic_ip ldap-clone
К сожалению, это не совсем работает. pengine жалуется, что «ldap-clone: повышено 0 экземпляров из 1 возможного для управления», а затем останавливает службу LDAP.
Благодаря списку рассылки Pacemaker у нас есть решение. Проблема в том, что LSB-скрипт для 389 не понимает концепции master / slave. Самое простое решение - использовать простой клон, а не клон ведущий / ведомый. Новая конфигурация кардиостимулятора выглядит следующим образом:
property stonith-enabled=false
property no-quorum-policy=ignore
rsc_defaults resource-stickiness=100
primitive elastic_ip lsb:elastic-ip op monitor interval="10s"
primitive dirsrv lsb:dirsrv op monitor interval="15s" role="Slave" timeout="10s" op monitor interval="16s" role="Master" timeout="10s"
clone ldap-clone dirsrv
order ldap-after-eip inf: elastic_ip ldap-clone
colocation ldap-with-eip inf: elastic_ip ldap-clone