alta disponibilidad con pgpool-ii
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-pgpoolTRANSCRIPT
Alta Disponibilidad Alta Disponibilidad con PgPoll-IIcon PgPoll-II
Lenin Hernández @leninmhs Abril 2012
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
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
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 :
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
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
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
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.
Gracias Totales...Gracias Totales...
Blog: leninmhs.wordpress.comCorreo: [email protected]: @leninmhs
Twitter: @tu_bd_libre