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

2.查看HAIP地址和分布情况。

#ifconfig -a
eth1 Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:192.168.254.32 Bcast:192.168.254.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b766/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
......
eth1: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.31.199 Bcast:169.254.127.255 Mask:255.255.128.0 <=====HAIP address one.
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: Base address:0x1800
eth2 Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:192.168.254.33 Bcast:192.168.254.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
......
eth2: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.185.222 Bcast:169.254.255.255 Mask:255.255.128.0 <=====HAIP address two.
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: Base address:0x1880

haip均匀的分布在两个私网网卡上。

3. 断掉网卡eth1之后

eth2      Link encap:Ethernet  HWaddr :0C::4B:B7:
inet addr:192.168.254.33 Bcast:192.168.254.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (1.4 MiB) TX bytes: (2.7 MiB)
Interrupt: Base address:0x1880
eth2: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.185.222 Bcast:169.254.255.255 Mask:255.255.128.0 <=====HAIP address two.
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: Base address:0x1880
eth2: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.31.199 Bcast:169.254.127.255 Mask:255.255.128.0 <=====HAIP address one. 网卡一eth1的HAIP漂移到eth2上
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: Base address:0x1880

 HAIP one 漂移到了网卡eth2上。
4. 网卡eth1恢复之后。

eth1      Link encap:Ethernet  HWaddr :0C::4B:B7:
inet addr:192.168.254.32 Bcast:192.168.254.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b766/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
......
eth1: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.31.199 Bcast:169.254.127.255 Mask:255.255.128.0 <=====HAIP address one. HAIP又回来了
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: Base address:0x1800
eth2 Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:192.168.254.33 Bcast:192.168.254.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe4b:b770/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
......
eth2: Link encap:Ethernet HWaddr :0C::4B:B7:
inet addr:169.254.185.222 Bcast:169.254.255.255 Mask:255.255.128.0 <=====HAIP address two.
UP BROADCAST RUNNING MULTICAST MTU: Metric:
Interrupt: 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 proto

Oracle数据库和ASM实例可以通过HAIP来实现私网通讯的高可用性和负载均衡。私网的流量会在这些私网网卡上实现负载均衡,
如果某个网卡出现了故障,它上面的HAIP会自动切换到别的可用的私网网卡上,从而不影响私网的通讯。
注意:HAIP 是不允许被手动停止或禁用的,除非是由于某些版本或者平台不支持。

关于HAIP的更多介绍,请参考My Oracle Support Note 文档1210883.1.

以上文章整理自:

https://blogs.oracle.com/Database4CN/entry/11gr2_rac_%E6%96%B0%E7%89%B9%E6%80%A7%E4%B9%8Bhighly_available_ip

Oracle 11g 新特性之Highly Available IP(HAIP)的更多相关文章

  1. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  2. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  3. 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境

    Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...

  4. Oracle 11g新特性

    文章转自网络 Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(I ...

  5. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  6. Oracle 11g新特性 -- 延迟段

    11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...

  7. Oracle 11g 新特性(一)-- 虚拟列

    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...

  8. Oracle 11g 新特性 -- Oracle Restart 说明(转载)

    转载:http://blog.csdn.net/tianlesoftware/article/details/8435670 一.  OHASD 说明 Oracle 的Restart 特性是Oracl ...

  9. Oracle 11g新特性direct path read引发的系统停运故障诊断处理

    黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1.故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常 ...

随机推荐

  1. ASP.NET MVC 必须设置 ErrorMessageString 或 ErrorMessageResourceName,但不能同时设置二者。

    解决方案: 1.此错误是指你的验证错误信息为空(required="")和required提示信息一致,引发的错误. 简单的来说就是两个验证错误提示消息一样了. 2.修改提示消息解 ...

  2. 分布式服务框架dubbo原理解析(转)

    libaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair)等.这个框架/工具/产品 ...

  3. Java并发编程之阻塞队列

    1.什么是阻塞队列? 队列是一种数据结构,它有两个基本操作:在队列尾部加入一个元素,从队列头部移除一个元素.阻塞队里与普通的队列的区别在于,普通队列不会对当前线程产生阻塞,在面对类似消费者-生产者模型 ...

  4. 【Alpha版本】十天冲刺——日志集合贴

    No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 Day1 Day2 Day3 Day ...

  5. 时间戳 时区 java mysql

    当一个时间 比如2016年5月6日,生成时间戳.这个运算是与时区有关的.首先得确认这个时间是哪个时区的,然后转换成utc时区的时间.再减去1970,得到的秒数,就是时间戳. 时间戳是个一定的值,他与时 ...

  6. python变量

    1. 系统变量 (1) '__doc__' 文件注释,在py中代码最上方""" """里面一般写注释,系统会把文件注释自动存放在'__doc ...

  7. JS中的decodeURIComponent和encodeURIComponent

    两个函数可以对特定函数生成的密码字符串进行解密操作,就可以生成为未解密的字符串 使用方法: //加密 encodeURIComponent("http://www.cnblogs.com/7 ...

  8. 面试题目——《CC150》排序与查找

    面试题11.1:给定两个排序后的数组A和B,其中A的末端有足够的缓冲空间容纳B.编写一个方法,将B合并入A并排序. package cc150.sort_search; public class Me ...

  9. 三、Shell变量类型和运算符

    一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给 ...

  10. 进入OS前的两步之PendSV(任务切换)

    先了解下如何使用PendSV异常.(为何要使用PendSV而不是其他的异常,请参考<cortex-M3权威指南>) 1,如何设定PendSV优先级? NVIC_SYSPRI14 EQU 0 ...