GUÍA DE LABORATORIO Nº 9
Estructura de contenidos.
1. Introducción...3
2. Objetivos. ...4
3. Consideraciones...5
4. Procedimiento. ...6
4.1. Instalación del software de replicación Slony. ...6
4.1.1. Instalación manual de Slony ...6
4.1.2. Instalación de Slony mediante el stackbuilder.exe. ...7
4.2. Configuración del Firewall de Windows ...12
4.3. Configuración del SMBD pgAdmin3. ...14
4.4. Configuración del SMBD PostgreSQL. ...15
4.5. Creación de una maquina virtual y configuración en red. ...16
4.6. Configuración de la herramienta de replicación Slony. ...16
4.6.1. Script de configuración del nodo maestro ...16
4.6.2. Script de configuración del nodo esclavo. ...18
4.7. Puesta en funcionamiento del clúster replicación con Slony. ...18
1. Introducción.
Los sistemas computacionales que albergan los SMBD deben asegurar que los datos que se almacenan en ellas, cuentan con esquemas de replicación que garanticen la persistencia de los mismos ante cualquier situación que represente una amenaza para la disponibilidad e integridad de las bases de datos.
En este laboratorio se realizaran un conjunto de procedimientos que conducirán a la implementación de un sistema de bases de datos distribuido, para ello se utilizara el método de replicación maestro – esclavo. El SMBD instalado en los equipos que conforman el clúster de replicación seráPostgreSQL 8.4 y el software utilizado para realizar la replicación será SLONY-I.
Slony-I es un software de replicación asíncrono que sirve para crear y mantener sincronizadas una o varias copias de cualquier base de datos hecha en PostgreSQL. Slony-I realiza la sincronización de los datos a través de disparadores o triggers por lo que actualmente solo se puede realizar replicación de tablas y secuencias.
2. Objetivos.
Objetivo General.
Replicar la base de datos de la Secretaria de Salud de la Alcaldía de San Antonio SENA, utilizando el software de replicación Slony y el SMBD PostgreSQL.
Objetivos Específicos.
• Utilizar el software de replicación Slony para replicar una base de datos hecha en PostgreSQL, mediante la implementación del método maestro-esclavo.
3. Consideraciones.
Antes de realizar los procedimientos planteados en este laboratorio, se recomienda al aprendiz haber considerado los siguientes ítems:
Ítem Descripción
Soporte Teórico Previo al desarrollo de este laboratorio se debe haber revisado:
• AA11OA1 - Bases de Datos Distribuidas.
• Material complementario: Manual para crear una red con maquinas virtuales.
Productos
requeridos Base de datos de la Secretaria de Salud de la alcaldía de San Antonio del SENA o en su defecto el script de construcción de estas bases de datos.
4. Procedimiento.
El laboratorio aborda los principales aspectos que deben ser tenidos en cuenta para realizar el proceso de replicación en un clúster utilizando el SMBD PostgreSQL y el software de replicación Slony-I.
Para iniciar con el procedimiento de replicación se debe ingresar a VirtualBox y crear una nueva maquina virtual llamada “Servidor Maestro”, la cual debe utilizar la unidad de almacenamiento “.vdi” que se proporciono al iniciar el proceso de formación. Es importante que la unidad de almacenamiento utilizada solo tenga instalado el sistemas operativo Microsoft Windows Server 2003.
Arranque la maquina virtual presionando el botón “Iniciar” el cual tiene como imagen el siguiente icono . Posteriormente descargue el instalador de PostgreSQL versión 8.4.15 desde el siguiente enlace http:// www.enterprisedb.com/products-services-training/pgdownload#windows y luego realice el procedimiento de instalación ejecutando el archivo “postgresql-8.4.15-1-windows.exe”. Recuerde que la contraseña de acceso debe ser “especializacion” y el puerto utilizado por PostgreSQL es el 5432.
4.1. Instalación del software de replicación Slony.
Este procedimiento puede ser realizado de dos formas, la primera descargando los archivos que componen el software de replicación y la segunda usando la aplicación “stackbuilder.exe”.
4.1.1. Instalación manual de Slony
Imagen 1: Archivo de descarga del Slony-I
En el interior del directorio 8.4 hay tres directorios mas denominados bin, lib y share; los archivos que hay en cada uno de ellos deberán ser copiados dentro de los directorios donde se encuentra instalado PostgreSQL de la siguiente manera:
Contenido del directorio “bin” copiarlo a C:\Archivos de programa\ PostgreSQL\8.4\bin
Contenido del directorio “lib” copiarlo a C:\Archivos de programa\ PostgreSQL\8.4\lib
Contenido del directorio “share” copiarlo a C:\Archivos de programa\ PostgreSQL\8.4\share
4.1.2. Instalación de Slony mediante el stackbuilder.exe.
Cuando se usa la aplicación “stackbuilder.exe” para descargar y posteriormente instalar el Slony, surgen problemas con algunas librerías usadas al momento de colocar en ejecución el software de replicación. Por esta razón dejo a manera de ejemplo el procedimiento que aparece a continuación:
Importante: Para desarrollar esta práctica instale el Slony-I de forma
manual.
Imagen 2. Conexión a internet del Stack Builder
Importante: Cabe señalar que para realizar la instalación del software de replicación Slony mediante la aplicación “stackbuilder.exe” es necesario disponer de conexión a internet.
Imagen 3. Selección del paquete Slony
En la siguiente ventana se muestra un resumen con los paquetes que se seleccionaron para descargar y en la parte inferior de la misma, se observa la ruta del directorio donde serán almacenados, si se desea esta puede ser modificada; luego presione el botón “Next” para comenzar con la descarga:
archivos han sido descargados con éxito, luego presione el botón “Next” para comenzar la descarga del software de replicación Slony:
Imagen 5. Notificación de terminación de la descarga
En esta ventana se solicitara la ruta donde se almacenaran los archivos correspondientes a la instalación del software de replicación Slony.
Imagen 7. Selección de directorio de Instalación del Slony
Imagen 8. Notificación de la Instalación a realizarse
Imagen 10. Notificación de finalización de la instalación
4.2. Configuración del Firewall de Windows
En la maquina virtual, diríjase a Inicio → Panel de control → Firewall de Windows.
Imagen 11. Acceso al Firewall de Windows
Imagen 12: Inicio del servicio de Firewall de WIndows
seleccione la opción “TCP” y después pulse el botón “Aceptar”.
El puerto 5432 es utilizado por PostgreSQL y con este procedimiento se dejara abierto este puerto en el servidor para aceptar conexiones de las maquinas hacia las que se transmiten los datos que serán replicados.
Imagen 14. Agregar puerto TCP
4.3. Configuración del SMBD pgAdmin3.
Ingrese al pgAdmin3, luego despliegue en el menú superior y seleccione “Options...”
path y en el explorador de archivos que se abre, navegue hasta la siguiente ruta C:\Archivos de programa\PostgreSQL\8.4\ luego pulse el botón “Aceptar” y después “Ok”.
Imagen 16. Opciones de configuración
4.4. Configuración del SMBD PostgreSQL.
En el explorador de archivos de Windows diríjase a la ruta C:\Archivos de programa\PostgreSQL\8.4\data, luego abra el archivo pg_hba.conf con un editor de texto y agregue las siguientes líneas a continuación de la sección “# IPv4 local connections:”
Nota: Si desea agregar mas nodos esclavos al clúster, debe ingresar las
direcciones IP’s de cada una de las maquinas en este archivo.
4.5. Creación de una maquina virtual y configuración en red.
Diríjase al manual para crear una red con maquina virtuales y realice cada uno de los procedimientos indicados en ese documento cuando finalice, retome el desarrollo de este laboratorio en este mismo punto.
4.6. Configuración de la herramienta de replicación Slony. 4.6.1. Script de configuración del nodo maestro
En la maquina virtual que fue seleccionada como nodo maestro; cree un nuevo documento de texto y copie el siguiente script dentro de él, luego guárdelo en la ruta C:\Archivos de programa\PostgreSQL\8.4\bin, con el nombre de “maestro.txt”.
# Nombre del closter clustername = slony;
node 1 adminconninfo = ‘dbname = secsalud host =
192.168.1.101 user = postgrespassword = especializacion’; node 2 adminconninfo = ‘dbname = secsalud host =
192.168.1.102 user = postgrespassword = especializacion’; init cluster (id=1, comment = ‘Nodo Maestro’);
# set de replicación
create set (id=1, origin=1, comment= ‘tablas’);
= ‘public.eps’, comment = ‘tablaeps’);
set add table (set id=1, origin=1, id=2, fully qualified name = ‘public.estadoeps’, comment = ‘tablaestadoeps’);
set add table (set id=1, origin=1, id=3, fully qualified name = ‘public.estadopersona’, comment = ‘tablaestado persona’); set add table (set id=1, origin=1, id=4, fully qualified name = ‘public.historialpersona’, comment = ‘tablahistorial perso-na’);
set add table (set id=1, origin=1, id=5, fully qualified name = ‘public.persona’, comment = ‘tabla persona’);
set add table (set id=1, origin=1, id=6, fully qualified name = ‘public.servicioeps’, comment = ‘tablaservicioservi-cioeps’);
set add table (set id=1, origin=1, id=7, fully qualified name = ‘public.tipoafiliado’, comment = ‘tablatipoafiliado’);
set add table (set id=1, origin=1, id=8, fully qualified name = ‘public.tipoidentificacion’, comment = ‘tablatipoidentifica-cion ‘);
set add table (set id=1, origin=1, id=9, fully qualified name = ‘public.tiposervicioacion’, comment = ‘tablatipoidentifica-cion ‘);
# se indica cual sera el nodo(s) esclavo(s)
store node (id=2, comment = ‘nodoescavo’, EVENT NODE =1); store path (server =1, client = 2, conninfo = ‘dbname = secsalud host = 192.168.1.101 user = postgres password = es-pecializacion’);
4.6.2. Script de configuración del nodo esclavo.
En la maquina virtual que fue seleccionada como nodo esclavo; cree un nuevo documento de texto y copie el siguiente script dentro de él, luego guárdelo en la ruta C:\Archivos de programa\PostgreSQL\8.4\bin, con el nombre de “esclavo.txt”.
→ Nombre del cluster clustername = slony;
node 1 adminconninfo = ‘dbname = secsalud host =
192.168.1.101 user = postgrespassword = especializacion’; node 2 adminconninfo = ‘dbname = secsalud host =
192.168.1.102 user = postgrespassword = especializacion’; subscribe set (id = 1, provider = 1, receiver = 2, forward = yes);
4.7. Puesta en funcionamiento del clúster replicación con Slony.
En una terminal de símbolo del sistema del nodo maestro diríjase a la ruta C:\Archivos de programa\PostgreSQL\8.4\bin, luego ejecute la sentencia: slonik maestro.exe; como se muestra en la imagen 17.
Imagen 17 Sentencias ejecutadas en la terminal del nodo maestro
Imagen 18 Sentencias ejecutados en la terminal del nodo esclavo
Ejecute la siguiente sentencia en las terminales del símbolo del sistema, tanto del nodo maestro como del nodo esclavo; recuerde que debe estar ubicado dentro del directorio C:\Archivos de Progra-mas\PostgreSQL\8.4\ bin\
Importante: Escriba la sentencia en su totalidad no la copie.
Realice modificaciones desde el nodo maestro en las tablas de la base de datos de la “secsalud” y verifique que están siendo replicadas correctamente en las tablas de la base de datos ubicada en el nodo esclavo