Eu precisava remover o HAIP do ODA após migrar para a versão 18.8.0.0.0 e decidi preparar este procedimento.
Esse plano de ação deve exigir apenas uma reinicialização do clusterware versus correção, o que pode resultar em duas ou três reinicializações do clusterware.
Vamos ao procedimento.
1. Backup gpnp profile
[grid@testoda1 peer]$ cd /u01/app/18.0.0.0/grid/gpnp/'hostname'/profiles/peer
[grid@testoda1 peer]$ cp -p profile.xml profile.xml.bkp
[grid@testoda2 peer]$ /u01/app/18.0.0.0/grid/gpnp/'hostname'/profiles/peer
[grid@testoda2 peer]$ cp -p profile.xml profile.xml.bkp
2. Obtenha as interfaces cluster_interconnect (apenas no node 1)
[grid@testoda1 ~]$ /u01/app/18.0.0.0/grid/bin/oifcfg getif
btbond1 10.32.16.0 global public
p1p1 192.168.16.0 global cluster_interconnect,asm
p1p2 192.168.17.0 global cluster_interconnect,asm
Observe: que os nomes de interface privada podem ser diferentes, dependendo do modelo e / ou versão do ODA que foi usada para implantar a máquina etc.
No restante desta nota, estamos usando p1p1 / p1p2 como exemplo nas etapas abaixo.
3. Faça backup de arquivos ifcfg- <interface> existentes
[root@testoda1 ~]# cd /etc/sysconfig/network-scripts [root@testoda1 network-scripts]# cp ifcfg-p1p1 backupifcfgFiles/ifcfg-p1p1.bak [root@testoda1 network-scripts]# cp ifcfg-p1p2 backupifcfgFiles/ifcfg-p1p2.bak [root@testoda2 ~]# cd /etc/sysconfig/network-scripts [root@testoda2 network-scripts]# cp ifcfg-p1p1 backupifcfgFiles/ifcfg-p1p1.bak [root@testoda2 network-scripts]# cp ifcfg-p1p2 backupifcfgFiles/ifcfg-p1p2.bak
4. Crie ifcfg-icbond0 e modifique os arquivos ifcfg- <interface>
[root@testoda1 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-icbond0
# This file is automatically created by the ODA software.
DEVICE=icbond0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
TYPE=BOND
IPV6INIT=no
NM_CONTROLLED=no
PEERDNS=no
MTU=9000
BONDING_OPTS="mode=active-backup miimon=100 primary=p1p1"
IPADDR=192.168.16.24
NETMASK=255.255.255.0
[root@testoda1 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-p1p1
# This file is automatically created by the ODA software.
DEVICE=p1p1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
USERCTL=no
# disable generic and large receive offloads on all interfaces,
# to prevent known problems, specifically in bridge configurations.
ETHTOOL_OFFLOAD_OPTS="lro off gro off"
IPV6INIT=no
PEERDNS=no
BOOTPROTO=none
MASTER=icbond0
SLAVE=yes
MTU=9000
[root@testoda1 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-p1p2
/etc/sysconfig/network-scripts/ifcfg-p1p2
# This file is automatically created by the ODA software.
DEVICE=p1p2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
USERCTL=no
# disable generic and large receive offloads on all interfaces,
# to prevent known problems, specifically in bridge configurations.
ETHTOOL_OFFLOAD_OPTS="lro off gro off"
IPV6INIT=no
PEERDNS=no
BOOTPROTO=none
MASTER=icbond0
SLAVE=yes
MTU=9000
[root@testoda2 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-icbond0
# This file is automatically created by the ODA software.
DEVICE=icbond0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
TYPE=BOND
IPV6INIT=no
NM_CONTROLLED=no
PEERDNS=no
MTU=9000
BONDING_OPTS="mode=active-backup miimon=100 primary=p1p1"
IPADDR=192.168.16.25
NETMASK=255.255.255.0
[root@testoda2 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-p1p1
# This file is automatically created by the ODA software.
DEVICE=p1p1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
USERCTL=no
# disable generic and large receive offloads on all interfaces,
# to prevent known problems, specifically in bridge configurations.
ETHTOOL_OFFLOAD_OPTS="lro off gro off"
IPV6INIT=no
PEERDNS=no
BOOTPROTO=none
MASTER=icbond0
SLAVE=yes
MTU=9000
[root@testoda2 network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-p1p2
# This file is automatically created by the ODA software.
DEVICE=p1p2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
USERCTL=no
# disable generic and large receive offloads on all interfaces,
# to prevent known problems, specifically in bridge configurations.
ETHTOOL_OFFLOAD_OPTS="lro off gro off"
IPV6INIT=no
PEERDNS=no
BOOTPROTO=none
MASTER=icbond0
SLAVE=yes
MTU=9000
5. Criando / substituindo init.ora-s para instâncias APX
[grid@testoda1]$ echo "+APX1.cluster_interconnects='192.168.16.24'" > $ORACLE_HOME/dbs/init+APX1.ora
[grid@testoda2]$ echo "+APX2.cluster_interconnects='192.168.16.25'" > $ORACLE_HOME/dbs/init+APX2.ora
6. Pare o Clusterware no node 2
[root@testoda2 ~]# /u01/app/18.0.0.0/grid/bin/crsctl stop crs -f
7. Defina a nova interface cluster_interconnect ligada e remova as interfaces p1p1 / p1p2 da configuração (apenas no node 1)
[grid@testoda1 ~]$ oifcfg setif -global icbond0/192.168.16.0:cluster_interconnect,asm
[grid@testoda1 ~]$ oifcfg getif
btbond1 10.209.244.0 global public
p1p1 192.168.16.0 global cluster_interconnect,asm
p1p2 192.168.17.0 global cluster_interconnect,asm
icbond0 192.168.16.0 global cluster_interconnect,asm
[grid@testoda1 ~]$ oifcfg delif -global p1p1/192.168.16.0
[grid@testoda1 ~]$ oifcfg delif -global p1p2/192.168.17.0
[grid@testoda1 ~]$ oifcfg getif
btbond1 10.209.244.0 global public
icbond0 192.168.16.0 global cluster_interconnect,asm
8. Remova a dependência do HAIP no ora.asm
[root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr ENABLED=0 -init
[root@testoda2 ~]# /u01/app/18.0.0.0/grid/bin/crsctl modify res ora.cluster_interconnect.haip -attr ENABLED=0 -init
[root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl modify res ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd) pullup(ora.cssd,ora.ctssd) weak(ora.drivers.acfs)', STOP_DEPENDENCIES='hard(intermediate:ora.cssd)'" -init
[root@testoda2 ~]# /u01/app/18.0.0.0/grid/bin/crsctl modify res ora.asm -attr "START_DEPENDENCIES='hard(ora.cssd,ora.ctssd) pullup(ora.cssd,ora.ctssd) weak(ora.drivers.acfs)', STOP_DEPENDENCIES='hard(intermediate:ora.cssd)'" -init
9. Removendo o recurso ora.cluster_interconnect.haip
[root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl delete resource ora.cluster_interconnect.haip -init –f
[root@testoda2 ~]# /u01/app/18.0.0.0/grid/bin/crsctl delete resource ora.cluster_interconnect.haip -init –f
10. Pare o Clusterware no node1
[root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl stop crs -f
11. Reinicie a rede
[root@testoda1 network-scripts]# service network restart
[root@testoda1 network-scripts]# ifconfig -a
[root@testoda1 network-scripts]# cat /proc/net/bondinf/icbond0
[root@testoda2 network-scripts]# service network restart
[root@testoda2 network-scripts]# ifconfig -a
[root@testoda2 network-scripts]# cat /proc/net/bondinf/icbond0
12. Reinicie o Clusterware
[root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl start crs
[root@testoda2 ~]# /u01/app/18.0.0.0/grid/bin/crsctl start crs
13. Reinicie o dcs-agent para redescobrir as interfaces automaticamente
[grid@testoda1 ~]# /opt/oracle/dcs/bin/restartagent.sh
[grid@testoda2 ~]# /opt/oracle/dcs/bin/restartagent.sh
14. Verificando o serviço de cluster após remover o serviço
[root@testoda1 ~]# [root@testoda1 ~]# /u01/app/18.0.0.0/grid/bin/crsctl check cluster -all ************************************************************** testoda1: CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online ************************************************************** testoda2: CRS-4537: Cluster Ready Services is online CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online **************************************************************
Espero ter ajudado com este procedimento