ELementos de optimización (Tunning) PostgreSQL

EL presente instructivo tiene como finalidad configurar algunos elementos que optimizarán el funcionamiento de PostgreSQL en nuetro servidor. Se estarán efectuando recomendaciones sobre la aplicación postgreSQL y el sistema operativo, las mismas se encontran orientadas a lograr un mejor desempeño de postgresql.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 6.0 (actualmente estable)

Aplicaciones:

  • PostgreSQL Versión 9.X

Nota: Las siguientes configuraciones se encuentran ajustadas para un equipo con 8GB de RAM

Puntos a Tratar en el Instructivo:

  • Punto#1. RECOMENDACIONES SOBRE APLICACION PostgreSQL
  • Punto#2. RECOMENDACIONES SOBRE SISTEMA OPERATIVO
  • Punto#3. RECOMENDACIONES SOBRE SEGURIDAD:

Punto#1. RECOMENDACIONES SOBRE APLICACION PostgreSQL

1. Editar archivo de configuración de postgreSQL

root@server:/~# nano /etc/postgresql/9.1/main/postgresql.conf

Continuar leyendo “ELementos de optimización (Tunning) PostgreSQL”

Anuncios

Comando de administración Pgpool modo Balanceo de Carga y Postgresql replication Slots

Monitoreo replication slots PostgreSQL:

1. Comprobar el “modo recovery” de servidor (server slave)

postgres=# select pg_is_in_recovery();

2. Comprobar el modo “replication slot” (server master)

postgres=# select * from pg_replication_slots;

3.- Comprobar si la replicación se encuentra activa (server master)

postgres=# select * from pg_stat_replication;

Continuar leyendo “Comando de administración Pgpool modo Balanceo de Carga y Postgresql replication Slots”

Escaneo dispositivo almacenamiento SCSI (LUN)

La presente es con la finalidad describir los pasos necesarios para el escaneo de un nuevo dispositivo de almacenamiento(SCSI) asignado a una máquina virtual, sin reiniciar el equipo “en caliente”.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

Configuración:

1.- Listado dispositivos SCSI

operador@servidor:/# lsscsi
 [1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0 
 [2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda 
 [2:0:1:0]    disk    NETAPP   LUN              7360  /dev/sdb 
 

Continuar leyendo “Escaneo dispositivo almacenamiento SCSI (LUN)”

Pgpool2 modo Balanceo de carga para PostgreSQL modo replicación: Streaming Replication y/o Replication Slots

El presente instructivo tiene como finalidad dar a conocer los elementos básicos para la instalación y configuración de pgpool2 en modo balanceo de carga, para una replicación modo: Streaming Replication o Replication Slots en PostgreSQL.

Desde la versión 3.0 de pgpool, se encuentra adaptado a la funcionalidad de Streaming Replication/hot Standby. Este modo de replicación se encuentra activo en PostgreSQL a partir de la versión 9.4

PgPool-II asume actualmente que Streaming Replication se utiliza en modo Hot Standby, lo que significa que la base de datos en espera(esclavo) estará abierto en modo de sólo lectura.

El balanceo de carga pgPool-II es “basado en sesiones”, y no “basado en declaraciones”. Esto quiere decir, que la selección de nodo DB para el balanceo de carga se elige al principios del período de sesiones y todas las sentencias SQL se envían al mismo nodo DB hasta que finalice la sesión.

En pgPool-II 3.0 o posterior, la sentencia SELECT será balanceada incluso en una transacción, si se configura en el modo maestro/esclavo.

Nota Importante: PgPool-II necesita conocer las “FUNCIONES” que poseen instrucciones destinadas a escribir, borrar o actualizar la base de datos. Dichas funciones son llamadas con SELECT por lo que pgPool-II no debería hacer balanceo de carga. Es por ello que se hace necesario agregar el nombre de dichas funciones en la opción “black_function_list”. Estas funciones no serán balanceadas. En PgPool-II 3.0 hace una búsqueda recursiva y puede encontrar esas funciones en cualquier lugar.

ejemplo: black_function_list = ‘currval,lastval,nextval,setval,my_writing_function’

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación del servicio SSH (servidor y cliente)
  • Se debe tener implementado Replication Slots in PostgreSQL 9.4 http://wp.me/p13Tvb-a6
  • o en su defecto Streaming Replication PostgreSQL http://wp.me/p13Tvb-7E

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

PASO 1
Instalación:

operador@PGPOOL01:/# aptitude install pgpool2 postgresql-9.4-pgpool2

Continuar leyendo “Pgpool2 modo Balanceo de carga para PostgreSQL modo replicación: Streaming Replication y/o Replication Slots”

Replicación Bases de Datos PostgreSQL modo: Replication Slots

EL presente instructivo tiene como finalidad presentar los pasos básicos necesarios para la instación y configuración del modo de replicación de Base de Datos “Replication slots” en PostgreSQL versión 9.4

El modo de replicación “Replication slots” está presente a partir de la versión 9.4 de postgreSQL. Éste modo proporcionan una forma automatizada que gerantiza que el servidor configurado como maestro no elimina segmentos WAL hasta que se asegure que hayan sido recibidas por todos los recursos (esclavos), además el maestro no elimina las filas que podría causar un conflicto de recuperación, incluso cuando se desconecta el modo de espera (esclavo).

En el modo de replicación “Streaming replication”, es posible evitar la eliminación de segmentos de archivos WAL viejos, utilizando la opción wal_keep_segments o mediante el almacenamiento de los segmentos en un directorio (archive) usando archive_command. Sin embargo, estos métodos a menudo resultan en la retención o almacenamiento de un números de segmentos de archivos WAL mayor a los quererido, mientras que en el modo “Replication Slots” sólo se retienen el número de segmentos necesarios, otra ventaja de éste módo es que limitan la necesidad de espacio para pg_xlog; actualmente no hay manera de hacer esto utilizando el modo de replicación “streaming replication”.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación del servicio SSH (servidor y cliente)
  • Se debe contar con instalación de postgresql 9.4 en servidor maestro y esclavo
  • Se debe tener configurado Relación de confianza conexión SSH http://wp.me/p13Tvb-ac

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (actualmente estable)

Configuración del maestro:

1. Editar archivo de configuración de postgres

operador@postgreSQL01:/# nano /etc/postgresql/9.4/main/postgresql.conf

Continuar leyendo “Replicación Bases de Datos PostgreSQL modo: Replication Slots”

Replicación Bases de Datos PostgreSQL modo: Streaming Replication

El presente instructivo tiene como finalidad mostrar los pasos básicos necesarios para la instalación y configuración de Replicación de Base de Datos en PostgreSQL modo: Streaming Replication (hot_standby).

Streaming Replication (SR) es una funcionalidad que permite transferir asincrónicamente(*) registros WAL sobre la marcha (record-based log shipping) entre un servidor maestro y uno/varios esclavos.

La replicación streaming de PostgreSQL es asíncrona por defecto. Si el maestro falla, algunas de las ransacciones realizadas, puede que no se hayan replicado a la copia standby, provocando una pérdida de datos. La cantidad de datos perdidos será proporcional al tiempo de retraso de la replicación durante el fallo.

En la práctica un proceso denominado receptor WAL (WAL receiver) es el servidor esclavo, se conecta mediante una conexión TCP/IP en el servidor maestro. En el servidor maestro existen otro proceso denominado remitente WAL (WAL Sender) que es el encargado de enviar los registros WAL sobre la marcha al servidor esclavo.

Los Archivos WAL (Write Ahead Log / REDO) son utilizados por postgreSQL para guardar toda la información sobre las transacciones y cambios realizados en la base de datos. Los archivos WAL se utilizan para garantizar la integridad de los datos grabados en la base de datos. También se utilizan para reparar automáticamente posibles inconsistencias en la base de de datos después de una caída súbita del servidor. Estos archivos tienen un nombre único y un tamaño por defecto de 16MB y se generan en el subdirectorio pg_xlog que se encuentra en el directorio de datos ($PGDATA). El número de ficheros WAL contenidos en pg_xlog dependerá del valor asignado al parámetro checkpoint_segments en el fichero de configuración postgresql.conf

(*) Replicación/transferencia asincrónica: Cuando los datos se transfieren de un sistema A a otro B, sin esperar por el “acuse de recibo” de B antes de hacer disponibles en A los datos replicados . En un sistema de replicación asincrónico puede existir un cierto retraso ó demora en la disponibilidad de los datos en el sistema esclavo. La replicación asíncrona evita los costes de la replicación síncrona, gracias a que se proporciona una respuesta al cliente antes de la coordinación entre copias

Para el presente instructivo se toma el siguiente escenario:


Se desea configurar dos servidores postgres postgreSQL01 (maestro) y postgreSQL02 (esclavo). El servidor master postgreSQL01 estará modo Lectura/Escritura (Read/writer) y el servidor slave postgreSQL02 estará modo sólo Lectura (Read).

Diagrama:

  .------.                 .--------.
  |      |          W      |   DB   |
  |Pgpool|----+----------->| MASTER |----.
  |      |    |            |        |    |
  `------`    |            `--------`    | STREAMING REPLICATION
              |            .--------.    |
              |     R      |   DB   |    |
              +----------->|  SLAVE |<---+      
                           |        |    
                           `--------` 

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con instalación de postgresql 9.4 (probado en 9.5 y 9.6) en servidor maestro y esclavo

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 8.0 (probado en debian 9.0)

Importante: Al inciar la configuración, el servicio del PostgreSQL del servidor “esclavo” debe estar “detenido”

-EN AMBOS SERVIDORES:

Configurar resolución local de DNS:

# vim /etc/hosts

Efectuar el cambio: (master)

127.0.0.1	localhost
127.0.1.1	postgreSQL01
192.168.0.2	postgreSQL01
192.168.0.3	postgreSQL02

Efectuar el cambio: (esclavo)

127.0.0.1	localhost
127.0.1.1	postgreSQL02
192.168.0.3	postgreSQL02
192.168.0.2	postgreSQL01

Continuar leyendo “Replicación Bases de Datos PostgreSQL modo: Streaming Replication”

Instalación y configuración de Cliente Oracle 11.2.0.4.0-1 for Linux x86_64 (64-bit)

El presente instructivo tiene como finalidad dar a conocer el procedimiento para la instalación de la aplicación privativa Oracle Client versión 11.2 sobre servidor con distribución GNU/Linux debian 7.0

Requisitos:

  • Se debe contar con suficiente privilegios para la instalación de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits.
  • Sistema operativo ‘GNU/Linux’ Debian 7.0, actualmente estable.

Aplicaciones:

  • Cliente Oracle 11.2.0.4.0-1 for Linux x86_64 (64-bit)

Instalación de Dependencias:

 root@servidor:~# aptitude install libaio1 alien

Continuar leyendo “Instalación y configuración de Cliente Oracle 11.2.0.4.0-1 for Linux x86_64 (64-bit)”