Resolución de problemas de patroni¶
Info
Todo el procedimiento debe realizarse como root. Para elevar sus privilegios a root, puede utilizar el comando su -.
Atención
Para seguir este procedimiento, es necesario haber realizado las configuraciones adicionales para patronictl.
patroni es un orquestador de alta disponibilidad para PostgreSQL. Automatiza la gestión de un clúster de PostgreSQL asegurando la elección del líder, la conmutación por error (failover) y la sincronización de los nodos en caso de incidente.
En el clúster de PostgreSQL de CyberElements Bastion, patroni se apoya en etcd para almacenar y compartir el estado del clúster. Supervisa de forma continua el estado de las instancias de PostgreSQL y se asegura de que un solo nodo sea designado líder en un momento dado.
Si el nodo líder falla, patroni orquesta automáticamente una elección mediante el almacén de configuración distribuido etcd, con el fin de promover un nuevo líder y mantener la disponibilidad del servicio.
Por tanto, patroni depende de etcd y no puede funcionar correctamente si etcd no funciona.
Logs¶
Todo este procedimiento se basa en los logs del servicio patroni, que se obtienen con el siguiente comando:
1 | |
Consejo
Para consultar los logs en directo, añada la opción -f al comando:
1 | |
Info
Los logs de patroni también están disponibles en /var/log/syslog.
Explicación de los logs de error¶
ERROR: Request to server https://<PSQL_NODE_NAME>:2379 failed: MaxRetryError("HTTPSConnectionPool(host='<PSQL_NODE_NAME>', port=2379)
Cuando etcd no funciona o no es accesible, patroni puede escribir los siguientes errores:
1 2 3 4 5 6 7 8 | |
<PSQL_NODE_NAME>-
Nombre de uno de los nodos del clúster de PostgreSQL.
En este caso, es necesario resolver los problemas de etcd.