Consiguiendo Alta Disponibilidad y Contingencia

download Consiguiendo Alta Disponibilidad y Contingencia

of 5

Transcript of Consiguiendo Alta Disponibilidad y Contingencia

  • 7/26/2019 Consiguiendo Alta Disponibilidad y Contingencia

    1/5

    Consiguiendo Alta Disponibilidad y Contingencia con Oracle Escrito en 11/02/2013 por Francisco Riccio

    Actualmente las empresas requieren el acceso a sus bases de datos en todo momento, adems de necesitarlas

    acceder lo ms rpido posible. Como Administradores de Base de Datos & Aplicaciones siempre ha sido un

    desafo poder cumplir con este requerimiento de las empresas cuyo rubro no permite nunca detener el sistema

    productivo.

    Frente a este problema, tenemos varias soluciones tales como tener instalado un cluster y un ambiente de

    contingencia.

    El objetivo de este artculo es comentar las bondades de tener un cluster y un ambiente de contingencia en nuestra

    empresa y asimismo entregar un panorama general de los mismos.

    Primero debemos definir Qu es un cluster?, y en trminos sencillos significa agrupar 2 o ms servidores unidos

    mediante una red de alta velocidad, de tal modo que esta agrupacin forma un gran servidor potente ubicado en

    un centro de cmputo.

    Al estar varios servidores en cluster, nos entrega muchos beneficios que se pueden resumir para nuestro usuario

    final en un acceso ms rpido de la informacin (porque cada servidor balancear la carga de trabajo), adems de

    permitirle una mayor posibilidad de siempre tener un acceso a la informacin (porque si falla un servidor, otro

    servidor del conjunto puede atender el requerimiento) y permitirle tener soluciones escalables (podemos

    aumentar ms servidores al cluster para soportar ms usuarios y mantener la performance). Existen muchos

    proveedores que ofrecen varias tecnologas para implementar un cluster, por ejemplo: Microsoft, Oracle, IBM,

    Red Hat, etc.

    Todas las tecnologas se basan en el siguiente esquema: Un conjunto de servidores que comparten un storage

    externo comn, con la finalidad de que si un servidor se malogra, los dems servidores puedan seguir accediendo

    a la informacin ya que la informacin se ubica en un storage externo y compartido para todos los servidores.Para el storage externo tenemos tambin diferentes soluciones, precios y beneficios, por ejemplo IBM ofrece sus

    Storage DS en la serie 8000 como ltima generacin, HP ofrece su Storage XP1000 y as otros fabricantes. Los

    storage modernos tienen como caractersticas que su conexin hacia los servidores es por fibra y la velocidad de

    transmisin es de 4 Gigabits por segundo, mantienen un cach con la finalidad de colocar ah la informacin y

    luego escribirlo en los discos, soportan varios discos, el storage cuenta con procesadores para su procesamiento y

    en algunos casos estos procesadores se encuentran en un ambiente alta disponibilidad por hardware como el DS

    8300 de IBM.

    Volviendo al escenario de la implementacin de un cluster, este storage externo se presenta a cada servidor como

    discos duros, donde por ejemplo, el servidor 1 ve el disco duro con serial A, ese mismo disco duro con serial A es

    tambin visto por el servidor 2. Hasta este paso tenemos un storage externo y comn para los servidores, perodeben ser formateados y particionados los discos (en el caso de Windows/Linux con fdisk). Una vez particionados

    los discos el gran problema que se presenta para implementar nuestro cluster es el formato que tendrn las

    particiones de los discos. Aqu existen varias respuestas: Si estamos en Windows podemos formatear los discos

    con un sistema de archivos FAT32, NTFS; o si estamos en Linux podemos hacerlo con EXT3 etc. Pero ninguno de

    estos sistema de archivos permiten que 2 o ms servidores puedan escribir y leer al mismo tiempo sobre el mismo

    disco duro externo, por lo tanto necesitamos un sistema de archivos que permita esto, de tal modo que los

    servidores del cluster puedan escribir y leer lo que ingresa cada servidor en tiempo real. Algunos de estos son

    GPFS y JFS2 los cuales corresponden al sistema operativo UNIX AIX de IBM. As mismo HP presenta tambin

    sus soluciones para UNIX HP-UX. En Linux y Windows contamos felizmente con una solucin gratuita de

    ORACLE llamada OCFS (Oracle Cluster Filesystem).

    11

    RecommendRecommend

    Pgina 1 de 2Consiguiendo Alta Disponibilidad y Contingencia con Oracle | MUGPERU Blog

    03/11/2015http://blog.mugperu.com/index.php/2013/02/consiguiendo-alta-disponibilidad-y-conti...

  • 7/26/2019 Consiguiendo Alta Disponibilidad y Contingencia

    2/5

    Entonces hasta el momento, hemos aprendido que para armar un ambiente cluster necesitaramos:

    1. Una conexin de red sper rpida para que los servidores puedan coordinar.

    2. Un storage externo y compartido para los servidores del cluster.

    3. El sistema de archivos (con el que se les formatear a los discos del storage compartido) debe permitir la I/O a

    todos los servidores del cluster en tiempo real.

    4. Un software de cluster que haga el balanceo de carga, la alta disponibilidad y permita la administracin del

    cluster.

    Continuar .

    Pgina 2 de 2Consiguiendo Alta Disponibilidad y Contingencia con Oracle | MUGPERU Blog

    03/11/2015http://blog.mugperu.com/index.php/2013/02/consiguiendo-alta-disponibilidad-y-conti...

  • 7/26/2019 Consiguiendo Alta Disponibilidad y Contingencia

    3/5

    Consiguiendo Alta Disponibilidad y Contingencia con Oracle (parte 2)Escrito en 16/02/2013 por Francisco Riccio

    Continuando con la temtica de un artculo anterior

    Entonces hasta el momento, hemos aprendido que para armar un ambiente cluster necesitaramos:

    1. Una conexin de red sper rpida para que los servidores puedan coordinar.

    2. Un storage externo y compartido para los servidores del cluster.

    3. El sistema de archivos (con el que se les formatear a los discos del storage compartido) debe permitir la I/O a

    todos los servidores del cluster en tiempo real.

    4. Un software de cluster que haga el balanceo de carga, la alta disponibilidad y permita la

    administracin del cluster.

    El punto 1 y 2 son temas de hardware. Para el punto 3 tenemos una solucin gratuita de Oracle llamada OCFS.Sobre el punto 4, Oracle tambin ofrece una solucin gratuita llamada el Oracle Clusterware, su ltima versin es

    la 11g. El Oracle Clusterware est disponible en diferentes plataformas. La idea ahora como Administradores de

    Base de Datos & Aplicaciones es implementar el esquema mostrado en la figura 1.

    Figura 1

    Podemos apreciar por la figura 1, que nuestra base de datos estar ubicada en el storage compartido (con un

    sistema de archivo que soporte un ambiente cluster) y el software de cluster har el trabajo ya mencionado

    anteriormente.

    La gran ventaja que nos ofrece Oracle con el clusterware si lo utilizamos sobre base de datos Oracle sobre otro

    software de cluster de otros proveedores, es que el Oracle Clusterware realiza un balanceo de carga a nivel de

    carga de procesamiento a nivel de Base de Datos y no a nivel de carga de CPU como hace el resto. Adems tiene

    una caracterstica llamada Transparent Application Failover (TAF), el cual nos da la bondad de que si estamosnosotros realizando un reporte en un servidor determinado y si el servidor

    presenta un problema de hardware y cae, Oracle Clusterware ser el responsable de llevar nuestra sesin del

    servidor cado hacia otro servidor que este operativo y continuar con el reporte sin comenzar de cero y para el

    usuario final ser transparente porque tendr su reporte sin conseguir un mensaje de error.

    El clusterware tiene otras virtudes, por ejemplo: el mismo puede levantar automticamente un servicio cierta

    cantidad de veces en caso el servicio este cado, adems permite trabajar en diferentes modos como activo/activo,

    activo/pasivo, etc.

    Desde la versin 10g, Oracle nos ofrece un nuevo sistema de archivos llamado ASM (Automatic Storage

    Management), que tambin nos permite el I/O sobre los discos a tiempo real entre todos los servidores que

    conforman el cluster, adems de ofrecer la caracterstica de stripping (significa que cada disco duro balancear lacarga de trabajo porque su informacin estar distribuida uniformemente entre todos los discos duros).

    6

    RecommendRecommend

    Pgina 1 de 3Consiguiendo Alta Disponibilidad y Contingencia con Oracle (parte 2) | MUGPE...

    03/11/2015http://blog.mugperu.com/index.php/2013/02/consiguiendo-alta-disponibilidad-y-conti...

  • 7/26/2019 Consiguiendo Alta Disponibilidad y Contingencia

    4/5

    Este sistema de archivo solo permite almacenar archivos de base de datos tales como

    datafiles, redo logs, archivers, etc. Mientras OCFS permite almacenar cualquier tipo de archivo. Tengamos

    presente que si nosotros tenemos un disco duro con un sistema de archivo OCFS ASM, Oracle ser el

    responsable de leer y grabar en crudo el disco.

    De este modo hace un bypass al sistema operativo, teniendo un 30% de mejora de performance sobre sistema de

    archivos convencionales tales como NTFS. Por experiencia personal, lo recomendable sera que los archivos de

    configuracin y uso del OracleClusterware tales como el OCR y el Voting, deberan alojarse en un sistema de archivo OCFS y nuestra base de

    datos en ASM. Nuestra base de datos corriendo con el software de cluster de Oracle es la solucin llamada: Oracle

    RAC (Oracle Real Application Cluster) y tiene un costo adicional. Hasta este momento tenemos la nocin general

    de cmo se compone nuestro cluster y qu soluciones nos ofrece Oracle para implementarlo.

    Frente a esta solucin, se han preguntado Qu sucedera si tenemos una solucin Oracle RAC o cualquier otra

    solucin de cluster de otro fabricante en nuestro centro de cmputo; y ocurre un accidente tal como un incendio,

    terremoto, un atentado terrorista como la del 11 de setiembre o simplemente nuestro storage externo muri?

    Frente a esto, nuestro cluster dejara de funcionar y nuestro storage externo tambin. En estos escenarios donde

    los procesos de negocio deben continuar, es donde se piensa en implementar un ambiente de contingencia, con la

    finalidad si algo sucede con todos nuestros servidores de produccin exista un servidor extra que pueda funcionarpara seguir brindando la informacin a la empresa y la disponibilidad del negocio contine.

    Nuestro ambiente de contingencia debe estar ubicado en otro lugar fsico de la empresa y no menos de 10 Km. de

    distancia de nuestro centro de cmputo.

    Oracle nos ofrece una solucin llamada Oracle Dataguard, la cual nos permite tener una base de datos en estado

    pasivo que estar recepcionando las transacciones del ambiente productivo, en caso de un desastre, esta base de

    datos se convertir en servidor productivo y atender las peticiones de los usuarios porque siempre estuvo

    sincronizando la base de datos con el ambiente productivo. Oracle indica que si tenemos una solucin Oracle RAC

    con Oracle Dataguard, tendremos una disponibilidad de la informacin al 99.99999% durante los 365 das del

    ao. Conocido como los cinco nueves. Adems como buena prctica, Oracle recomienda tener este ambiente decontingencia en cluster. Por lo tanto, en nuestro centro de cmputo tendramos un Oracle RAC enlazado a un

    Oracle Dataguard que se conforma por otro Oracle RAC en estado pasivo.

    El esquema quedara de este modo:

    Figura 2

    Si optamos por una solucin con Oracle Dataguard, yo recomiendo por experiencia que la comunicacin de

    nuestro centro de cmputo hacia el ambiente de contingencia debe realizarse por medio de fibra oscura, para no

    presentar problemas de performance ms adelante. Hoy en da Oracle nos ofrece mecanismos para que nuestros

    usuarios siempre puedan obtener la informacin que necesiten de modo eficiente. Como DBAs debemos

    considerar el uso de algunas de estas tecnologas presentadas tales como OCFS, ASM, Oracle RAC y Oracle

    Dataguard para conseguir el desafo presentado al inicio del artculo .

    Existe mucha documentacin sobre todas estas tecnologas, pero me gustara compartir el link de la pginaprincipal de OCFS, donde podemos encontrar las libreras que necesitaramos si deseramos implementarlo lo

    ms antes posible.

    Pgina 2 de 3Consiguiendo Alta Disponibilidad y Contingencia con Oracle (parte 2) | MUGPE...

    03/11/2015http://blog.mugperu.com/index.php/2013/02/consiguiendo-alta-disponibilidad-y-conti...

  • 7/26/2019 Consiguiendo Alta Disponibilidad y Contingencia

    5/5

    El url es: http://oss.oracle.com/projects/ocfs2

    Pgina 3 de 3Consiguiendo Alta Disponibilidad y Contingencia con Oracle (parte 2) | MUGPE...