Проблема с командой pgpool failover

После запуска двух узлов postgres (первичный узел 0 и узел 1) и установки pgpool. Команда Pgpool failover по умолчанию принимает node0 в качестве основного. Мой вопрос в том, происходит ли отработка отказа и делает ли узел 1 основным, а через некоторое время, если отработка отказа происходит на узле 1 (основной), команда отработки отказа принимает его как резервный и пропускает отработку отказа, что приводит к тому, что кластер не имеет основного и не может принимать транзакции записи. Может ли кто-нибудь помочь мне внести изменения, необходимые для нормальной работы команды аварийного переключения.

pgpool v 4.1 и postgres v 9.6 со слотами репликации.


person venky    schedule 17.02.2021    source источник


Ответы (1)


Вот как это нормально работает:

Узел PostgreSQL, отсоединенный в результате аварийного переключения или переключения, никогда не вернется в предыдущее состояние (подключенное состояние) автоматически в настройках по умолчанию.

Взято из документов:

https://www.pgpool.net/docs/41/en/html/runtime-config-failover.html

После переключения на узел 1 у вас есть один узел, у вас больше нет резервного, узел 0 может полностью исчезнуть. У вас есть работа, чтобы воссоздать его, снова настроить репликацию и снова добавить в пул. Это может быть не так много, если бы это было короткое отключение сети, вы можете использовать функции auto_failback. Если риск использования только основного источника является большой проблемой и вы не можете этого терпеть, вам нужно больше резервных серверов.

Я бы прочитал приведенную выше документацию pgpool, используя ссылку и test, test, test.

person smbennett1974    schedule 17.02.2021