RAC故障转移过程详细描述

本帖最后由 甲骨论 于 2014-6-25 13:31 编辑

假设有一个2个节点的RAC,正常运行时每个节点上都有一个VIP。 VIP1 和VIP2. 当节点2发生故障,比如异常关系。 RAC 会做如下操作:

1). CRS 在检测到rac2节点异常后,会触发Clusterware 重构,最后把rac2节点剔除集群,由节点1组成新的集群。

2). RAC的Failover 机制会把节点2的VIP转移到节点1上,这时节点1的PUBLIC 网卡上就有3个IP 地址: VIP1,VIP2, PUBLIC IP1.

3). 用户对VIP2的连接请求会被IP层路由转到节点1

4). 因为在节点1上有VIP2的地址,所有数据包会顺利通过路由层,网络层,传输层。

5). 但是,节点1上只监听VIP1和public IP1的两个IP地址。并没有监听VIP2,故应用层没有对应的程序接收这个数据包,这个错误立即被捕获。

6). 客户段能够立即接收到这个错误,然后客户段会重新发起向VIP1的连接请求。

   VIP 特点:

     1). VIP 是通过VIPCA脚本创建的

     2). VIP 作为Nodeapps类型的CRS Resource 注册到OCR中,并由CRS 维护状态。

     3). VIP 会绑定到节点的public 网卡上,故public 网卡有2个地址。

     4). 当某个节点发生故障时,CRS 会把故障节点的VIP 转移到其他节点上。

5). 每个节点的Listener 会同时监听public 网卡上的 public ip 和VIP

6). 客户端的tnsnames.Ora 一般会配置指向节点的VIP



标签: 暂无标签
葬心

写了 4 篇文章,拥有财富 59,被 1 人关注

大数据/数据分析/数据库方面培训优惠码 A24M,Dataguru炼数成金培训报名使用立减50%固定学费!
转播转播 分享分享 分享淘帖
回复

使用道具

成为第一个吐槽的人

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈