Implementación de ASM Filter Drive 12.2

Por Francisco Riccio  
Publicado en Marzo 2018


Introducción


Desde la introducción de Oracle ASM en la versión 10g siempre hemos tenido necesidad de contar con una herramienta que nos permita mantener una persistencia en el nombre de cada disco asignado al servidor con sus respectivos permisos, los cuales podrían alterarse o perderse respectivamente durante el arranque del sistema operativo.

Para solucionar este problema se venían utilizando diferentes opciones entre ellas ASMLIB, el cual es un programa proporcionado por Oracle tanto para plataformas Linux como Windows.

A partir de la versión 12cR1, Oracle ha liberado un nuevo producto llamado ASM Filter Drive (Oracle ASMFD) el cual viene incluido dentro de Infraestructura Grid 12c y cuenta con las siguientes características:

  • Rechaza cualquier requerimiento de escritura que no venga directamente de algún software de Oracle, previniendo errores de corrupción y eliminación de datos.
  • Cubre todas las funcionalidades de ASMLIB (persistencia de nombres y permisos).
  • Reduce el uso de recursos en el sistema operativo permitiendo que múltiples procesos puedan utilizar “open file descriptor” compartidos en el servidor. Antes de Oracle ASMFD, cada proceso requería su propio “open file descriptor” para realizar operaciones de I/O sobre un disco particular.
  • En configuraciones de Oracle RAC frente un estado de error del Cluster, ASMFD permite un mejor manejo de la recuperación del servidor reiniciando únicamente el Oracle Software Stack y así evitar el tiempo que tomaría un reinicio completo como ocurría en algunos escenarios en las versiones previas.

Finalmente con la introducción de este producto tendríamos las siguientes capas en nuestra solución:





Implementación


Nuestra implementación estará basado sobre la versión de Infraestructura Grid 12.2.

Antes de iniciar con el desarrollo del despliegue, es importante que validemos el sistema operativo y la versión de Kernel que tenemos instalado con la finalidad de cumplir con los requerimientos del producto.

La información de compatibilidad de ASM Filter Drive está disponible en:

My Oracle Support (MOS): ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix) [ID 2034681.1].

Es importante resaltar que al día de ser escrito este artículo, las únicas distribuciones certificadas son Oracle Linux y Red Hat y no está soportado almacenamiento NFS ni DNFS.

Nuestra implementación será desplegada sobre la versión 12cR2 contando con algunas ligeras diferencias sobre la versión 12cR1.

El servidor donde realizaremos la implementación cuenta con un Sistema Operativo Red Hat 7.3 y 2 LUNs de 10 GB que servirán para crear los diskgroup DATA y FRA respectivamente.

A continuación se presenta los discos y particiones presentadas en el servidor Linux:





Paso I – Etiquetar discos con ASM Filter Drive

Al descomprimir el instalador de Infraestructura Grid 12.2 deberemos ejecutar los siguientes comandos con el usuario root con la finalidad de etiquetar un disco (en este caso /dev/xvdc1) para que luego pueda ser leído por ASM al momento de crear un diskgroup.





Paso II – Despliegue de Infraestructura Grid 12.2

Cabe mencionar que una de las principales diferencias al momento de desplegar Infraestructura Grid 12.2 radica que solo debemos descargar y descomprimir el instalador para posteriormente solo configurarlo.

Debido al BUG 25078431 - ACFS MODULE ORACLEACFS.KO FAILS TO LOAD ON OL7U3 SERVER WITH RHCK, se realizará la aplicación del parche (25078431) y configuración de Infraestructura Grid directamente.



Nota: En una distribución Oracle Linux o una versión distinta de Kernel 3.10.0-514 sobre Red Hat o instalando Infraestructura Grid a partir de un futuro Patchset no será necesario la instalación del parche y únicamente deberá ejecutarse el comando: ./gridSetup.sh.


Posteriormente se seleccionará Oracle Infraestructure for a Standalone Server, en caso estemos implementando Oracle RAC deberá seleccionarse la primera opción.





A continuación crearemos un diskgroup llamado DATA el cual utilizará el disco que hemos etiquetado. Es importante seleccionar Configure Oracle ASM Filter Drive.





Asimismo es esencial configurar el Discovery Path, para ello debemos hacer click en el botón: Change Discovery Path y asignar la ruta correcta de nuestros discos.





En la implementación realizada, los discos tienen el prefijo xvd*.

Finalmente seguimos los pasos hasta culminar la instalación.





En caso instalemos Infraestructura Grid 12.2 y no hayamos marcado la opción de configurar ASM Filter Drive podemos realizarlo de manera manual una vez finalizado la instalación, cuyos pasos están documentados en:

My Oracle Support (MOS) Nota: ASMFD: Implementing ASM Filter Driver after 12.2 GI Installation [ID 2305707.1].



Paso III – Exploración del Ambiente Desplegado

a) Validaremos que ASM Filter Drive está habilitado en el servidor.





b) Revisaremos que exista un mapeo al disco /dev/xvdc1.

Los mapeos se almacenan en el directorio: /dev/oracleafd/disks/





c) Confirmaremos que ASM Filter Drive cuente configurado correctamente el prefijo de los discos a descubrir durante cada reinicio.

Opción #1: Revisando el archivo /etc/oracleafd.conf (creado al finalizar la configuración de Infraestructura Grid).





Opción #2: Ejecutando el comando asmcmd afd_dsget.





d) Consultaremos el valor del parámetro ASM_DISKSTRING y la vista V$ASM_DISK.





Estas 2 validaciones nos permite apreciar que la instancia +ASM ubicará a los discos AFD (ASM Filter Drive) para montar sus diskgroups cuando inicie servicios, como también validamos que la librería utilizada para descubrir los discos es AFD Library.

Es posible consultar el parámetro ASM_DISKSTRING de la siguiente manera:





Paso IV – Opciones Adicionales

Por temas de demostración procederé a eliminar el diskgroup DATA y a eliminar la etiqueta DISK_01 para mostrar otra manera de realizar el etiquetado de los discos.





Se detalla los comandos ejecutados:


Comando


Descripción

./asmcmd afd_label etiqueta <disco>
./afdtool –add <disco> etiqueta

Ambos comandos permiten etiquetar un disco.

./asmcmd afd_lsdsk
./afdtool -getdevlist

Ambos comandos permiten listar los discos etiquetados.




Finalmente crearemos el diskgroup FRA utilizando el disco con la etiqueta DISK_02 como se puede apreciar:





La documentación oficial de ASM Filter Drive se encuentra en el siguiente url:
https://docs.oracle.com/database/121/OSTMG/GUID-2F5E344F-AFC2-4768-8C00-6F3C56302123.htm#OSTMG95729

En caso tengamos problemas durante el despliegue y configuración, recomiendo revisar el siguiente documento:

My Oracle Support (MOS) Nota: Top Issues : When Using ASM Filter Driver (ASMFD) [ID 2247597.1].

Si en caso contemos con una implementación que fue realizada con ASMLIB, es posible migrarla hacia ASMFD, para ello recomiendo revisar los siguientes documentos en My Oracle Support (MOS):

  • How to Migrate ASM Diskgroups from ASMLIB to ASMFD (ASM Filter Driver) on Oracle Restart / ASM 12c Standalone [ID 2055855.1].
  • ASMFD : How to Migrate ASM Diskgroups from ASMLIB to ASMFD (ASM Filter Driver) on Oracle Grid Infrastructure (RAC) [ID 2172754.1].


Conclusión

En este artículo hemos aprendido a realizar todos los pasos requeridos para desplegar Oracle ASM Filter Drive en nuestros servidores con la finalidad de mantener la persistencia del mapeo de los discos y sus permisos; siendo este producto de gran ayuda para un correcto despliegue de Infraestructura Grid 12.2 en ambientes productivos.



Francisco Riccio, actualmente se desempeña como Arquitecto de Soluciones en Oracle Perú y es instructor de cursos oficiales de certificación Oracle. Es un Oracle Certified Professional en productos de Oracle Application, Base de Datos, Cloud & Virtualización.

 

Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.