[Oracle 11g r2(11.2.0.4.0)]集群HAIP介绍

来源:互联网 发布:linux复制文件命令cp 编辑:程序博客网 时间:2024/04/28 15:09

首先看一下11g rac集群各服务依赖关系:
这里写图片描述
对于Oracle集群,私网通信是非常重要的,因为节点和节点之间的通信绝大部分都是要通过私网来实现的。
私网通信基本上可以分为两种:
第一种是集群层面之间的通信;
第二种是数据库实例之间的通信。
第一种通信(例如: 节点间的网络心跳) 的主要特点是持续存在、实时性要求高,但是数据量比较小,所以通过TCP/IP协议传递就可以了。
而第二种通信,也就是读者所熟知的内存融合造成的实例之间的数据传输的特点是数据量很大,而且速度要求非常高,TCP/IP协议此时已经不能满足Oracle的要求了,所以需要使用UDP 或者RDS,同时Oracle也一直建议用户对集群的私网进行高可用性和负载均衡的配置。
对于10g和11gR1
版本的集群,Oracle并不提供私网的高可用性和负载均衡特性,而从11.2.0.2版本开始,Oracle提供了私网的高可用性和负载均衡特性一HAIP。
首先,用户需要在安装GI的过程中为集群的私网指定多块网卡。
HAIP顾名思义就是一个(或多个)IP地址。Oracle会自动在集群的每一块私网网卡上绑定一个169.254.XX.XX 网段的IP地址,这个IP地址被称为HAIP,数据库实例(ASM 实例也同样适用)之间在进行通信时,会通过这个Oracle绑定的IP地址来完成。
当某一块私网网卡出现问题时,对应网卡上绑定的IP地址可以漂移到其他的私网网卡上,这就实现了私网的高可用性。从另一个角度来讲,如果集群包含了多块私网,也就意味着会有多个HAIP 被绑定在每一块私网网卡上,每一块网卡都同时承担实例之间的通信,从而实现了私网通信的负载均衡。Oracle在启动集群时会自动把HAIP绑定到网卡上。
node1:

eth1:1    Link encap:Ethernet  HWaddr 00:0C:29:BE:F6:A5            inet addr:169.254.2.113  Bcast:169.254.255.255  Mask:255.255.0.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

node2:

eth1:1    Link encap:Ethernet  HWaddr 00:0C:29:6E:06:00            inet addr:169.254.93.8  Bcast:169.254.255.255  Mask:255.255.0.0          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

oracle集群最多支持4块私网网卡,网卡数量跟HAIP数量关系如下:
1块私网网卡,1个HAIP
2块私网网卡,2个HAIP
3块私网网卡,4个HAIP
4块私网网卡,4个HAIP。

查看集群初始化资源:
crsctl stat res -t -init

 [grid@node1.localdomain$]crsctl stat res -t -init--------------------------------------------------------------------------------NAME           TARGET  STATE        SERVER                   STATE_DETAILS       --------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.asm      1        ONLINE  ONLINE       node1                    Started             ora.cluster_interconnect.haip      1        ONLINE  ONLINE       node1                                        ora.crf      1        ONLINE  ONLINE       node1                                        ora.crsd      1        ONLINE  ONLINE       node1                                        ora.cssd      1        ONLINE  ONLINE       node1                                        ora.cssdmonitor      1        ONLINE  ONLINE       node1                                        ora.ctssd      1        ONLINE  ONLINE       node1                    ACTIVE:0            ora.diskmon      1        OFFLINE OFFLINE                                                   ora.evmd      1        ONLINE  ONLINE       node1                                        ora.gipcd      1        ONLINE  ONLINE       node1                                        ora.gpnpd      1        ONLINE  ONLINE       node1                                        ora.mdnsd      1        ONLINE  ONLINE       node1  

可以通过 crsctl stat res < resource_type > -p查询资源信息
crsctl stat res命令用法:

[grid@node1.localdomain$]crsctl stat res -t -helpUsage:  crsctl status resource [<resName>[...]|-w <filter>] [<-p|-v> [-e]] | [[-f|-l|-g]] | [[-k <cid>|-n <server>] [-d <did>]] | [-s -k <cid> [-d <did>]]     Check status of designated resources  crsctl status resource [<resName>[...]|-w <filter>] -t     Print status of resources in tabular format  crsctl status resource [<resName>[...]] -dependency [-stop | -pullup]    Print resource dependencieswhere      resName [...]     One or more blank-separated resource names     -w                Resource filter (e.g., "TYPE = ora.database.type")     -p                Print static configuration     -v                Print runtime configuration     -e                Evaluate a resource instance's special values     -f                Print full configuration     -l                Print all cardinal and degree members     -g                Check if resources are registered     -k                Cardinality ID     -d                Degree ID     -n                Server name     -s                Get target servers for relocation     -t                Tabular display     -dependency       Display resource dependencies, default is start dependencies     -stop             Display resource stop dependencies     -pullup           Display resource pullup dependencies

注意:
在有的场景,用户手动禁用HAIP,因为 haip的生成是随机的,在生成之前会在其所在的vlan里检查避免冲突。典型的在比较大的数据中心经常会出现这样的情况 , 在上线前 , 新系统与原有系统是通过不同的vlan隔离的,上线时 再调整到同一个vlan ,这个时候haip就会出现冲突的情况 。

阅读全文
0 0
原创粉丝点击