Oracle Database 12c: Flex ASM

Por Joel Pérez y Wissem El Khlifi
Publicado en enero 2014

1. Introducción:

La tecnología de almacenamiento ASM (Automatic Storage Management) llevo a cabo su aparición en la versión 10g de bases de datos Oracle y desde entonces, ASM no paro de evolucionar en las siguientes versiones de bases de datos.
ASM ofrece una facilidad en manejo de volumen y una mejora en temas de escalabilidad, alta disponibilidad y rendimiento. La nueva versión de Oracle 12c sigue esa línea introduciendo nuevas capacidades en ASM. La mejora más significativa de ASM de Oracle 12c es la opción Flex ASM.

2. Presentación de Oracle Flex ASM:

En unos entornos empresariales, Flex ASM proporciona nuevas capacidades necesarias para el “Cloud Computing”. Estos entornos suelen implementar clústeres de bases de datos de diferentes tamaños, que no sólo deberían tener un alto rendimiento y fiabilidad, sino que también deben ser capaces de adaptarse rápidamente a los cambios en las cargas de trabajo con un mínimum de esfuerzo en la gestión del entorno. El nuevo ASM Flex de Oracle cambia fundamentalmente la arquitectura del clúster ASM. La opción de Flex ASM proporciona una facilidad en añadir servicios, trasladar/mover servicios forzando el principio de “Plug & Unplug” del “Cloud Computing”.

Antes de la introducción de Oracle ASM Flex, cada nodo del clúster debe tener una instancia ASM corriendo en este junto con una o más instancias de bases de datos Oracle.
Estas instancias ASM en el clúster se comunican entre ellos y en su conjunto presentan grupos de discos compartidos para los clientes de bases de datos que se ejecutan en el clúster.
Esta colección de servidores ASM forma un grupo de instancias ASM. Si una instancia ASM falla, entonces todas las instancias de base de datos, que se ejecutan en el mismo nodo que la instancia de ASM, fallan también. Es una gran limitación de la tecnología de almacenamiento ASM en la versiones anteriores a Oracle 12c. Yo personalmente, en el entorno de trabajo, me preguntaba por qué es tan indispensable bajar todas las instancias de bases de datos funcionando en un nodo de un Oracle clúster para hacer trabajos de mantenimientos en la instancia de ASM en el mismo nodo?

La siguiente imagen muestra la arquitectura tradicional de un Oracle clúster 10g o 11g; tenemos dos RAC de bases de datos: el primero compuesto de 4 instancias de bases de datos (DB1, DB2, DB3 y DB4) y el segundo de dos instancias de bases de datos (OTRA DB1 y OTRA DB2).
Cuatro instancias de ASM (ASM1, ASM2, ASM3 y ASM4) están corriendo en los diferentes nodos de 1 a 4 y unos grupos de discos DATA y FRA compuesto de muchos discos.
En el caso que ASM1 falla, las instancias de bases de datos “DB1” y “OTRA DB1” fallan también.

Flex Oracle ASM de Oracle Database 12c cambia la arquitectura respecto a la organización del clúster ASM. En Oracle Database 12c, sólo un número más pequeño de instancias ASM es necesario para la ejecución de las instancias de bases de datos en un clúster. El número de instancias de ASM ejecutando en un clúster se denomina “ASM Cardinality”. En el caso que una instancia ASM del clúster falla, Oracle “Clusterware” inicia una instancia de ASM en sustitución en un nodo diferente del clúster para mantener “ASM Cardinality”, representa un modelo de “failover” de instancias ASM. Por ejemplo, en la siguiente imagen, tenemos un entorno de 4 nodos de clúster 12c con 3 instancias de Oracle ASM. Las bases de datos el nodo 1 (DB1 y “OTRA DB1”) son clientes de la instancia ASM del nodo 2.

Si falla la instancia ASM del nodo 2 falla y para mantener “ASM Cardinality” con una operación de conmutación tras error o “ASM Failover”, las instancias de bases de datos el nodo 2 (DB2) serán clientes de la instancia ASM del nodo 1. Las bases de datos del nodo 1 son clientes de la instancia ASM del nodo 1.

Tal como hemos visto, Oracle ASM ofrece una mayor flexibilidad, alta disponibilidad de servicios de Oracle ASM gracias a la operación “ASM Failover”.

Las pruebas concluyen que el trafico de red ASM con la opción de Oracle Flex pasa a tener una alta importancia y que por considerarse ahora un área critica del funcionamiento del “Clusterware” es meritorio crear y dedicar una red especifica para tal fin, denominada Oracle ASM (“Dedicated Oracle ASM Network”).
En el clúster 12c, podemos tener 3 diferentes redes dedicadas;

  • CSS (“Cluster Synchronization Services”) Network.
  • Storage Network.
  • ASM Network.

Otras Características de Oracle Flex ASM:

  • El máximum Grupo de discos ASM se ha incrementado de 63 a 511.
  • En almacenamiento, Oracle Flex ASM soporta un tamaño de “Logical Unit Number” o “LUN” para bases de datos Oracle hasta 32 “Petabytes”.
  • Una nueva línea de comando SQL “ALTER DISKGROUP” para renombrar uno o más discos o bien todos los discos de un grupo de discos, usando la clausula “RENAME DISK” o bien “RENAME DISK ALL”.
ALTER DISKGROUP
RENAME
  {DISK antiguo_nombre_disco TO nuevo_nombre_disco [,antiguo_nombre_disco TO nuevo_nombre_disco]...
  | DISKS ALL }


3. Implementación de Oracle ASM Flex:

Para activar la opción de “Oracle Flex ASM” durante la instalación de “Grid Infrastructure”, hay que elegir la opción “Configure a Standard cluster” en la etapa numero 3 de la instalación utilizando “OUI” (Oracle Universal Installer).

La siguiente imagen muestra la opción a elegir:

En la etapa 4 de la instalación, elige la opción: “Advanced Installation”. La siguiente imagen muestra la opción a elegir:

En la etapa 10 de la instalación, elige la opción: “Use Oracle Flex ASM for Storage”. La siguiente imagen muestra la opción a elegir:

Una vez la instalación se termina. Podemos comprobar si la opción “Flex ASM” esta activada usando la línea de comando ASMCMD:

asmcmd showclustermode
ASM cluster : Flex mode enabled

    

En un entorno de 6 nodos de clúster, podemos ver cual son las instancias ASM habilitadas en el entorno;

Las instancias ASM están ejecutando en 3 nodos (srvdb05, srvdb03, srvdb02) y quedan las instancias bases de datos de los nodos srvdb01, srvdb04 y srvdb06 como clientes sin tener instancias ASM ejecutando en sus nodos.

srvctl status asm -detail
ASM is running on srvdb05, srvdb03, srvdb02
ASM is enabled.

    

Podemos ahora verificar cuantas instancias ASM están habilitadas en el entorno;

srvctl config asm | grep -i count
ASM instance count: 3

4. Conclusión:

Oracle Flex ASM es un gran avance hacia la noción de “Cloud Computing” proponiendo soluciones de añadir o mover servicios (Plug & Un-Plug instancias de ASM) de un nodo a un otro de un forma automática.

 


Joel es un experto DBA con más de 12 años de experiencia, especializado en bases de datos con especial énfasis en la soluciones de alta disponibilidad (RAC, Data Guard, y otras). Es un conferencista habitual en eventos de Oracle como: OTN LAD TOUR y otros. Consultor Internacional con trabajos en más de 20 países alrededor del mundo. Fue el primer latinoamericano en ser nombrado "Experto OTN" en el año 2003, Oracle ACE año 2004 y actualmente Oracle ACE Director.

Wissem es un Senior DBA con más de 12 años de experiencia, especializado en soluciones RAC & Data Guard. Actualmente labora para “Schneider Electric / APC Global operations”. Wissem ha trabajado también para varias empresas internacionales líderes en sectores de Bancas, Telecomunicaciones, Internet y Energía. Wissem fue el primer Oracle ACE en España y es un OCP DBA.