Instalación de ASM

Una vez instalado Oracle Clusterware, se procede con la instalación de ASM (si se optó por esta opción). Para instalar ASM se utiliza el mismo CD de instalación del software de Oracle, ejecutando el OUI con usuario “oracle”

cd /cdrom/database
./runInstaller

Cuando aparece la pantalla “Welcome” hacer click en “next” para continuar.

Pantalla “Select installation type”

Seleccionar el tipo de instalación deseado y hacer click en “next”

Pantalla “Specify Home Details”

En esta pantalla se especifica la ubicación del directorio HOME de ASM. Si bien ASM y la base de datos puede compartir los mismos archivos, es recomendable instalarlos por separado. Es decir que ASM tendrá su propio ORACLE_HOME (también llamado ASM_HOME u ORA_ASM_HOME). Se sugiere utilizar un nombre que refleje que es el HOME de ASM. Por ejemplo:

/u01/app/oracle/product/10.2.0/asm

Pantalla “Specify Hardware Cluster Installation Mode”

Aquí hay que hacer click en la opción “Cluster Installation” y marcar todos los nodos que conforman el cluster. Si OUI no muestra todos los nodos, se puede diagnosticar el problema ejecutando el comando

olsnodes -v

ubicado en ORA_CRS_HOME/bin y analizando el resultado. También se puede utilizar el utilitario cluvfy para diagnosticar problemas. Click en “next” para continuar.

Pantalla “Product-Specific  Prerequisite checks”

Aquí OUI verifica que se cumplan los requerimientos para una instalación exitosa. Si se detecta algun problema, se puede intentar resolverlo abriendo otra terminal. Una vez resuelto el problema, regresar a OUI y hacer click en “retry”.

Pantalla “Select Configuration Option”

En esta pantalla hay que seleccionar el botón “Configure ASM” y proveer una password para el usuario SYS. Luego hacer click en “next”.

Pantalla “Configure ASM Storage”

En esta pantalla hay que proveer al menos un nombre de disk group y el nivel de redundancia. Luego seleccionar los archivos que compondrán ese disk group.

Pantalla “Summary”

Permite revisar que todo está de acuerdo con lo planeado para luego confirmar la instalación.

Pantalla “Install”

Permite monitorear el avance de la instalación

Pantalla de ejecución de scripts de configuración

En esta pantalla OUI solicita la ejecución del script root.sh en los nodos especificados. Ejecutar el script y luego volver a la pantalla y hacer click en “continue”

Pantalla “End of Installation”

Cuando la instalación finaliza, aparece esta pantalla en la que OUI presenta las URL’s de iSqlPlus. Hacer click en “Exit”.

Verificación de la instalación de Oracle Clusterware

Una vez finalizada la instalación de Oracle Clusterware y antes de continuar con la instalación del software de base de datos, se debe verificar la instalación y el mecanismo de startup de Oracle Clusterware. A partir de Oracle Real Application Clusters 10g, la administración del cluster es controlada por los procesos background evmd, ocssd y crsd. Para verificar que estos procesos están funcionando hay que ejecutar el siguiente comando en cada nodo:

ps -ef | grep d.bin

Para verificar el mecanismo de startup hay que confirmar que estén las entradas correspondientes en el archivo /etc/inittab (una entrada por cada proceso: evmd, cssd, crsd)
Si hay alguna dificultad con la instalación de Oracle Clusterware se pueden chequear los archivos de log ubicados en los siguientes directorios de cada nodo:

  • $ORACLE_CRS_HOME/log/hostname (contiene el alert.log)
  • $ORACLE_CRS_HOME/log/hostname/crsd
  • $ORACLE_CRS_HOME/log/hostname/cssd
  • $ORACLE_CRS_HOME/log/hostname/evmd
  • $ORACLE_CRS_HOME/log/hostname/client (logs del OCR file)

Si está todo OK se puede proceder con la instalación del resto del software de base de datos.

Instalación de Oracle Clusterware

Para instalar Oracle Clusterware hay que ejecutar el comando runInstaller ubicado en el subdirectorio clusterware del CD-ROM de Oracle Clusterware Release 2.

Pantalla “Welcome”

Esta es la primer pantalla que aparece, hacer click en “next”.

Pantalla “Specify inventory directory and credentials”

Ingresar la ubicación del directorio del inventario. Si la variable ORACLE_BASE fue configurada de forma apropiada, OUI nos propondrá la ubicación adecuada de este directorio de acuerdo con los lineamientos de OFA. Lo mismo ocurrirá con el grupo del sistema operativo.
Hacer click en “next”

Pantalla “Specify Home Details”

Esta pantalla permite especificar el directorio HOME de Oracle Clusterware; es decir, el directorio donde se instalará todo el software del cluster. Por ejemplo:

/u01/crs/1020

Pantalla “Product-Specific prerequisite checks”

OUI chequea el ambiente para asegurar que se cumplan los requisitos mínimos para la instalación de Oracle Clusterware. El instalador chequea la existencia de packages críticos, paramétros del kernel, configuraciones de red, etc. Si se detecta algún problema, OUI ofrece la posibilidad de corregirlo antes de continuar. Hacer click en “next”.

Pantalla “Specify Cluster Configuration”

En esta pantalla hay que completar el nombre del cluster (asegurarse de que sea único en la red). Si en la ventana de nodos no aparecen todos los nodos del cluster, se pueden agregar presionando el botón “add” y completando los datos solicitados: nombres públicos, privados y virtuales de los nodos. Todos estos nombres deben poder ser resueltos por todos los nodos vía DNS o vía archivo /etc/hosts.

Pantalla “Specify Network Interface Usage”

En esta pantalla hay que especificar qué interfaces de red se utilizarán para la comunicación internodo.

Pantalla “Specify Cluster Registry (OCR) location”

En esta pantalla hay que especificar el nombre completo del archivo OCR. Si se está utilizando un esquema de espejado de discos externos, hay que hacer click en el botón “External redundancy” y OUI solicitará una sola ubicación. Si no se utiliza un sistema de espejado hay que hacer click en “Normal redundancy” y OUI solicitará dos ubicaciones para los archivos. Para el segundo caso es altamente deseable que cada archivo OCR esté ubicado en un disco o volumen diferente.

Pantalla “Specify Voting Disk location”

El objetivo principal del voting disk es ayudar en situaciones de falla de la comunicación entre los nodos. Cuando falla la comunicación entre nodos, el cluster no puede dejar disponibles a todos los nodos ya que no puede sincronizar las operaciones de I/O en el storage compartido. Por lo tanto alguno de los nodos debe quedar offline. El voting disk se utiliza para comunicar información de estado de los nodos a fin de determinar qué nodo pasará a estado offline. Como el voting disk debe poder ser accedido por todos los nodos, el archivo debe estar ubicado en el storage compartido (ya sea raw device o cluster file system) Si no existe un esquema de espejado de discos es recomendable configurar al menos tres voting disks.

Pantalla “Summary”

En esta pantalla OUI especifica todo lo que va a instalar. Hacer click en el botón “Install” y aparecerá la pantalla de progreso de instalación, OUI copia el software al nodo local y luego a los nodos remotos.

Pantalla de ejecución de scripts de configuración

En este paso de la instalación OUI nos indica que hay que ejecutar los scripts orainstroot.sh y root.sh en todos los nodos del cluster. El script root.sh ejecuta los siguientes asistentes (sin intervención manual):

 – Oracle Cluster Registry Configuration Tool (ocrconfig)
 – Cluster Configuration Tool (clscfg)

Es importante ejecutar los scripts en el mismo orden que lo propone OUI.
Pantalla de fin de la instalación

Click en “exit” para cerrar OUI.

Verificación de la configuración del Cluster con Cluvfy

El utilitario Cluster verification Utility (cluvfy) permite ejecutar validaciones de preinstalación y posinstalación en varias etapas del proceso de instalación de una base RAC. El utilitario cluvfy esta disponible para Oracle 10g Release 2. Para verificar si la configuración del cluster esta lista para la instalación de Oracle Clusterware:

runcluvfy.sh stage -post hwos -n all -verbose

Almacenamiento en Oracle RAC: raw devices, Cluster File System y ASM

Un sistema de archivos tradicional (file system) es una estructura de árbol compuesta por directorios y archivos que se implementa a traves del kernel del sistema operativo. El sistema de archivos utiliza el concepto de buffering de cache optimizando el número de veces que el sistema operativo debe acceder al disco. El sistema de archivos toma el control de las operaciones de entrada/salida liberando a los procesos de esta operación y permitiéndoles continuar con otras operaciones. El sistema de archivos retiene en cache los datos a escribir hasta tener múltiples datos para procesar en forma conjunta, lo cual mejora el rendimiento del sistema.

En una arquitectura de Oracle RAC dos o mas instancias en servidores separados compartirían un mismo sistema de archivos pues el almacenamiento es único para ambas instancias. Sin embargo los sistemas de archivos tradicionales provistos por Unix no ofrecen esta prestación; es decir que dos servidores Unix no pueden compartir un mismo file system.

Las opciones que propone Oracle para poder implementar un sistema de múltiples instancias sobre un almacenamiento único son tres: raw devices, Cluster file System (CFS) y Automatic Storage Management (ASM). A continuación, un detalle de cada opción.

Raw Devices
Un raw device es una región contigua de un disco accedida a través de una interface que provee acceso “crudo” al sistema de entrada/salida. Al decir acceso “crudo” estamos diciendo que no es a través del sistema de archivos. En Unix, esta interface se implementa con un dispositivo de caracter (character-device). De este modo se logra un acceso directo entre un proceso y un disco lógico. En una implementación de este tipo, la ejecución de una operación de escritura hecha por un proceso moverá los datos al dispositivo en forma directa (no a través del file system). Si bien esta solución es muy eficiente (sobre todo en un sistema con alta contención de entrada/salida), es la mas compleja de todas las opciones desde el punto de vista administrativo.

Cluster File System (CFS)
Los sistemas de archivos en cluster (CFS) permiten que múltiples servidores puedan acceder al mismo sistema de archivos. CFS resuelve las desventajas y complejidades de los raw devices proveyendo una solución más simple para la administración del almacenamiento. Oracle soporta diversos tipos de CFS: Oracle Cluster File system (OCFS), Veritas Cluster File System (VCFS), IBM GPFS, Tru64 File System. La desventaja de esta solución es su costo, dado que las alternativas provistas por los diversos vendors requerirán de su correspondiente licencia. En el caso de Oracle Cluster File System (OCFS), si bien es libre, sólo está disponible para entornos Linux y Windows.

Automatic Storage Management (ASM)
Automatic Storage Management es la solución provista y elegida por Oracle que virtualiza el acceso al almacenamiento actuando como interface entre una instancia Oracle y el dispositivo de almacenamiento que contiene los datos. ASM provee tanto las prestaciones de un file system como las de un volume manager. ASM se implementa como una instancia Oracle que deberá estar presente en cada uno de los nodos que conforman el cluster. ASM es la solución mas recomendada por Oracle. Implementando ASM se evita la complejidad de los raw devices y se evita el costo económico de licenciamiento de Cluster File System.

Utilización de particiones raw en Oracle RAC

Si bien las versiones de Linux suelen proveer un LVM (Logical Volume Manager), no siempre soportan clusters. Por esta razón Oracle no soporta el uso de Logical Volumes en RAC.
Para crear las particiones raw requeridas habrá que seguir los siguientes pasos:

1) Instalar los discos compartidos y reiniciar el sistema
2) Identificar los nombres de los dispositivos de disco que se utilizarán para la base:

/sbin/fdisk -l

3) Particionar los dispositivos. Utilice los siguientes lineamientos para la creación de particiones:

  • utilice el comando p para listar la tabla de particiones del dispositivo
  • utilice el comando n para crear una particion
  • utilice el comando w para escribir la modificación en la tabla de particiones del disco

Una vez creadas las particiones, deberá hacerse el bind entre particiones y raw devices:

1) Antes de proceder hay que determinar si ya existen raw devices en esta situación. Para determinarlo ejecutar el siguiente comando:

/usr/bin/raw -qa

Los raw devices tienen nombres del tipo
/dev/raw/rawn donde n es el número que identifica al raw device.

2) Luego habrá que abrir el archivo /etc/sysconfig/rawdevices y agregar una fila por cada partición creada. Por ejemplo:

/dev/raw/raw1 /dev/sda1

especificando raw devices no utilizados para cada partición creada.

3) Para el raw device creado para el Oracle Cluster Registry (OCR) es necesario ejecutar los siguientes comandos a fin de configurar dueño, grupo y permisos del archivo de dispositivo

chown root:dba /dev/raw/rawn
chmod 640 /dev/raw/rawn

4) Por cada raw device especificado en el archivo rawdevices es necesario ejecutar los siguientes comandos a fin de configurar dueño, grupo y permisos de cada archivo de dispositivo

chown oracle:oinstall /dev/raw/rawn
chmod 660 /dev/raw/rawn

5) Por último se hará el binding entre las particiones y los raw devices con la ejecución del siguiente comando:

/sbin/service rawdevices restart

A fin de que el Database Configuration Assistant (DBCA) pueda identificar adecuadamente la particion raw para cada datafile, es necesario crear un archivo de mapeo de raw devices de la siguiente manera:

1) Crear un subdirectorio en el directorio ORACLE_BASE y configurar el dueño, grupo y permisos apropiados:

mkdir -p $ORACLE_BASE/oradata/dbname
chown -R oracle:oinstall $ORACLE_BASE/oradata
chmod -R 775 $ORACLE_BASE/oradata

2) En el directorio dbname crear el archivo dbname_raw.conf y agregarle por ejemplo las siguientes lineas:

SYSTEM=/dev/raw/raw1
SYSAUX=/dev/raw/raw2
TEMP=/dev/raw/raw3
…………
…………

3) Grabar el archivo y configurar la variable de entorno DBCA_RAW_CONFIG especificando el path completo hacia ese archivo.

Obtención del software OCFS

Si se ha decidido utilizar Oracle Cluster File System como parte de la solución RAC, habrá que obtener la versión compilada del producto de http://oss.oracle.com/products/ocfs/
Para el caso de Linux, habrá que obtener e instalar los siguientes packages rpm:

  • ocfs-support-1.0-n.i386.rpm
  • ocfs-tools-1.0-n.i386.rpm

Por último habrá que obtener el modulo kernel ocfs-2.4.21-4typeversion.rpm
(la variable typeversion indica  el tipo y versión de kernel que se utiliza). En RedHat, por ejemplo, para determinar el tipo y versión instalado en su máquina puede ejecutar

uname -a

El identificador alfanumérico que aparece al final del nombre del kernel indica la versión del kernel que se esta utilizando. Obtenga el módulo de kernel que corresponda para esa versión.