Эта статья относится к устаревшей версии Dion on-premise 2024.05
Документация по актуальной версии Dion on-premise 2024.10 доступна по ссылке.
В кластере PostgreSQL WAL-логи (журналы предзаписи) сохраняются в течение трех часов. После этого времени старые WAL-логи удаляются, что ограничивает возможности восстановления реплик, отставших по времени более чем на этот срок. Если реплика отстала настолько, что не может получить необходимые WAL-логи, она теряет возможность синхронизации с текущим состоянием кластера и не сможет самостоятельно восстановиться.
Посмотреть текущий статус можно на странице haproxy
http://vip_infra:7003/
dc-1-infra-ha-01 не является мастером и не может быть репликой коды L7STS/503 или L4TOUT - являются ошибкой.
Для проверки работы реплики, необходимо зайти на ВМ инфры и выполнить команду:
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml list
Реплика не может восстановится самостоятельно, решение:
docker stop pgsql
sudo rm -rf /var/lib/dion/infra/pgsql/main/
docker start pgsql
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml list
Полезные команды
мемберы etcd
docker exec -i infra_etcd etcdctl member list
сменить мастера
docker exec -it pgsql patronictl -c /etc/dion/infra/pgsql/conf/patroni.yml switchover --leader dc-2-infra-ha-01 --candidate dc-1-infra-ha-01
etcd добавить мембера
docker exec -i infra_etcd etcdctl member add dc-1-infra-ha-new --peer-urls=http://10.0.19.100:2380 --endpoints=http://10.0.19.100:2379