Artículos
Grid Computing
Por Francisco Riccio
Publicado en Mayo 2015
Introducción
Hoy en día disponemos de un gran número de soluciones que nos permiten diseñar esquemas de contingencia para nuestras soluciones de negocio. Una alternativa actual e interesante es la que nos ofrece Oracle Infraestructura Grid, permitiéndonos replicar nuestros filesystems desde un servidor a otro (principal/secundario), donde cada filesystem del servidor principal almacena distintos archivos críticos que son parte de nuestras aplicaciones y requerimos incluirlas dentro una solución de contingencia en un marco integral.
Asimismo es posible replicar ciertos archivos de un filesystem donde se les ha asignado un atributo personalizado para dar un mayor control de lo que se desea proteger ante una incidencia.
Esta nueva tecnología reemplazaría soluciones antiguas que antes realizábamos vía comandos de sistema operativo tales como: SCP para ambientes Unix/Linux y Robocopy para ambientes Windows de una manera más consistente, robusta y con mayores opciones de administración como veremos más adelante.
Esta nueva opción se encuentra disponible para los siguientes sistemas operativos:
| Sistema Operativo | Versión de Infraestructura Grid |
Linux | 11.2.0.2 |
Microsoft Windows | 11.2.0.3 |
Oracle Solaris | 12.1.0.1 |
Tabla 1
Adicionalmente Infraestructura Grid 12.1 nos permite configurar auditoria, seguridad y encriptación sobre filesystems que han sido configurados con la opción de replicación, dando mejores opciones que teníamos sobre la versión 11.2.0.2.
Implementación
En esta implementación se indicarán todos los pasos requeridos para configurar una replicación de un filesystem ACFS.
El ambiente a implementar está configurado sobre 2 servidores con sistema operativo Oracle Linux 5 Update 10 x64 bits y Oracle Infraestructura Grid 12.1.0.2.
Inventario
| Rol | Hostname | Volumen ADVM | Filesystem a replicar |
Principal | srvig1.riccio.com | /dev/asm/voldata-223 | /data |
Secundario | srvig2.riccio.com | /dev/asm/voldata-197 | /data |
Tabla 2
Requisitos:
Se adjunta un ejemplo de como realizar la validación de este punto basado en el entorno presentado:
![]() Figura 1 |
Paso 1
En esta configuración se creará un usuario en ambas instancias +ASM el cual será utilizado para la replicación. El usuario que será creado deberá tener los privilegios: SYSASM y SYSDBA.
![]() Figura 2 |
La creación del usuario debe realizarse en ambas instancias ASM.
Paso 2
Debemos crear un nuevo servicio en ambos servidores para conectarnos a las instancias +ASM de manera remota.
Por cada filesystem ACFS a replica debe existir un único servicio y el nombre debe ser diferente a +ASM.
Servidor: srvig1.riccio.com ![]() Figura 3 |
|
Paso 3
En cada servidor se deberá crear una entrada en el archivo tnsnames.ora del ORACLE HOME de Infraestructura Grid. Esta entrada deberá permitir generar conexiones remotas a las instancias +ASM utilizando los servicios creados del paso 2.
Servidor: srvig1.riccio.com ![]() Figura 4 |
|
Paso 4
Se procederá a configurar la replicación primero en el servidor que tendrá el filesystem ACFS de rol secundario, en nuestro caso es el servidor srvig2.riccio.com.
Se presenta la sintaxis del comando que debe ser ejecutado con el usuario root:
/sbin/acfsutil repl init standby -p <user>/<password>@<ALIAS_CONEXION_ROL_PRINCIPAL_TNSNAMES> -c <SERVICIO_ROL_SECUNDARIO> <NOMBRE_FS>
![]() Figura 6 |
Nota: Si el comando falla, el filesystem ACFS debe ser recreado y montado antes de volver a ejecutarse el comando.
Validamos si todo está conforme con el comando: /sbin/acfsutil repl info -c <NOMBRE_FS>
![]() Figura 7 |
También podemos validar los background process responsables de la replicación en el filesystem ACFS.
![]() Figura 8 |
Paso 5
Configuramos la replicación ahora en el filesystem ACFS con rol primario, en nuestro caso en el servidor srvig1.riccio.com.
Se presenta la sintaxis del comando que debe ser ejecutado con el usuario root:
/sbin/acfsutil repl init primary -s <user>/<password>@<ALIAS_CONEXION_ROL_SECUNDARIO_TNSNAMES> -c <SERVICIO_ROL_PRINCIPAL> <NOMBRE_FS>
![]() Figura 9 |
Nota: El comando previamente mencionado acepta el parámetro -m que nos permite indicar el nombre del filesystem ACFS con rol secundario en caso se llame diferente al del primario. También nos permite comprimir los cambios registrados con la opción -z on.
Validamos si todo fue correcto con el comando: /sbin/acfsutil repl info -c -v <NOMBRE_FS>
![]() Figura 10 |
También podemos validar los background process responsables de la replicación en el filesystem ACFS principal.
![]() Figura 11 |
Asimismo validamos que la información de ambos filesystems ACFS están iguales después de la inicialización.
Figura 12 |
El filesystem ACFS secundario no aceptará modificaciones mientras esté replicando como podemos apreciar en el siguiente ejemplo:
![]() Figura 13 |
Es importante mencionar que la replicación se realizará en 2 partes:
Los archivos rlogs se almacenan en el directorio .ACFS/repl y son eliminados automáticamente cuando son replicados en el destino. Estos archivos aparecerán en el origen y en el destino.
![]() Figura 14 |
La carpeta ready tendrá los archivos rlogs que aún no han sido procesados en el filesystem ACFS secundario.
Paso 6
Si deseamos detener la réplica, podemos ejecutar el siguiente comando:
/sbin/acfsutil repl pause <NOMBRE_FS>
Si el comando es ejecutado en el filesystem ACFS con rol:
Asimismo podemos reactivar la réplica utilizando el comando: /sbin/acfsutil repl resume <NOMBRE_FS>
![]() Figura 15 |
Si deseamos terminar la replicación debemos ejecutar el siguiente comando:
/sbin/acfsutil repl terminate primary|standby <NOMBRE_FS>
Primero debe ser ejecutado en el filesystem ACFS principal y luego en el secundario como recomendación.
Servidor: srvig1.riccio.com ![]() Figura 16 |
|
En caso necesitemos hacer una re sincronización de todo el filesystem ACFS podemos ejecutar el siguiente comando:
/sbin/acfsutil repl sync apply <NOMBRE_FS>
![]() Figura 18 |
Este comando no permitirá nuevos cambios en el filesystem ACFS principal mientras realiza la sincronización.
Paso 7
La opción de replicación también nos permite replicar ciertos directorios o archivos y no todo el filesystem.
Para implementarlo debemos ejecutar el siguiente comando:
/sbin/acfsutil tag set <nombre_tag> <NOMBRE_FS>
![]() Figura 19 |
La opción -r indica una operación recursiva sobre el directorio.
Posterior a este comando debemos iniciar la réplica en el filesystem ACFS secundario y luego en el principal indicando los tags que se tomarán en cuenta para la replicación.
Ejemplo:
![]() Figura 20 |
En este caso hemos configurado para que la réplica considere al tag reporte previamente creado.
Nota : Basado en esta configuración, si existen nuevos archivos en el directorio /data/rep y la extensión es txt no serán replicados porque los nuevos archivos no heredarán el tag reporte, pero manualmente podemos configurarlos en línea y automáticamente también serán replicados.
![]() Figura 21 |
En el caso el tag hubiera sido definido de la siguiente manera:
/sbin/acfsutil tag set reporte -r /data/rep
Nuevos archivos o directorios si hubieran sido replicados de manera automática.
En ambos casos todos los archivos del filesystem ya no serán replicados, sino se regirá por los filtros realizados con el parámetro tag, pero si es importante hacer notar que todos los directorios que se creen dentro del filesystem y están excluidos de los filtros serán replicados pero sin ningún archivo.
Para remover un tag utilizamos el siguiente archivo: /sbin/acfsutil tag unset <nombre_tag> -r <filtro>
Ejemplo:
![]() Figura 22 |
Paso 8
Si deseamos obtener estadísticas del volumen de datos generados podemos ejecutar el siguiente comando:
/sbin/acfsutil info fs -s <NOMBRE_FS>
![]() Figura 23 |
En este ejemplo, el número 5 indica que la información se desea visualizar en intervalos de 5 segundos.
Paso 9
En caso de errores durante la etapa de configuración u operación podemos revisar los logs que se encuentran en el directorio:
$ORACLE_HOME/log/<hostname>/acfs
![]() Figura 24 |
También si deseamos activar un mayor nivel de trace sobre la replicación ejecutamos el siguiente comando:
/sbin/acfsutil repl trace # <NOMBRE_FS>
El nivel de trace por defecto es 2 y sus valores van de 0 a 6.
Conclusión
En este material hemos realizado satisfactoriamente una implementación de replicación de Filesystem ACFS, pero es importante resaltar algunas consideraciones que siempre debemos tener presente para asegurar el éxito en la operación.
Asimismo es importante tener presente que un servidor puede tener configurado un filesystem ACFS con el rol principal pero además podría tener otro con el rol secundario, es decir, un servidor no necesariamente debe tener todos sus filesystems ACFS con el rol principal o secundario de manera exclusiva.
Teniendo en cuenta las consideraciones previamente mencionadas, podríamos sentirnos seguros que la replicación siempre funcionará y nos ayudaría a complementar nuestra estrategia de continuidad de negocio.
Publicado por Ing. Francisco Riccio. Es un IT Architect en IBM Perú e instructor de cursos oficiales de certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application & Base de Datos.
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.