从11.2.0.2开始,oracle 的集群软件grid infrastructure(gi)中新增了redundant interconnect with highly available ip(haip),以
从11.2.0.2开始,oracle 的集群软件grid infrastructure(gi)中新增了redundant interconnect with highly available ip(haip),以实现集群私网的高可用性和负载均衡。
在11.2.0.2之前,私网的冗余一般是通过在os上做网卡绑(如bonding, etherchannel等)实现的,,有了haip之后,无需使用网卡绑定就可以实现私网网卡的冗余。
在安装gi的过程中,可以定义多个私网网卡来实现私网的冗余,如图:
安装后,haip地址自动设置为169.254.*.*,这个地址不可以手动设置。haip 最少为1个,最多为4个(1块网卡,1个haip;2块网卡,2个haip; 3块及以上,4个haip), 均匀的分布在私网的网卡上。
案例:
1. 查看haip资源状态
$ crsctl stat res -t -init
name
target state server state_details cluster resources
-------------------------------------------------------------------------------------------------
ora.cluster_interconnect.haip
online online node2 1
2.查看haip地址和分布情况。
#ifconfig -a
eth1 link encap:ethernet hwaddr 00:0c:29:4b:b7:66
inet addr:192.168.254.32 bcast:192.168.254.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b766/64 scope:link
up broadcast running multicast mtu:1500 metric:1
......
eth1:1 link encap:ethernet hwaddr 00:0c:29:4b:b7:66
inet addr:169.254.31.199 bcast:169.254.127.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:193 base address:0x1800
eth2 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:192.168.254.33 bcast:192.168.254.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/64 scope:link
up broadcast running multicast mtu:1500 metric:1
......
eth2:1 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:169.254.185.222 bcast:169.254.255.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:169 base address:0x1880
haip均匀的分布在两个私网网卡上。
3. 断掉网卡eth1之后。
eth2 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:192.168.254.33 bcast:192.168.254.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:3206 errors:0 dropped:0 overruns:0 frame:0
tx packets:3916 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:1474658 (1.4 mib) tx bytes:2838774 (2.7 mib)
interrupt:169 base address:0x1880
eth2:1 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:169.254.185.222 bcast:169.254.255.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:169 base address:0x1880
eth2:2 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:169.254.31.199 bcast:169.254.127.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:169 base address:0x1880
haip one 漂移到了网卡eth2上。
4. 网卡eth1恢复之后。
eth1 link encap:ethernet hwaddr 00:0c:29:4b:b7:66
inet addr:192.168.254.32 bcast:192.168.254.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b766/64 scope:link
up broadcast running multicast mtu:1500 metric:1
......
eth1:1 link encap:ethernet hwaddr 00:0c:29:4b:b7:66
inet addr:169.254.31.199 bcast:169.254.127.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:193 base address:0x1800
eth2 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:192.168.254.33 bcast:192.168.254.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/64 scope:link
up broadcast running multicast mtu:1500 metric:1
......
eth2:1 link encap:ethernet hwaddr 00:0c:29:4b:b7:70
inet addr:169.254.185.222 bcast:169.254.255.255 mask:255.255.128.0 up broadcast running multicast mtu:1500 metric:1
interrupt:169 base address:0x1880
haip one 回到了网卡eth1上。
注意:haip地址失败不会对ocssd产生影响,也就是说haip失败,不会导致节点重启。
haip 对数据库和asm的影响
数据库和asm实例使用这个haip作为cluster interconnect,以下是alert.log的片段。
cluster communication is configured to use the following interface(s) for this instance
169.254.31.199
169.254.185.222
cluster interconnect ipc version:oracle udp/ip (generic)
ipc vendor 1 proto 2
oracle数据库和asm实例可以通过haip来实现私网通讯的高可用性和负载均衡。私网的流量会在这些私网网卡上实现负载均衡,
如果某个网卡出现了故障,它上面的haip会自动切换到别的可用的私网网卡上,从而不影响私网的通讯。
注意:haip 是不允许被手动停止或禁用的,除非是由于某些版本或者平台不支持。
关于haip的更多介绍,请参考my oracle support note 文档1210883.1.