Blog

Noticias

Anuncio del lanzamiento de pg_cirrus 1.0 – Configuración de clúster PostgreSQL sin complicaciones

Nos complace anunciar la disponibilidad general de pg_cirrus 1.0. Esta herramienta automatizada agiliza el proceso de configuración de un clúster de 3 nodos, simplificando significativamente para los usuarios la configuración y gestión de la alta disponibilidad en PostgreSQL.

Entendemos que la configuración de un clúster PostgreSQL puede ser una tarea compleja y lenta, por lo que hemos diseñado pg_cirrus para contribuir a que el proceso sea más rápido y eficiente.

Características principales

Gestión de la configuración

Hemos agilizado la gestión de la configuración con un script de envoltura en Python que ejecuta playbooks de ansible para nodos primarios, standby y pgpool. Los archivos de inventario y variables se generan dinámicamente durante la ejecución. Además, pg_cirrus puede configurar servidores de bases de datos PostgreSQL en puertos distintos del predeterminado 5432. 

Balanceo de carga

Hemos asegurado un balanceo de carga adecuado en el clúster de PostgreSQL utilizando pgpool. Esto significa que las peticiones WRITE van al servidor PostgreSQL primario y las peticiones READ a los servidores PostgreSQL en standby.

Failover automático

Si el nodo primario falla, uno de los nodos standby es promovido automáticamente como nuevo primario. Si el nodo primario recién promovido también falla, se promoverá al tercer nodo para que gestione tanto las peticiones READ como WRITE.

Experiencia del usuario

Para una mejor experiencia de usuario, pg_cirrus dispone de una interfaz de línea de comandos que recopila detalles de configuración del usuario durante la ejecución. Además, hemos proporcionado al usuario archivos de plantilla conf.yml.in, vault.yml.in e inventory.in. Los usuarios pueden ver también los logs de pgpool guardados en /var/log/pgpool_logs. Para evitar entradas inválidas, en pg_cirrus se emplea el manejo de excepciones. Si pg_cirrus falla durante la ejecución de un determinado playbook, el resto de playbooks no se ejecutarán y pg_cirrus se detendrá de forma correcta.

Replicación

En pg_cirrus, la replicación física se configura usando pg_basebackup. Todos los datos del nodo primario se replican a los nodos standby. Cuando se configura el nodo primario, se crean slots de replicación en el nodo primario a partir de los nodos standby. Después de un failover, cuando un nodo standby es promovido como nuevo nodo primario, se crea un slot de replicación en el nodo primario recién promovido y el nodo standby que queda continúa replicando desde este nuevo nodo primario.

Seguridad

Para garantizar la seguridad de pg_cirrus, las contraseñas se almacenan utilizando bóvedas ansible. Todos los nodos del cluster están restringidos a la misma subred y únicamente el nodo pgpool es accesible desde fuera de la subred usando una contraseña. Sólo es posible acceder a los nodos primario y standby con una contraseña desde dentro del clúster. 

Enlaces

Como ayuda para empezar a utilizar pg_cirrus, proporcionamos los siguientes recursos:

Información sobre Stormatics

Stormatics proporciona soluciones PostgreSQL para la empresa. Nuestra misión es ayudar a las empresas a utilizar PostgreSQL de forma fiable para sus cargas de trabajo de datos críticos.

Haz clic aquí para leer la noticia original en inglés en la página web oficial de PostgreSQL.