Alta Disponibilidad con PgPool-II

9
Alta Disponibilidad Alta Disponibilidad con PgPoll-II con PgPoll-II Lenin Hernández @leninmhs Abril 2012

description

Presentación realizada en el 3er Encuentro de Bases de Datos Libres realizado por CNTI en CANTV el 04/05/2012. mas información en http://leninmhs.wordpress.com/2012/05/09/alta-disponibilidad-pgpool

Transcript of Alta Disponibilidad con PgPool-II

Page 1: Alta Disponibilidad con PgPool-II

Alta Disponibilidad Alta Disponibilidad con PgPoll-IIcon PgPoll-II

Lenin Hernández @leninmhs Abril 2012

Page 2: Alta Disponibilidad con PgPool-II

Camino recorrido

* 1er Encuentro -Sensibilización Técnica de directores de tecnología y DBAAsistentes : 20 instituciones (incluyendo AP y UP) ,total personas: 62; fecha: 07-04-2011; Auditorio Contraloría Gral de la República

2 talleres Demostrativos de migración de BD Oracle a Postgresql: Instituciones: 24; Personas: 63; fecha Junio 2011, en MTC y CANTV * 2do Encuentro - Servicios, soluciones y formaciónAsistentes: 41 instituciones; 296 personas; fecha: 04-10-2011; auditorio CANTV

Taller de Alta Disponibilidad en PostgreSQLOrientado a alta disponibilidad en bases de datos libresAsistentes; 30 instituciones; personas: 90; Fecha: Noviembre y diciembre 2011; lugar: ONCOP y CANTV

*3er Encuentro Plataforma Tecnológica y Soporte Técnico 04-05-2012Orientado a alto rendimiento en bases de datos libresDirigido a 300 personas de 61 Instituciones (incluyendo UP, sector académico y colectivos)

Agradecimiento a CNTI por la determinación de impulsar las bases de datos libres en la Administración Publica Nacional

“Un viaje de mil leguas comienza con un primer paso”

Aproximadamente 811 personas con voz y voto de hacer la diferencia en la adopción de bases de datos libres en APN

Page 3: Alta Disponibilidad con PgPool-II

Por lo general, consiste en● Servidor maestro (s)● Servidor esclavo (s)● Software para detectar la falta de un maestro● Software para promover un esclavo a maestro● Software o hardware para garantizar la coherencia de datos● entre el maestro (s) y el esclavo (s)● Software para restaurar el servicio luego de caída o falla

¿Que NO es alta disponibilidad en Bases de Datos?● Una forma de aumentar el rendimiento● Una manera de simplificar tu trabajo, la red, el mantenimiento● Fácil de implementar

Alta Disponibilidad (High Availability) <=> Continuidad operativa del servicio.

24 - 7

Page 4: Alta Disponibilidad con PgPool-II

pgpool-II

● Replicación● Balanceo de Cargas (Load Balance)● Tolerancia a fallos (FailOver)● Conexiones Agrupadas (Pool Connection)● Consultas Distribuidas (Parallel Query)● Limite de Conexiones Excedidas

Es una capa intermedia de software (middleware), que nos provee de una interfaz de conexión con uno o mas nodos de PostgreSQL. Nuestros clientes se conectaran en realidad al PgPool y este a su vez repartirá el trabajo a los Nodos según se haya configurado. Es una de las soluciones mas completade alta disponibilidad en software libre.

Nos Proporciona :

Page 5: Alta Disponibilidad con PgPool-II

Una imagen vale más que mil palabrasUna imagen vale más que mil palabras

PgPool-IIPgPool-IIIPPuertoUsuarioContraseña

IPPuertoUsuario

Contraseña

IPPuertoUsuario

Contraseña

IPPuertoUsuario

Contraseña

nodo1 nodo2 nodo3

Clientes

Se comporta como cliente y servidor

QRERy

QRERy

QRERy

QRERy

QRERy

QRERy

QRERy

Pool de servidores PostgreSQL

Agregar o eliminar nodos en caliente

Page 6: Alta Disponibilidad con PgPool-II

Puntos a favor de PgPool● Es Software Libre. Licencia BSD● Funciona sobre Linux,FreeBSD,Solaris y xUnix

● PostgreSQL >= 6.4 , más óptimo en >= 9.0● Comunidad y Desarrollo muy activo● Colabora con Slony y Streaming Replication

Versiones: 3.1.3 (23/04/12) – 3.1.2 (31/01/12) – 3.1.1 (6/12/11)

Otras soluciones de alta disponibilidad:

Bucardo

PgCluster

Slony RubyRep

PostgreSQL 9 Londiste

Mammoth

Page 7: Alta Disponibilidad con PgPool-II

Instalar PgPool-II

Configurar PgPool-II

Descargar CompilarDescomprimir cd pgpool3.1 ./configure –prefix=/opt/pgpool3/make make installCargar reglas y catálogos

●pgpool.conf●pcp.conf●pool_hba.conf

Tres (3) archivos de configuración:

listen_addresses = '*'port = 9999replication_mode = trueload_balance_mode = trueparallel_mode = truemaster_slave_mode = onbackend_hostname0 = '192.168.0.10'backend_port0 = 5432backend_weight0 = 1backend_hostname1 = '192.168.0.20'backend_port1 = 5433backend_weight1 = 1

aptitude install pgpool2Cargar reglas y catálogos

Camino largo, doloroso y recomendadopara entornos en producción Camino corto, varias

versiones atras, recomendado solo para pruebas

Page 8: Alta Disponibilidad con PgPool-II

PgPoolAdminPgPoolAdminHerramienta de Administración de PgPool de interfaz web, similar a PhpPgAdmin, escrita en PHP que nos permite administrar, configurar, monitoriar y aplicar algunas acciones sobre nuestra instalación de PgPool ó nuestros nodos.

Page 9: Alta Disponibilidad con PgPool-II

Gracias Totales...Gracias Totales...

Blog: leninmhs.wordpress.comCorreo: [email protected]: @leninmhs

Twitter: @tu_bd_libre