Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Replicación PostgreSQL con Slony

No description
by

Carlos Cevallos

on 29 January 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Replicación PostgreSQL con Slony

Replicación PostgreSQL con Slony
Requisitos básicos
Instalación de Slony-I
Para instalar Slony-I, abriremos la consola de nuestro S.O y ejecutaremos la siguiente orden:
Comprobación de instalación de Slony-I
Para comprobar que nuestra instalación se ha efectuado correctamente, y que el servicio está funcionando, ejecutaremos la siguiente orden
Preparación de entorno de PostgreSQL
Antes de comenzar la configuración e implementación de Slony, tenemos que preparar nuestro PostgreSQL y sus ficheros de configuración:
Configuración de Slony-I para replicación
A partir de este punto, la configuración de maestro y esclavo se hacen independiente
Réplica y comprobación
Una vez se están ejecutando ambos scripts en cada servidor, procederemos a ejecutar el lanzador de Slony, llamado slon.
Necesitamos dos equipos que harán de maestro-esclavo, que tengan instalado correctamente los siguientes programas:
PostgreSQL 9.1
pgAdmin3
Slony-I
Creación de usuario
Creamos un usuario con el que efectuaremos las operaciones de replicación
Este usuario se crea dentro de PostgreSQL
Configuración de pg_hba.conf
En este fichero, se encuentra la configuración de conexiones de nuestro servidor
Tendremos que añadir unas lineas, en las cuales especificamos nuestros dos servidores, maestro y esclavo.
La dirección IP del servidor maestro será: 192.168.0.10

La dirección IP del servidor esclavo será:
192.168.0.20
IMPORTANTE:
Las siguientes configuraciones se realizarán en ambos servidores, en el maestro y esclavo.

Habrá un momento, que las configuraciones serán diferentes. Ya lo indicaremos cuando ocurra esto.
Esta configuración, recordamos, será en ambos equipos
Configuración de postgresql.conf
Este archivo se encuentra en el directorio de instalación de PostgreSQL, en nuestro caso en:
/etc/postgres/9.1/main
En este fichero, configuraremos la línea que nos indica la escucha según qué direcciones
Por defecto, viene comentada, osea, no cumple ninguna función
La linea es #listen_addresses ="localhost" por defecto
La linea quedará de la siguiente forma:
Creación de base de datos
Crearemos una base de datos con el mismo nombre que indicamos en pg_hba.conf, en nuestro caso my_db
Configuración de .pgpass
En este fichero se configura la conexión de cada servidor con su usuario y contraseña
Este fichero se encuentra en /home/username
Configuración de maestro
Configuración de esclavo
En este paso, crearemos un script para el servidor maestro, y así poder crear el "clúster" de la base de datos para la réplica
El script lo crearemos dentro del directorio de instalación de Slony (en nuestro caso /usr/bin)
El script lo llamaremos "mestre.ctl" y es el siguiente:
Crearemos un script llamado subscriptor.ctl en el directorio de Slony-I (en nuestro caso /usr/bin)
Este script nos permite recibir y enviar los nodos del clúster del maestro
El script es el siguiente:
Carga de los ficheros
Ahora enseñaremos cómo ejecutar los scripts (mestre.ctl y subscriptor.ctl y establecer la conexión entre nodos de ambos servidores
Carga del script de maestro
Nos situamos en el directorio de Slony-I del servidor maestro y ejecutamos el servicio junto al script creado
Carga del script de esclavo
Nos situamos en el directorio de Slony-I, pero del servidor esclavo, y ahí ejecutamos subscriptor.ctl
Configuración de ruta de Slony-I dentro de pgAdmin3
Debemos indicar a pgAdminIII la ruta de Slony-I, para que así pueda trabajar con este servicio
Para entrar a esta ventana es File>Options>General
Slon está situado en el directorio de instalación de Slony (en nuestro caso /usr/bin
Este proceso se hace en ambos servidores
Aquí, podemos ver como tras ejecutar slon, se empieza a ejecutar varias ordenes, como por ejemplo, sincronización de los nodos, de la hora de servidores, así como también se efectúan procesos de autenticación del usuario usuari_slony que creamos
Como podemos ver, ahora ejecutamos la misma orden pero en el esclavo. También se nos ejecuta correctamente
Comprobación de la replicación
Ahora, efectuaremos las replicaciones y comprobaremos que los nodos están correctamente creados tras haber ejecutado el script y el programa slon con las ordenes correspondientes
En ambas columnas, en la pestaña Slony Replication, podemos ver los dos nodos creados, maestro y esclavo.
Podremos apreciar también todos los datos que pusimos previamente, como ID, o qué tabla va a replicar. En el lado izquierdo, que es la captura de maestro, podemos ver que tiene un subscriptor (esclavo). Incluso podemos ver también el nodo originador.
Comprobación final
En la siguiente captura, podemos ver como modificamos una tabla de nuestra base de datos en el maestro (captura izquierda)
En la siguiente captura, podremos ver como tras guardar, y actualizar en la tabla de la captura derecha (esclavo), se actualiza correctamente con los datos introducidos en el maestro.
MAESTRO

ESCLAVO
MAESTRO
ESCLAVO
Recargar tabla
Introducimos datos
Esto ha sido todo, ahora ya podremos tener una réplica en entorno maestro-servidor de nuestra base de datos.
Trabajo hecho por:

Carlos Cevallos Manzano
Luis Romero Ballesta
Full transcript