Авто FailOver не работает в repmgr
Я успешно настроил два узла (Master & Satndby). Моя версия - repmgr 2.0 (PostgreSQL 9.3.6)
резервный repmgr.conf
cluster=test
node=2
node_name=node2
conninfo='host=192.168.1.218 user=repmgr_usr dbname=repmgr_db'
pg_bindir='/usr/lib/postgresql/9.3/bin'
master_response_timeout=30
reconnect_attempts=2
reconnect_interval=10
failover=automatic
Главный резервный repmgr.conf
cluster=test
node=1
node_name=master
conninfo='host=192.168.1.205 user=repmgr_usr dbname=repmgr_db'
pg_bindir=/usr/lib/postgresql/9.3/bin
master_response_timeout=30
reconnect_attempts=2
reconnect_interval=10
failover=automatic
promote_command='/etc/repmgr/auto_failover.sh'
Когда я останавливаю Резервный узел (служба Postgressql), я получаю следующий файл журнала repmgrd:
[WARNING] repmgrd: Connection to standby has been lost, trying to recover... 20 seconds before failover decision
[2015-04-02 20:47:43] [WARNING] repmgrd: Connection to standby has been lost, trying to recover... 10 seconds before failover decision
[2015-04-02 20:47:53] [ERROR] repmgrd: We couldn't reconnect for long enough, exiting...
[2015-04-02 20:47:53] [ERROR] Failed to connect to local node, exiting!
Не выполняются сценарии... Пожалуйста, помогите мне...
1 ответ
Для выполнения сценариев необходимо остановить главный узел, а не резервный узел, так как аварийное переключение будет происходить только в том случае, если мастер-узел выйдет из строя.
Также в вашем файле конфигурации postgresql /etc/postgresql/9.3/main/postgresql.conf
добавлять shared_preload_libraries = 'repmgr_funcs'
,
И в твоем /etc/repmgr/repmgr.conf
файл, добавьте также эти строки:
promote_command='repmgr standby promote -f /etc/repmgr/repmgr.conf'
follow_command='repmgr standby follow -f /etc/repmgr/repmgr.conf'
Чтобы быть уверенным, проверьте, если repmgrd
на самом деле работает, действуя ps aux | grep -i rep
,
Надеюсь, это поможет,
С наилучшими пожеланиями