Replicacion Base de Datos PostgreSQL usando repmgr

EL presente instructivo tiene como finalidad, mostrar los pasos básicos necesario para la instalación y configuración de un proceso de replicación (maestro – esclavo) en PostgreSQL versión 9.6, utilizando repmgr versión 4.2

La replicación es la transmisión de información derivada de las modificaciones de estado, de una base de datos a otra, en pocas palabras, todas las operaciones que que modifiquen el estado de la BD se transmiten a otra BD que “replica” las operaciones, de forma que ambas BD tengan la misma información.

Dentro de las formas de replicación tenemos:

Maestro-maestro (multi-master): En éste modo, todos los nodos involucrados están en capacidad de ejecutar operaciones de Lectura/Escritura (read/writer). En pocas palabras, cualquier nodo involucrado está en capacidad de actualizar los datos. Para mantener la consistencia de los datos, el proceso de replicación involucra tareas de resolución de conflictos, en algunos casos según el número de nodos involucrados, puede aumentar la latencia en la comunicación.

Maestro-esclavo: En éste modo, todos los cambios son registrados en el nodo principal, el cual es el único habilitado para la función Lectura/Escritura (read/writer) y es el encargado de efectuar la replicación ha todos los nodos involucrados, los cuales sólo tienen capacidad para Lectura (read).
Un caso de uso típico para la replicación maestro – esclavo, con el modo en espera (standby), el esclavo funciona como una copia de seguridad del maestro y puede ser fácilmente activado en caso de un problema con el primario

repmgr es un conjunto de herramientas de código abierto para administrar la replicación y la conmutación por error en un clúster de servidores PostgreSQL. Mejora las capacidades incorporadas de Hot-Standby de PostgreSQL con herramientas para configurar servidores de reserva, monitorear la replicación y realizar tareas administrativas como failover o operaciones de cambio manual. La herramienta no replica los datos en sí, sino que le permite controlar fácilmente la reproducción, el modo de espera (hot standby) en el servidor (s) y controlar el estado de todo el proceso de replicación.

Como ya indicamos, el ejemplo que a continuación presentamos estará dirigido a la replicación maestro – Esclavo de dos nodos (master – esclavo) utilizando la herramienta repmgr.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación del servicio SSH (servidor y cliente)

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • postgresql-9.6 -> versión 9.6.8-1.pgdg90+1
  • repmgr -> versión 4.0.4

Continuar leyendo “Replicacion Base de Datos PostgreSQL usando repmgr”

Anuncios

Replicación Bases de Datos PostgreSQL modo: Replication Slots

EL presente instructivo tiene como finalidad presentar los pasos básicos necesarios para la instación y configuración del modo de replicación de Base de Datos “Replication slots” en PostgreSQL versión 9.4

El modo de replicación “Replication slots” está presente a partir de la versión 9.4 de postgreSQL. Éste modo proporcionan una forma automatizada que gerantiza que el servidor configurado como maestro no elimina segmentos WAL hasta que se asegure que hayan sido recibidas por todos los recursos (esclavos), además el maestro no elimina las filas que podría causar un conflicto de recuperación, incluso cuando se desconecta el modo de espera (esclavo).

En el modo de replicación “Streaming replication”, es posible evitar la eliminación de segmentos de archivos WAL viejos, utilizando la opción wal_keep_segments o mediante el almacenamiento de los segmentos en un directorio (archive) usando archive_command. Sin embargo, estos métodos a menudo resultan en la retención o almacenamiento de un números de segmentos de archivos WAL mayor a los quererido, mientras que en el modo “Replication Slots” sólo se retienen el número de segmentos necesarios, otra ventaja de éste módo es que limitan la necesidad de espacio para pg_xlog; actualmente no hay manera de hacer esto utilizando el modo de replicación “streaming replication”.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación del servicio SSH (servidor y cliente)
  • Se debe contar con instalación de postgresql 9.4 en servidor maestro y esclavo
  • Se debe tener configurado Relación de confianza conexión SSH http://wp.me/p13Tvb-ac

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

Configuración del maestro:

1. Editar archivo de configuración de postgres

operador@postgreSQL01:/# nano /etc/postgresql/9.4/main/postgresql.conf

Continuar leyendo “Replicación Bases de Datos PostgreSQL modo: Replication Slots”