repmgr - как сделать предыдущий основной сервер резервным после аварийного переключения

После выполнения аварийного переключения предыдущий основной сервер был отключен, а старый резервный сервер стал основным, как и ожидалось.

$  repmgr -f /etc/repmgr.conf cluster show --compact
ID | Name            | Role    | Status    | Upstream | Location | Prio. | TLI

----+-----------------+---------+-----------+----------+----------+-------+-----

1  | server1         | primary | - failed  |          | default  | 100   | ?

2  | server2         | primary | * running |          | default  | 100   | 2

3  | PG-Node-Witness | witness | * running | server2  | default  | 0     | 1

Я хотел бы, чтобы старый основной сервер присоединился к кластеру в качестве резервного.

Я так понимаю, это должна сделать команда rejoin.

Однако, когда я пытаюсь воссоединиться с ним, чтобы стать новым резервным, я получаю это (я запускаю это на старом первичном, который не работает):

repmgr -f /etc/repmgr.conf -d 'host=10.9.7.97 user=repmgr dbname=repmgr' node rejoin 

--где 10.9.7.97 - это IP-адрес узла, с которого я работаю.

Я получаю эту ошибку:

$ repmgr -f /etc/repmgr.conf -d 'host=10.97.7.97 user=repmgr dbname=repmgr' node rejoin  --verbose -
NOTICE: using provided configuration file "/etc/repmgr.conf"
ERROR: connection to database failed
DETAIL:
could not connect to server: Connection refused
        Is the server running on host "10.97.7.97" and accepting
        TCP/IP connections on port 5432?

Конечно, postgres не работает на 10.9.7.97 — старом основном сервере.

Однако, если я начну его, он запустится как еще один основной:

$  repmgr -f /etc/repmgr.conf cluster show --compact

 ID | Name            | Role    | Status    | Upstream | Location | Prio. | TLI

----+-----------------+---------+-----------+----------+----------+-------+-----

 1  | server1         | primary | ! running |          | default  | 100   | 1

 2  | server2         | primary | * running |          | default  | 100   | 2

 3  | PG-Node-Witness | witness | * running | server2  | default  | 0     | 1
  • так как же сделать старый основной новый резервным...?

Спасибо


person Tamar    schedule 05.07.2020    source источник


Ответы (1)


По-видимому,

-d 'host=

в команде rejoin следует указать текущий основной (предыдущий резервный).

person Tamar    schedule 06.07.2020