Agregando una nueva interfaz de red a la red privada Cluster Interconnect (HAIP)

La mayoría de los problemas que suceden en un Oracle Rac están relacionados con problemas de desconexión en la red privada.


Como sabemos, el software de Oracle Clusterware funciona con dos redes diferentes.

Una red pública: utilizada para conexiones de usuarios finales hacia los recursos soportados en el clúster.

Una red privada: necesaria para comunicación entre nodos que integran el clúster. Mediante  esta red cada uno de los nodos conoce el estado de los demás y pueden mantener la integridad de este tipo de infraetructura.

En versiones anteriores de Oracle Clusterware era necesario utilizar tecnologías de terceros para ofrecer alta disponibilidad de interfaces de red en la red privada. Por ejemplo conceptos como ‘bonding’ en Linux y Windows o grupos IPMP’s en sistemas Unix. A partir de la versión 11.2 de Oracle Grid Infraestructure, Clusterware es capaz de crear redundancia de interfaces de red para asegurar la comunicación dentro de la red privada.

A continuación el procedimiento para agregar una segunda interfaz de red:

El escenario inicial es el siguiente, tenemos una instalación de Oracle Clusterware 12c con dos nodos:

oel-nodo1
oel-nodo2

En cada uno de los nodos únicamente existen dos interfaces de red: una para la red pública y otra para la red privada, ubicadas en las subredes 192.168.1.0 y 172.17.1.0 respectivamente.

[grid@oel-nodo1 ~]$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:39:E5:98 
          inet addr:192.168.1.151  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe39:e598/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:11344 (11.0 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:12:23:0D 
          inet addr:172.17.1.1  Bcast:172.17.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe12:230d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:63 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:11025 (10.7 KiB)

Para verificar la asignación a nivel de Clusterware utilizamos:

[grid@oel-nodo1 ~]$ oifcfg getif
eth0  192.168.1.0  global  public
eth1  172.17.1.0  global  cluster_interconnect

El primer paso es agregar las interfaces de red físicamente. En cada uno de los nodos se ha agregado la interfaz eth0 y se le asigno una ip dentro del mismo segmento a la que pertenece la red privada:

eth2      Link encap:Ethernet  HWaddr 08:00:27:CD:F4:AF 
          inet addr:172.17.1.3  Bcast:172.17.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fecd:f4af/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:21282 (20.7 KiB)  TX bytes:11960 (11.6 KiB)

Verificamos que Oracle Clusterware sea capaz de ver la nueva interfaz agregada:

[grid@oel-nodo1 ~]$ oifcfg iflist
eth0  192.168.1.0
eth1  172.17.1.0
eth2  172.17.1.0

El siguiente paso será agregar la interfaz nueva para crear la redundancia en la red privada:

[root@oel-nodo1 ~]# oifcfg setif -global eht2/172.17.1.0:cluster_interconnect
[root@oel-nodo1 ~]#

Después de agregar la nueva interfaz de red, Clusterware necesita un reinicio en todos los nodos para que los cambios en las nuevas interfaces tomen efecto.

[root@oel-nodo1 ~]# crsctl stop cluster -all
CRS-2673: Attempting to stop 'ora.crsd' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.crsd' on 'oel-nodo2'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN3.lsnr' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.oc4j' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.mgmtdb' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN2.lsnr' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.cvu' on 'oel-nodo1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'oel-nodo2'
CRS-2677: Stop of 'ora.cvu' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.oel-nodo2.vip' on 'oel-nodo2'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.oel-nodo1.vip' on 'oel-nodo1'
CRS-2677: Stop of 'ora.LISTENER_SCAN2.lsnr' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.LISTENER_SCAN3.lsnr' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.scan2.vip' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.scan3.vip' on 'oel-nodo1'
CRS-2677: Stop of 'ora.oel-nodo2.vip' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.scan2.vip' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.oel-nodo1.vip' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.scan3.vip' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.mgmtdb' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.MGMTLSNR' on 'oel-nodo1'
CRS-2677: Stop of 'ora.MGMTLSNR' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'oel-nodo1'
CRS-2677: Stop of 'ora.asm' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'oel-nodo2'
CRS-2677: Stop of 'ora.DATA.dg' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'oel-nodo2'
CRS-2677: Stop of 'ora.asm' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.scan1.vip' on 'oel-nodo2'
CRS-2677: Stop of 'ora.scan1.vip' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'oel-nodo2'
CRS-2677: Stop of 'ora.ons' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'oel-nodo2'
CRS-2677: Stop of 'ora.net1.network' on 'oel-nodo2' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'oel-nodo2' has completed
CRS-2677: Stop of 'ora.crsd' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.evmd' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.storage' on 'oel-nodo2'
CRS-2677: Stop of 'ora.storage' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'oel-nodo2'
CRS-2677: Stop of 'ora.ctssd' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.evmd' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.asm' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'oel-nodo2'
CRS-2677: Stop of 'ora.oc4j' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'oel-nodo1'
CRS-2677: Stop of 'ora.ons' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'oel-nodo1'
CRS-2677: Stop of 'ora.net1.network' on 'oel-nodo1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'oel-nodo1' has completed
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'oel-nodo2'
CRS-2677: Stop of 'ora.cssd' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.crsd' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.evmd' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.storage' on 'oel-nodo1'
CRS-2677: Stop of 'ora.storage' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'oel-nodo1'
CRS-2677: Stop of 'ora.ctssd' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.evmd' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.asm' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'oel-nodo1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'oel-nodo1'
CRS-2677: Stop of 'ora.cssd' on 'oel-nodo1' succeeded
[root@oel-nodo1 ~]#

[root@oel-nodo1 ~]# crsctl stop crs
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.crf' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'oel-nodo1'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'oel-nodo1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.crf' on 'oel-nodo1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'oel-nodo1'
CRS-2677: Stop of 'ora.mdnsd' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'oel-nodo1' succeeded
CRS-2677: Stop of 'ora.gipcd' on 'oel-nodo1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'oel-nodo1' has completed
CRS-4133: Oracle High Availability Services has been stopped.

[root@oel-nodo2 ~]# crsctl stop crs
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.crf' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.gpnpd' on 'oel-nodo2'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'oel-nodo2'
CRS-2677: Stop of 'ora.drivers.acfs' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.crf' on 'oel-nodo2' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'oel-nodo2'
CRS-2677: Stop of 'ora.mdnsd' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'oel-nodo2' succeeded
CRS-2677: Stop of 'ora.gipcd' on 'oel-nodo2' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'oel-nodo2' has completed
CRS-4133: Oracle High Availability Services has been stopped.

Y finalmente iniciamos de nuevo los servicios en cada nodo:

[root@oel-nodo1 ~]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

[root@oel-nodo2 ~]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

Cuando verificamos las interfaces disponibles podremos observar la nueva interfaz disponible para la red privada.

[root@oel-nodo1 ~]# oifcfg getif
eth0  192.168.1.0  global  public
eth1  172.17.1.0  global  cluster_interconnect
eht2  172.17.1.0  global  cluster_interconnect

Esta característica nos permite aprovechar al máximo las capacidades de Oracle Clusterware y no depender de tecnologías de terceros para la redundancia de un elemento tan importante como lo es la red privada de nuestro cluster.

Espero sea de utilidad, 

Comments

Popular posts from this blog

Cómo extraer Archive Logs desde un Backup Piece

Ejemplo práctico con SQL Tuning Advisor y SQL Access Advisor

Guía rápida de uso de Oracle ASMLib