Proyecto
Proyecto
Proyecto
Proyecto Integrado:
Implantacin de una
base de datos
distribuida con
PostGreSQL.
Creacin de un sistema que consta de dos equipos, los
cuales implementarn una base de datos distribuida,
en modo replicacin con el fin de que cuando un
equipo no pueda responder a una solicitud , el
segundo equipo responda con la informacin siempre
actualizada.
ndice
Planteamiento: ......................................................................................................................... 2
Sobre PostgreSQL.................................................................................................................. 2
Sobre pgpool-II...................................................................................................................... 3
Arquitectura del sistema: .......................................................................................................... 4
Instalacin y configuracin de Turnkeylinux: ............................................................................. 6
Configuracin inicial: ............................................................................................................. 6
El sistema Raid .......................................................................................................................... 9
Creacin de RAID 1:............................................................................................................. 10
Primera solucin: .................................................................................................................... 16
Esquema: ............................................................................................................................ 16
Ventajas .............................................................................................................................. 17
Desventajas ........................................................................................................................ 17
Desarrollo de la Primera implementacin............................................................................ 18
Segunda solucin .................................................................................................................... 21
Desarrollo de la segunda implementacin. .......................................................................... 21
Arquitectura del sistema: .................................................................................................... 22
Configuracin bsica de pgpool-II............................................................................................ 24
Prueba de replicacin:......................................................................................................... 29
Tercera solucin...................................................................................................................... 30
Desarrollo de la tercera implementacin............................................................................. 30
Configuracin de pgpool para realizar la alta disponibilidad. ............................................... 31
Parada y Arranque de pgpool-II ............................................................................................... 33
1
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Planteamiento:
La finalidad de mi proyecto es instalar,configurar y mantener un clster de
servidores de base de datos PostgreSQL gestionados mediante un
middleware llamado pgpool-II.
Sobre PostgreSQL
2
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Sobre pgpool-II
3
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
4
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
http://www.turnkeylinux.org/
PostgreSQL 9.1
Servicio SSH
Servicio Web con aplicacin webmin y PGmyadmin y otra aplicacin
web muy curiosa que nos proporciona una interfaz Shell en nuestro
navegador preferido.
5
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Configuracin inicial:
6
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Servers:
TurkeyLinux 1 :
Primera interfaz de red en bridged con IP
esttica(192.168.5.101).
Segunda interfaz de red en host-only con IP
esttica (192.168.56.101).
TurkeyLinux 2 :
Primera interfaz de red en bridged con IP
esttica(192.168.5.102).
Segunda interfaz de red en host-only con IP
esttica (192.168.56.102).
7
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Como son mquinas virtuales lo que utilizo le he dado 10GB a cada disco
duro:
Destinaremos el primer disco duro para el SO de equipo.
Y los dos restantes irn destinados al sistema RAID.
a. OJO: los discos duros del sistema RAID deben de tener el
mismo tamao en caso de eleccin de RAID de nivel 1.
8
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
El sistema Raid
9
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Creacin de RAID 1:
10
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
11
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
apt-get update
12
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Vemos el resultado:
13
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Ahora vemos que nuestro raid est creado y que la sincronizacion se est
realizando.
14
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
/etc/postgresql/9.1/main/postgresql.conf
15
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Primera solucin:
Esquema:
Host maestro:
Address: 192.168.56.101
Netmask: 255.255.255.0
Host Esclavo:
Address: 192.168.56.102
Netmask: 255.255.255.0
16
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Ventajas
Sencillo de implementar.
Todo lo que se haga en el servidor principal, incluyendo sentencias DLL,
se replica en el secundario.
Puede usarse para aligerar la carga del servidor principal.
Desventajas
17
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Archivo postgresql.conf
1. En el primario configuramos:
18
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
8. Para que el servidor maestro utilice SCP sin que solicite el password
del usuario postgres, necesitamos generar el par de claves pblica y
privada y aadir la publica al servidor esclavo.
19
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
20
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Segunda solucin
21
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Apt-get update
Apt-get install gcc
Apt-get install make
Apt-get install libpq-dev
22
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
wget http://www.pgpool.net/download.php?f=pgpool-II-
3.3.0.tar.gz
tar -xvf [paquete]
cd paquete
sudo su
./configure
make
make install
Pgpool-II utiliza los trminos backend y frontend , backend los utiliza para
referirse a los equipos que componentes del ncleo de nuestro sistema de
base de datos mientras que el trmino frontend lo utiliza para referirse al
middware que hace de pasarela entre los clientes y los backends.
23
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
./configure prefix=[ruta_donde_queramos]
24
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
1. Modo replicacin:
25
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
2. Modo master-eslave:
26
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
health_check_period > 0
27
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Como configurar los modos para que acepten la replicacin por parte de
pgpool?
postgresql.conf:
Configuracin simple:
pg_hba.conf:
28
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Prueba de replicacin:
29
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Tercera solucin.
30
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
pgpool.conf:
Habilitamos watchdog:
Configuramos la IP virtual
31
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
El usuario de chequeo:
Configuramos el heartbeat
32
Implantacin de una base de datos distribuida PostgreSQL y con funciones de alta
disponibilidad
Arranque:
Parada
33