Как правильно настроить репликацию между двумя нодами с помощью repmgr?
Не особо силен в терминалогии и настройке отказоустойчивых систем, но сверху прилетает задача и начинаешь открывать, для себя все новые и новые горизонты.(человек который придумывал схему, ни разу ее не внедрял)
взял за основу данную инструкцию, так как она наиболее подходит для решения поставленной задачи. Имеется 2 ноды с развернутыми на них Postgresql-10. Хосты прописал, ssh-ключи раскидал, отключил автостарт postgresql. Настроил repmgr. Главный сервер зарегестрировал как мастер.
master:
pg_hba.conf (добавлено внизу):
local replication repmgr trust
host replication repmgr 127.0.0.1/32 trust
host replication repmgr 192.168.1.0/24 trust
local repmgr repmgr trust
host repmgr repmgr 127.0.0.1/32 trust
host repmgr repmgr 192.168.1.0/24 trust
host all all 0.0.0.0/32 md5
postgresql.conf(добавлено снизу):
listen_addresses='*'
wal_level = 'replica'
archive_mode = on
wal_log_hints = on
wal_keep_segments = 0
archive_command = 'cd .'
max_replication_slots = 5
hot_standby = on
shared_preload_libraries = 'repmgr'
max_connections = 800
max_wal_senders = 10
port = 5433
pg_stat_statements.max = 10000
pg_stat_statements.track = all
/etc/repmgr.conf:
cluster=test
node_id=1
node_name=node1
use_replication_slots=1
conninfo='host=pghost195 port=5433 user=repmgr dbname=repmgr'
pg_bindir='/usr/lib/postgresql/10/bin'
data_directory='/var/lib/postgresql/10/main/'
slave:
/etc/repmgr.conf:
cluster=avanpost_test
node_id=2
node_name=node2
use_replication_slots=1
conninfo='host=pghost196 port=5433 user=repmgr dbname=repmgr'
pg_bindir='/usr/lib/postgresql/10/bin'
data_directory='/var/lib/postgresql/10/main/'
Хочу зарегестрировать сервер как slave командой:
rm -rf main/* (удаляю данные из /var/lib/postgresql/10/main)
repmgr -h pghost195 -p 5433 -U repmgr -d repmgr -D main -f /etc/repmgr.conf --copy-external-config-
files=pgdata --verbose standby clone
данные приходят, файлы появляются в папке. при выполнении команды
pg_ctl -D /var/lib/postgresql/10/main start
получаю ошибку:
postgres@user-virtual-machine:/home/user$ pg_ctl -D /var/lib/postgresql/10/main start
ожидание запуска сервера....2020-05-06 19:41:10.065 GMT [4643] СООБЩЕНИЕ: открыть каталог конфигурации "/var/lib/postgresql/10/main/conf.d" не удалось: Нет такого файла или каталога
2020-05-06 19:41:10.065 GMT [4643] ВАЖНО: файл конфигурации "/var/lib/postgresql/10/main/postgresql.conf" содержит ошибки
прекращение ожидания
pg_ctl: не удалось запустить сервер
Изучите протокол выполнения.
В чем может быть проблема?