关于ORACLERAC心跳问题的释疑

1、rac心跳的作用:
检测集群节点间的网络健康状态,还可用做缓存同步刷新及全局资源维护。在grid control出现后还传输数据块,其内联数据通信量比较大,通常是千兆网,当然使用万兆更好。

成都创新互联公司成立于2013年,我们提供高端成都网站建设成都网站制作成都网站设计、网站定制、成都营销网站建设成都小程序开发、微信公众号开发、营销推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为生料搅拌车企业提供源源不断的流量和订单咨询。

2、rac心跳能否用直连网线?
直连网线限制RAC至两节点,另外直连网线不稳定,由此造成的BUG和技术问题,ORACLE不提供相应的技术支持。
具体看ORACLE官方解释:
RAC: Frequently Asked Questions [ID 220970.1]中描述

Is crossover cable supported as an interconnect with RAC on any platform ?

NO. CROSS OVER CABLES ARE NOT SUPPORTED. The requirement is to use a switch:

 Detailed Reasons:

 1) cross-cabling limits the expansion of RAC to two nodes

 2) cross-cabling is unstable:

 a) Some NIC cards do not work properly with it. They are not able to negotiate the DTE/DCE clocking, and will thus not function. These NICS were made cheaper by assuming that the switch was going to have the clock. Unfortunately there is no way to know which NICs do not have that clock.

 b) Media sense behaviour on various OS's (most notably Windows) will bring a NIC down when a cable is disconnected. Either of these issues can lead to cluster instability and lead to ORA-29740 errors (node evictions).

 Due to the benefits and stability provided by a switch, and their afforability ($200 for a simple 16 port GigE switch), and the expense and time related to dealing with issues when one does not exist, this is the only supported configuration.

 From a purely technology point of view Oracle does not care if the customer uses cross over cable or router or switches to deliver a message. However, we know from experience that a lot of adapters misbehave when used in a crossover configuration and cause a lot of problems for RAC. Hence we have stated on certify that we do not support crossover cables to avoid false bugs and finger pointing amongst the various parties: Oracle, Hardware vendors, Os vendors etc...

3、rac心跳的高可用
rac心跳实现高可用,可使用双网口绑定的技术,操作系统层面实现。双网口绑定常见有负载均衡和主备模式。负载均衡可提供两倍的带宽(实际并达不到,只是可快一些),但从可靠性角度来说,建议主备模式。在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不会出现网络中断,系统会按照/etc/rc.d/rc.local里指定的网卡顺序工作,机器仍能对外服务,起到了失效保护的功能。

补充资料:

linux系统下bond mode参数说明:(mode=4 在交换机支持LACP时推荐使用,其能提供更好的性能和稳定性)

0-轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。
1-高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。
2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。
4-802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)
5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。
6-适配器输入/输出负载均衡模式,在”模式5″的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。

4、rac双心跳的可行性
rac心跳使用双网口绑定后,是一个私有的地址隶属于一个vlan,采用主备模式,两条网线分别连接两个不同的交换机。这是操作系统层面就可实现的。如果rac心跳采用两个私有VLAN,那么心跳就会有两个私有地址。双心跳地址间如何做负载均衡或主备模式,就由ORACLE数据库自己来实现(操作系统层不再做绑定)。oracle在11G R2之后的版本11.2.0.2里支持这种方式,由于这个HAIP新特性刚推出有BUG,建议大家使用11.2.0.4版更稳定。官方的举例是针对多个数据库instance高互连带宽要求的。
官方具体说明请参见http://docs.oracle.com/database/121/RACAD/admin.htm#RACAD7295

文档ID 1210883.1详细介绍了HAIP,其中对HAIP的描述如下:
Redundant Interconnect without any 3rd-party IP failover technology (bond, IPMP or similar) is supported natively by Grid Infrastructure starting from 11.2.0.2.  Multiple private network adapters can be defined either during the installation phase or afterward using the oifcfg.  Oracle Database, CSS, OCR, CRS, CTSS, and EVM components in 11.2.0.2 employ it automatically.

Grid Infrastructure can activate a maximum of four private network adapters at a time even if more are defined. The ora.cluster_interconnect.haip resource will start one to four link local  HAIP on private network adapters for interconnect communication for Oracle RAC, Oracle ASM, and Oracle ACFS etc.

Grid automatically picks free link local addresses from reserved 169.254.*.* subnet for HAIP. According to RFC-3927, link local subnet 169.254.*.* should not be used for any other purpose. With HAIP, by default, interconnect traffic will be load balanced across all active interconnect interfaces, and corresponding HAIP address will be failed over transparently to other adapters if one fails or becomes non-communicative. .

The number of HAIP addresses is decided by how many private network adapters are active when Grid comes up on the first node in the cluster .  If there's only one active private network, Grid will create one; if two, Grid will create two; and if more than two, Grid will create four HAIPs. The number of HAIPs won't change even if more private network adapters are activated later, a restart of clusterware on all nodes is required for the number to change, however, the newly activated adapters can be used for fail over purpose. 

5、每一套业务系统数据库的RAC心跳是否需要做vlan隔离?
oracle官方没有明确说明,出于安全的特定要求,自己可以做VLAN隔离,小的VLAN比较多则会增加一些管理和配置成本。


网页名称:关于ORACLERAC心跳问题的释疑
URL网址:http://scyanting.com/article/igjggd.html