Monday, October 19, 2009

How to Setup 10gRAC with Solaris (IPMP)

On Solaris, IP network multipathing (IPMP) provides physical interface failure detection and transparent network access failover for a system with multiple interfaces on the same IP link.

On 10gRAC, It's a good question, How to Setup 10gRAC with Solaris (IPMP) ?

Setup Cluster Interconnect (metalink: 368464.1):
rac01:
- Physical IP : 10.10.10.1
- Test IP for ce2 : 10.10.10.11
- Test IP for ce3 : 10.10.10.12

rac02:
- Physical IP : 10.10.10.2
- Test IP for ce2 : 10.10.10.21
- Test IP for ce3 : 10.10.10.22

Check & configure...
oifcfg getif | grep -i cluster_interconnect
If already configuration... with "cluster_interconnect", then delete with 'oifcfg delif'
oifcfg delif [-node <nodename> | -global] [ <if_name> [/ <subnet> ]]
$ oifcfg getif | grep -i cluster_interconnect
ce2 10.10.10.0 global cluster_interconnect
ce3 10.10.10.0 global cluster_interconnect
$ oifcfg delif -global ce2
$ oifcfg delif -global ce3
set the CLUSTER_INTERCONNECTS parameter in the spfile/init.ora (RDBMS/ASM) to the Physical IP (IPMP)... and check on GV$CLUSTER_INTERCONNECTS as well.
rac database:
rac1.CLUSTER_INTERCONNECTS=10.10.10.1
rac2.CLUSTER_INTERCONNECTS=10.10.10.2

SQL> ALTER SYSTEM SET CLUSTER_INTERCONNECTS = '10.10.10.1' scope=spfile sid='rac1';

SQL>ALTER SYSTEM SET CLUSTER_INTERCONNECTS = '10.10.10.2' scope=spfile sid='rac2';

on ASM:
+ASM1.CLUSTER_INTERCONNECTS=10.10.10.1
+ASM2.CLUSTER_INTERCONNECTS=10.10.10.2
.
.
virtual IP (metalink:283107.1):
rac01:
- Physical IP : 192.168.10.10
- Test IP for ce0 : 192.168.10.11
- Test IP for ce1 : 192.168.10.12
- Oracle VIP : 192.168.10.1

rac02:
- Physical IP : 192.168.10.20
- Test IP for ce0 : 192.168.10.21
- Test IP for ce1 : 192.168.10.22
- Oracle VIP : 192.168.10.2

=> New 10gRAC installation:
In vipca (VIP Configuration Assistant, 1 of 2), select all NIC's within the same IPMP group where the VIP should run...

=> Existing 10gRAC installation, use "srvctl" to modify:
http://download.oracle.com/docs/cd/B19306_01/rac.102/b14197/srvctladmin.htm#CHDBJBIG
# srvctl config nodeapps -n rac01 -a
VIP exists.: /rac01-vip/192.168.10.1/255.255.255.0/ce0

# srvctl stop nodeapps -n rac01
# srvctl modify nodeapps -n rac01 -A 192.168.10.1/255.255.255.0/ce0\|ce1
# srvctl config nodeapps -n rac01 -a
VIP exists.: /rac01-vip/192.168.10.1/255.255.255.0/ce0:ce1
# srvctl start nodeapps -n rac01
# srvctl config nodeapps -n rac02 -a
VIP exists.: /rac02-vip/192.168.10.2/255.255.255.0/ce0
# srvctl stop nodeapps -n rac02
# srvctl modify nodeapps -n rac02 -A 192.168.10.2/255.255.255.0/ce0\|ce1
# srvctl config nodeapps -n rac02 -a
VIP exists.: /rac02-vip/192.168.10.2/255.255.255.0/ce0:ce1
# srvctl start nodeapps -n rac02
After modifed... use "srvctl config nodeapps -n nodename -a" to check.

No comments: