Resolução de problemas do patroni¶
Info
Todo o procedimento deve ser realizado como root. Para elevar os seus privilégios a root, pode utilizar o comando su -.
Atenção
Para seguir este procedimento, é necessário ter realizado as configurações adicionais para patronictl.
O patroni é um orquestrador de alta disponibilidade para PostgreSQL. Automatiza a gestão de um cluster PostgreSQL, assegurando a eleição do líder, a comutação por falha (failover) e a sincronização dos nós em caso de incidente.
No cluster PostgreSQL do CyberElements Bastion, o patroni apoia-se no etcd para armazenar e partilhar o estado do cluster. Monitoriza continuamente o estado das instâncias PostgreSQL e garante que apenas um nó é designado líder num dado momento.
Se o nó líder falhar, o patroni orquestra automaticamente uma eleição através do armazenamento de configuração distribuído etcd, a fim de promover um novo líder e manter o serviço disponível.
Por conseguinte, o patroni depende do etcd e não pode funcionar corretamente se o etcd não estiver a funcionar.
Logs¶
Todo o procedimento se baseia nos logs do serviço patroni, que obtém com o comando abaixo:
1 | |
Sugestão
Para acompanhar os logs em tempo real, adicione a opção -f ao comando:
1 | |
Info
Os logs do patroni também estão disponíveis em /var/log/syslog.
Explicação dos logs de erro¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Quando o etcd não está a funcionar ou não está acessível, o patroni pode escrever os seguintes erros:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Nome de um dos nós do cluster PostgreSQL.
Neste caso, é necessário resolver os problemas do etcd.