11G Highly Available Virtual IP (haip)

Highly Available Virtual IP
Starting with Oracle RAC 11.2.0.2, Oracle has introduced Redundant Interconnect Usage feature to support IP failover. Oracle uses its ora.cluster_interconnect.haip resource to provide this functionality. The Highly Available Internet Protocol (HAIP) has the ability to activate a maximum of four private interconnect connections. These private network adapters can be configured during the initial installation process of Oracle Grid Infrastructure or after the installation process using the oifcfg utility.
Oracle Grid Infrastructure currently creates an alias IP (known as virtual private IP) on private network interface using the 169.254.*.* subnet for the HAIP. However, if that subnet range is already in use, Oracle Grid Infrastructure will not attempt to use it. The purpose of HAIP is to perform. load balancing across all active interconnect interfaces, and fail over existing non-responsive interfaces to other available interfaces.

Note: interconnect will use virtual private IP 169.254.167.163 instead of real private IP. For pre-11.2.0.2 instance, by default it will still use the real private IP; to take advantage of the new feature, init.ora parameter cluster_interconnects can be updated each time Grid is restarted .
NOTE: If using the 11.2.0.2 (and above) Redundant Interconnect/HAIP feature (as documented in CASE 2 below) - At present it is REQUIRED that all interconnect interfaces be placed on separate subnets.  If the interfaces are all on the same subnet and the cable is pulled from the first NIC in the routing table a rebootless-restart or node reboot will occur.

 

11G从11.2.0.2 开始加入了haip的功能,其资源名称为ora.cluster_interconnect.haip  ,功能类似SCAN IP,,加入了虚拟IP 在169.254.*.*网段,此虚拟机IP能够在多个节点之间漂移,实际的通信也是通过这个IP进行的,而且文档上说是热备,及正常情况下两条心跳或者多条心跳都是可用的。当使用HAIP如果你只有一个私有网卡那就使用一个HAIP,如果你有2块就建立2个HAIP,如果是2个以上就建立4个。当然每套私有网卡都必须在不同的网段上
下面测试一下,我已经有了一个3节点集群。
首先在任一节点查询当前的网卡配置
[grid@rac2 ~]$ oifcfg getif
eth1  10.0.0.0  global  cluster_interconnect --私有
eth0  172.16.14.0  global  public ---公有

[grid@rac2 ~]$ oifcfg iflist
eth0  172.16.14.0
eth1  10.0.0.0
eth1  169.254.0.0 --- haip

ifconfig 可以看到如下的信息:

eth1:1    Link encap:Ethernet  HWaddr 00:50:56:B0:00:58 
          inet addr:169.254.152.228  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Base address:0x2c40 Memory:d8940000-d8960000
这个就是虚拟机的私有IP
也可以通过各个实例执行
 select name,ip_address from v$cluster_interconnects;
进行查询HAIP
增加一块私有网卡
启动操作系统设置好IP
启动3节点的CRS
/oracle/app/grid/product/11.2.0/bin/crsctl start crs
设置新的私有网卡
/oracle/app/grid/product/11.2.0/bin/oifcfg setif -global eth2/10.10.11.0:cluster_interconnect
重新启动所有节点的CRS
查看配置
[root@rac2 peer]# /oracle/app/grid/product/11.2.0/bin/oifcfg iflist -p -n
eth0  172.16.14.0  PRIVATE  255.255.255.0
eth1  10.10.10.0  PRIVATE  255.255.255.0
eth1  169.254.0.0  UNKNOWN  255.255.128.0
eth2  10.10.11.0  PRIVATE  255.255.255.0
eth2  169.254.128.0  UNKNOWN  255.255.128.0
查看
eth1      Link encap:Ethernet  HWaddr 00:50:56:B0:00:57 
          inet addr:10.10.10.1  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:feb0:57/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:218928 errors:0 dropped:0 overruns:0 frame.:0
          TX packets:242751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:125886078 (120.0 MiB)  TX bytes:160243706 (152.8 MiB)
          Base address:0x2c40 Memory:d8960000-d8980000

eth1:1    Link encap:Ethernet  HWaddr 00:50:56:B0:00:57 
          inet addr:169.254.40.143  Bcast:169.254.127.255  Mask:255.255.128.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Base address:0x2c40 Memory:d8960000-d8980000

eth2      Link encap:Ethernet  HWaddr 00:50:56:B0:00:14 
          inet addr:10.10.11.1  Bcast:10.10.11.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:feb0:14/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:33853 errors:0 dropped:0 overruns:0 frame.:0
          TX packets:35510 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13739000 (13.1 MiB)  TX bytes:26247347 (25.0 MiB)
          Base address:0x2c80 Memory:d8a40000-d8a60000

eth2:1    Link encap:Ethernet  HWaddr 00:50:56:B0:00:14 
          inet addr:169.254.194.254  Bcast:169.254.255.255  Mask:255.255.128.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Base address:0x2c80 Memory:d8a40000-d8a60000
发现已经可以看到新配置的虚拟网卡。这里可以但不是必须把私有网卡2的解析加入到HOSTS,因为oifcfg配置是不需要解析的,
haip之所以容灾,是因为当我们的EHT1故障后,ETH1:1的IP会漂移到eth2上,形成eth2:2,
这个还需要随后测试下。

时间: 2024-10-09 15:01:53

11G Highly Available Virtual IP (haip)的相关文章

【RAC】11g R2 RAC新特性之Highly Available IP(HAIP)

[RAC]11g R2 RAC新特性之Highly Available IP(HAIP) 在Oracle 11.2.0.2之前,私网的冗余一般是通过在OS上做网卡绑定(如Bond等)来实现的,从Oracle 11.2.0.2版本开始推出HAIP(Highly Available Virtual IP)技术替代了操作系统层面的网卡绑定技术,功能更强大.更兼容.HAIP通过其提供的独特的169.254.*网段的IP地址实现集群内部链接的高可用及负载均衡.所以,在11.2.0.2或更高版本安装RAC的

Virtual IP Address的实现

VIP在HA的使用 目前的互联网业务对服务器的依赖度极高,几乎不能容忍非计划的停机.但是机器的故障是无法100%避免的,所以,出现了HA技术,使用冗余的来保证服务可用. 但是,光有冗余还不行,还需要检测故障,故障切换. 目前的流程就是: 正常情况时,灾备系统只是监控服务器的运行. 服务器宕机,灾备系统发现故障. 灾备系统把流量切换到备份服务器. VIP就是用在最后一步,它保证了灾备切换的透明.因为IP无需改变. 一种VIP实现方法 有一种方法就是通过ARP协议实现VIP,因为在数据链路层,数据帧

Virtual IP address

只是翻译一下维基百科的内容. 概念 虚拟IP地址(VIP或VIPA)是一个IP地址指向多个应用程序驻留的单个服务器,多个域名,或者多个服务器,而不是被指向一个特定的服务器或网卡(NIC).传入的数据包会发送到虚拟地址并路由到真实的网络接口. 一个服务器IP地址依赖于网卡上的MAC地址.并且每一个逻辑IP地址只能指向一个网卡.然而,VIP地址能够让若干不同应用和虚拟应用的服务器集合只使用一个逻辑IP地址. VIP有若干变化和实现场景,包括通用地址冗余协议(CARP)和代理地址解析协议(proxy

126.3. HAProxy and Keepalived (Virtual IP)

# yum install -y keepalived # chkconfig keepalived on # echo "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf # sysctl -p 例 126.2. /etc/keepalived/keepalived.conf Master vrrp_script chk_haproxy { script "killall -0 haproxy" #

11g rac配置scan ip

如果是从10g转战11g rac就会发现很多不同之处,其中一个比较大的改变就是在11g中有了一个新特性scan,其实这是一个简称,完整的名称为:SCAN(Single Client Access Name),但是单纯根据简称理解为scan似乎也能说得通. 在10g中我们一般是这么配置tns的.racdb= (DESCRIPTION =   (ADDRESS= (PROTOCOL= TCP)(HOST=192.168.3.101)(PORT= 1521))   (ADDRESS= (PROTOCO

RAC8——scan ip的理解

SCAN概念 先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库.SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现.其中DNS大家都很熟悉,这里不多说.GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和

Oracle 11g R2 RAC高可用连接特性 – SCAN详解2

SCAN概念 先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库.SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现.其中DNS大家都很熟悉,这里不多说.GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和

Oracle 11g R2 RAC高可用连接特性 – SCAN详解1

昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是一小部分. Oracle从11g开始推出SCAN特性可不是我解答那样简单的,SCAN特性在Oracle RAC高可用连接里占据着非常重要的地位,也是以后的重点推进方向. 昨天处理完问题比较晚自己又比较累,所以没有整理出SCAN特性相关资料,今天就抽出点时间把SCAN高可用连接特性介绍出去. 说在前头:文章中核心内容来自官方,当然我也参考了部分前辈们整理的资料,再加以自己的理解和测试整理出

解决oracle客户端可以连接11g rac vip,但是不能连接scan ip问题

local不用动,remote_listern按我说的设置一下,应该就可以了! # Public Network - (eth0) 10.4.56.39    syquadb1 10.4.56.40    syquadb2 # Public Virtual IP (VIP) addresses - (eth1) 10.4.56.41    syquadb1-vip 10.4.56.42    syquadb2-vip # Private Interconnect - (bond0:eth2 et