Continuamos con los pasos para instalar y
configurar de manera correcta Oracle Flex Cluster RAC 12cR2 utilizando los
servicios Oracle Grid Naming Services y ASM Filter Driver.
En la primera parte configuramos los servicios DNS
y DHCP sobre un servidor Windows Server 2016; también preparamos los servidores
Oracle Linux para poder soportar la instalación de la Infraestructura Grid y
motor de base de datos 12cR2.
Para este segundo articulo nos vamos a enfocar en
la configuración de los discos compartidos mediante ASM Filter Driver,
verificaremos si la configuración realizada cumple los pre-requisitos de
instalación y finalmente instalaremos la Infraestructura Grid 12cR2.
Comparto nuevamente la información de la
arquitectura de ejemplo:
Definimos los servidores involucrados utilizando
Oracle Virtual Box con 2 segmentos de red:
- Red Pública: 172.68.1.1
- Red Privada: 192.68.1.1
Ambos servidores poseen 2 tarjetas de red para
soportar los segmentos de red definidos.
Nodo 1
|
Nodo 2
|
DNS y DHCP
|
|
Servidor
|
oraclerac1
|
oraclerac2
|
WIN-JZG2016
|
Sistema Operativo
|
Oracle Linux 6.8
|
Oracle Linux 6.8
|
Windows Server 2016
|
IP Publica
|
172.68.1.31
|
172.68.1.33
|
172.68.1.17
|
IP Privada
|
192.68.1.31
|
192.68.1.33
|
Para mi caso, que voy a configurar Oracle Grid
Naming Service (GNS), debo definir una IP virtual llamada GNS-VIP
Nombre
|
gns-vip.oracle.com
|
IP
|
172.68.1.35
|
¿Qué es ASM Filter
Driver?
Oracle ASMFD es una nueva funcionalidad en Oracle
12c que permite validar las escrituras de I/O sobre los discos ASM. Rechaza
todo requerimiento de escritura a disco que se considere invalido y protege los
discos ASM de escrituras accidentales.
Simplifica la configuración y administración de
discos al eliminar la necesidad de nombrar los discos cada vez que el servidor
se reinicie.
Esta nueva funcionalidad ayuda a proteger la
información almacenada en discos ASM y puede llegar a reemplazar la funcionalidad
de cumple ASMLIB.
Personalmente, yo no suelo utilizar ASMLIB; por lo
que ASMFD me ofrece una opción mas interesante para la configuración de los
discos compartidos.
Configuración de Disco
Compartidos con ASM Filter Driver
Para la instalación de una arquitectura Oracle RAC,
es indispensable configurar discos que puedan ser accedidos desde cualquier
nodo del clúster. Estos discos
compartidos pueden estar configurados mediante NAS, SAN, NFS u OCFS. Lo importante es que ambos servidores puedan
ver y modificar la información de manera simultánea.
Durante la instalación de Oracle RAC 12cR2 se
solicita la creación de 2 Diskgroups obligatorios. El primer Diskgroup almacena
los recursos físicos de clúster (OCR y Votingk Disk) y el segundo Diskgroup es
asignado para la base de datos Grid Infraestructue Management Repository. El recurso para los 2 Diskgroups debe
de ser como minino 40Gb de disco compartido.
Para nuestro caso que utilizamos un ambiente
virtualizado (Virtual Box), debemos seguir los siguientes pasos:
1.
Asignar al primer servidor 4 discos de tamaño fijo
y de tipo VDI. La suma de los discos
debe ser como mínimo 40Gb de espacio.
Seleccionamos la opción Administrador de medios
virtuales y definimos los nuevos discos como Compartidos.
Agregamos los discos al segundo servidor del
clúster.
2.
Levantamos los servidores para poder configurar los
nuevos discos compartidos. Formateamos
los discos desde el primer nodo del clúster.
[root@oraclerac1
~]# fdisk /dev/sdf
[root@oraclerac1
~]# fdisk /dev/sdg
[root@oraclerac1
~]# fdisk /dev/sdh
[root@oraclerac1
~]# fdisk /dev/sdi
3.
La funcionalidad ASM Filter Driver se encuentra lista
para utilizar en el instalador de la Infraestructura Grid 12cR2.
Como ya lo había comentado en artículos anteriores,
a partir de la versión Oracle 12cR2, el instalador de la infraestructura Grid
solo se debe descomprimir en la ruta de instalación.
[oracle@oraclerac1 Instaladores]$ cp linuxx64_12201_grid_home.zip
/u01/app/12.2.0/grid/.
[oracle@oraclerac1
grid]$ unzip -q linuxx64_12201_grid_home.zip
4.
Con el usuario root definimos la variable de
entorno ORACLE_HOME y utilizamos el comando afd_label para
poder asignar los discos a un nombre con ASM Filter Driver.
[root@nodo1 oracle]# cd /u01/app/12.2.0/grid/bin
[root@nodo1
oracle]# export ORACLE_HOME=/u01/app/12.2.0/grid
[root@nodo1
oracle]# ./asmcmd afd_label OCR1
/dev/sdf1 --init
[root@nodo1
oracle]# ./asmcmd afd_label DATA1
/dev/sdg1 --init
[root@nodo1
oracle]# ./asmcmd afd_label DATA2
/dev/sdh1 --init
[root@nodo1
oracle]# ./asmcmd afd_label DATA3
/dev/sdi1 –init
5.
Verificamos si las etiquetas fueron creadas en
todos los discos de manera correcta.
[root@oraclerac1
bin]# ./asmcmd afd_lslbl /dev/sdf1
---------------------------------------------------------------------
Label Duplicate Path
=====================================================================
OCR1 /dev/sdf1
[root@oraclerac1
bin]# ./asmcmd afd_lslbl /dev/sdg1
---------------------------------------------------------------------
Label Duplicate Path
=====================================================================
DATA1 /dev/sdg1
[root@oraclerac1
bin]# ./asmcmd afd_lslbl /dev/sdh1
---------------------------------------------------------------------
Label Duplicate Path
=====================================================================
DATA2 /dev/sdh1
[root@oraclerac1
bin]# ./asmcmd afd_lslbl /dev/sdi1
---------------------------------------------------------------------
Label Duplicate Path
=====================================================================
DATA3 /dev/sdi1
6.
Si se desea quitar la etiqueta ASMFD a un disco,
puedes utilizar el comando afd_unlabel
[root@nodo1
oracle]# ./asmcmd afd_unlabel /dev/sdf1 –init
7.
Al momento de etiquetar los discos, ASMFD define
los permisos como root:disk.
Solo por esta vez es necesario definir los permisos
de los discos como oracle:asmadmin en ambos servidores. Esto se
realiza para evitar errores en la verificación de la instalación.
[root@oraclerac1
dev]# chown oracle:asmadmin
/dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
[root@oraclerac1
dev]# chmod 660 /dev/sdf1 /dev/sdg1
/dev/sdh1 /dev/sdi1
[root@oraclerac1
bin]# ls -l /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
[root@oraclerac2
dev]# chown oracle:asmadmin
/dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
[root@oraclerac2
dev]# chmod 660 /dev/sdf1 /dev/sdg1
/dev/sdh1 /dev/sdi1
[root@oraclerac2
bin]# ls -l /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
Verificación de los
servidores del clúster.
Procedemos a verificar la configuración de la
arquitectura que hemos preparado.
Seguimos los siguientes pasos.
1.
Instalar el paquete cvuqdisk que
viene con el instalador de Infraestructura Grid. Es importante instalar dicho paquete en todos
los servidores del clúster.
[root@nodo1 rpm]# cd /u01/app/12.2.0/grid/cv/rpm
[root@nodo1
rpm]# export CVUQDISK_GRP=oinstall
[root@nodo1
rpm]# rpm -ivh cvuqdisk -1.0.10-1.rpm
2.
Verificamos si la configuración GNS se encuentra
correctamente configurada.
[oracle@oraclerac1 grid]$ ./runcluvfy.sh comp gns
-precrsinst -domain gns.oracle.com -vip gns-vip.oracle.com -verbose
Verifying GNS
Integrity ...
Verifying subdomain is a valid name ...PASSED
Verifying GNS VIP is a valid address
...PASSED
Verifying Port 53 available for component
'GNS' ...PASSED
Verifying GNS
Integrity ...PASSED
Verification of
GNS integrity was successful.
CVU operation
performed: GNS integrity
Date: May 31, 2018 7:20:26
PM
CVU home: /u01/app/12.2.0/grid/
User: oracle
3.
Verificamos la configuración de los servidores
donde se instalará la infraestructura Grid 12cR2. En mi caso tengo una advertencia sobre
memoria ya que no cuento con más de 8GB de RAM para cada servidor.
[oracle@oraclerac1
grid]$ ./runcluvfy.sh stage -pre crsinst
-n oraclerac1,oraclerac2
Verifying
Physical Memory ...FAILED (PRVF-7530)
Verifying
Available Physical Memory ...PASSED
Verifying Swap
Size ...PASSED
Verifying Free
Space: oraclerac2:/usr,oraclerac2:/var,oraclerac2:/etc,oraclerac2:/sbin
...PASSED
Verifying Free
Space: oraclerac2:/tmp ...PASSED
Verifying Free
Space: oraclerac1:/usr,oraclerac1:/var,oraclerac1:/etc,oraclerac1:/sbin
...PASSED
Verifying Free
Space: oraclerac1:/tmp ...PASSED
Verifying User
Existence: oracle ...
Verifying Users With Same UID: 500 ...PASSED
Verifying User
Existence: oracle ...PASSED
Verifying Group
Existence: asmadmin ...PASSED
Verifying Group
Existence: asmdba ...PASSED
Verifying Group
Existence: oinstall ...PASSED
Verifying Group
Membership: asmadmin ...PASSED
Verifying Group
Membership: asmdba ...PASSED
Verifying Group
Membership: oinstall(Primary) ...PASSED
Verifying Run
Level ...PASSED
Verifying Hard
Limit: maximum open file descriptors ...PASSED
Verifying Soft
Limit: maximum open file descriptors ...PASSED
Verifying Hard
Limit: maximum user processes ...PASSED
Verifying Soft
Limit: maximum user processes ...PASSED
Verifying Soft
Limit: maximum stack size ...PASSED
Verifying
Architecture ...PASSED
Verifying OS
Kernel Version ...PASSED
Verifying OS
Kernel Parameter: semmsl ...PASSED
Verifying OS
Kernel Parameter: semmns ...PASSED
Verifying OS
Kernel Parameter: semopm ...PASSED
Verifying OS
Kernel Parameter: semmni ...PASSED
Verifying OS
Kernel Parameter: shmmax ...PASSED
Verifying OS
Kernel Parameter: shmmni ...PASSED
Verifying OS
Kernel Parameter: shmall ...PASSED
Verifying OS
Kernel Parameter: file-max ...PASSED
Verifying OS
Kernel Parameter: ip_local_port_range ...PASSED
Verifying OS
Kernel Parameter: rmem_default ...PASSED
Verifying OS
Kernel Parameter: rmem_max ...PASSED
Verifying OS
Kernel Parameter: wmem_default ...PASSED
Verifying OS
Kernel Parameter: wmem_max ...PASSED
Verifying OS
Kernel Parameter: aio-max-nr ...PASSED
Verifying OS
Kernel Parameter: panic_on_oops ...PASSED
Verifying
Package: binutils-2.20.51.0.2 ...PASSED
Verifying
Package: compat-libcap1-1.10 ...PASSED
Verifying
Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSED
Verifying
Package: libgcc-4.4.7 (x86_64) ...PASSED
Verifying
Package: libstdc++-4.4.7 (x86_64) ...PASSED
Verifying
Package: libstdc++-devel-4.4.7 (x86_64) ...PASSED
Verifying
Package: sysstat-9.0.4 ...PASSED
Verifying
Package: ksh ...PASSED
Verifying
Package: make-3.81 ...PASSED
Verifying
Package: glibc-2.12 (x86_64) ...PASSED
Verifying
Package: glibc-devel-2.12 (x86_64) ...PASSED
Verifying
Package: libaio-0.3.107 (x86_64) ...PASSED
Verifying
Package: libaio-devel-0.3.107 (x86_64) ...PASSED
Verifying
Package: nfs-utils-1.2.3-15 ...PASSED
Verifying
Package: e2fsprogs-1.42.8 ...PASSED
Verifying
Package: e2fsprogs-libs-1.42.8 (x86_64) ...PASSED
Verifying
Package: smartmontools-5.43-1 ...PASSED
Verifying
Package: net-tools-1.60-110 ...PASSED
Verifying Port
Availability for component "Oracle Notification Service (ONS)"
...PASSED
Verifying Port
Availability for component "Oracle Cluster Synchronization Services
(CSSD)" ...PASSED
Verifying Users
With Same UID: 0 ...PASSED
Verifying
Current Group ID ...PASSED
Verifying Root
user consistency ...PASSED
Verifying
Package: cvuqdisk-1.0.10-1 ...FAILED (PRVG-11550)
Verifying Node
Connectivity ...
Verifying Hosts File ...PASSED
Verifying Check that maximum (MTU) size
packet goes through subnet ...PASSED
Verifying subnet mask consistency for subnet
"172.68.1.0" ...PASSED
Verifying subnet mask consistency for subnet
"192.68.1.0" ...PASSED
Verifying Node
Connectivity ...PASSED
Verifying
Multicast check ...PASSED
Verifying
Network Time Protocol (NTP) ...
Verifying '/etc/ntp.conf' ...PASSED
Verifying '/var/run/ntpd.pid' ...PASSED
Verifying
Network Time Protocol (NTP) ...PASSED
Verifying Same
core file name pattern ...PASSED
Verifying User
Mask ...PASSED
Verifying User
Not In Group "root": oracle ...PASSED
Verifying Time
zone consistency ...PASSED
Verifying
resolv.conf Integrity ...
Verifying (Linux) resolv.conf Integrity
...PASSED
Verifying
resolv.conf Integrity ...PASSED
Verifying
DNS/NIS name service ...PASSED
Verifying Domain
Sockets ...PASSED
Verifying /boot
mount ...PASSED
Verifying Daemon
"avahi-daemon" not configured and running ...PASSED
Verifying Daemon
"proxyt" not configured and running ...PASSED
Verifying User
Equivalence ...PASSED
Verifying
/dev/shm mounted as temporary file system ...PASSED
Verifying File
system mount options for path /var ...PASSED
Verifying
zeroconf check ...PASSED
Verifying ASM
Filter Driver configuration ...PASSED
Pre-check for
cluster services setup was unsuccessful on all the nodes.
Failures were
encountered during execution of CVU verification request "stage -pre
crsinst".
Verifying
Physical Memory ...FAILED
oraclerac2:
PRVF-7530 : Sufficient physical memory is not available on node
"oraclerac2" [Required
physical memory = 8GB (8388608.0KB)]
oraclerac1:
PRVF-7530 : Sufficient physical memory is not available on node
"oraclerac1" [Required
physical memory = 8GB (8388608.0KB)]
CVU operation
performed: stage -pre crsinst
Date: May 30, 2018 10:24:06
PM
CVU home: /u01/app/12.2.0/grid/
User: oracle
Estamos listos para configurar infraestructura Grid
12cR2 sobre nuestros servidores.
Configuración de
infraestructura Grid 12cR2.
Como indique en pasos anteriores, la instalación de
la infraestructura Grid solo se basa en copiar el archivo ZIP en el directorio correspondiente
y descomprimirlo.
Luego de la descompresión debemos empezar con la
configuración en los siguientes pasos:
1.
Nos ubicamos en el directorio de instalación de
infraestructura Grid y ejecutamos el comando GridSetup.sh
desde el primer nodo del clúster.
[oracle@oraclerac1 grid]$ cd /u01/app/12.2.0/grid
[oracle@oraclerac1
grid]$ ./gridSetup.sh
2.
Seleccionamos la opción de configuración para un
nuevo clúster.
3.
Seleccionamos la opción de configuración para un
nuevo clúster. La configuración clásica se le denomina “Standalone Cluster”.
Oracle Domain Services Cluster es una
nueva opción en Oracle 12cR2 para nubes privadas. En ella, múltiples
configuraciones de clúster se agrupan bajo un mismo servicio de dominio.
4.
Definimos el nombre del clúster, nombre del SCAN,
puerto de SCAN.
Debido a la configuración de este ejemplo,
seleccionamos la configuración GNS y definimos el GNS-VIP y el sub-dominio
definido en el DNS.
5.
Definimos los nodos que serán parte de la
arquitectura de clúster. Podemos definir que tipo de nodo se configura: HUB o
LEAF.
Para la versión Oracle 12cR2 se debe tener al menos
2 nodos HUB para poder soportar nodos de tipo LEAF.
En este punto se configuran las llaves de confianza
SSH entre ambos servidores.
6.
Asignamos una interfaz de red para la Red Pública y
otra, para la Red Privada. La Red ASM es
fundamental para la configuración Flex ASM. Puede configurarse en la misma interfaz que la
Red Privada o puede tener su propia interfaz.
7.
Configuramos los recursos de clúster sobre 2
Diskgroups ASM.
8.
Creamos 2 Diskgroups con los discos configurados
con ASM Filter Driver.
a.
DG_OCR: Para
OCR y Voting Disk.
b. DG_DATA: Para Grid
Infraestructue Management Repository
Como los discos ya se han etiquetado con ASM
Filster Driver, la configuración los reconoce como candidatos para formar parte
del Diskgroups.
Para nuestro ejemplo necesitamos seleccionar la
opción “Configure Oracle ASM Filter
Driver”
9.
Definimos el password para cada usuario
administrador de ASM.
10. Definimos los grupos de sistema operativo para cada Rol y, el directorio
ORACLE_BASE de la instalación.
Si es la primera vez que instalan un producto
Oracle, deben definir el directorio para Oracle Inventory.
11. Cuando la configuración realiza la verificación de los servidores; esta
me muestra una advertencia en la configuración del DNS. Esto se debe a que para poder verificar el
DNS es necesario ingresar el password del usuario Root.
Para poder verificar correctamente este mensaje,
abrimos 2 sesiones al primero servidor del clúster y ejecutamos los siguientes
comandos.
SESION 1
[oracle@oraclerac1
grid]$ ./runcluvfy.sh comp dns -server
-domain gns.oracle.com -vipaddress gns-vip.oracle.com/255.255.255.0/eth2
-verbose -method root
Enter
"ROOT" password:
Verifying Task
DNS configuration check ...
Waiting for DNS
client requests...
Verifying Task
DNS configuration check ...PASSED
Verification of
DNS Check was successful.
CVU operation performed: DNS Check
Date: Jun 2, 2018 9:21:42 PM
CVU home: /u01/app/12.2.0/grid/
User: oracle
SESION 2
[oracle@oraclerac1
grid]$ ./runcluvfy.sh comp dns -client -domain gns.oracle.com -vip
gns-vip.oracle.com -method root -verbose
-last
Enter
"ROOT" password:
Verifying Task
DNS configuration check ...PASSED
Verification of
DNS Check was successful.
CVU operation
performed: DNS Check
Date: Jun 2, 2018 9:22:27 PM
CVU home: /u01/app/12.2.0/grid/
User: oracle
12. Procedemos a ejecutar la configuración de la infraestructura Grid en
modo clúster.
A mitad de la instalación nos solicita ejecutar
scripts con el usuario Root. Es
importante ejecutar los scripts de manera ordenada.
Es muy importante que todos los pasos se ejecuten
de manera correcta.
Finalizamos la instalación de la infraestructura
Grid en modo clúster. Ahora nos toca instalar el motor de base de datos.
No hay comentarios.:
Publicar un comentario