vip与ip最不同的是:
vip是浮动的,ip是固定的
ip利用的是tcp超时,vip利用的是应用层的立即响应
假设:是一个2节点的RAC环境,正常运行时每个节点都会有一个vip,节点1的是vip1,节点2的是vip2
现在节点2发生故障,比如异常关机
1>CRS在侦测到节点2的异常后,会触发clusterware的重构,最后把节点2踢出集群,由节点1组成新的集群
2>节点2的vip转移到节点1,这时节点1会有vip1,vip2,public ip 三个ip地址
3>用户对vip2的请求会ip层路由到节点1
4>因为节点1拥有vip2,所以数据包会顺利通过链路层,网络层,传输层
5>但是节点1只监听vip1,public ip,没有监听vip2,在应用层没程序处理这个包,这个错误会立即被捕捉
6>客户端收到这个错误,然后重新向vip1发起连接请求
VIP的特点:
vip是在clusterware安装最后阶段,由vipca创建的
vip作为nodeapps类型的CRS Resource注册到OCR,并由OCR维护
vip会绑定到public 网卡上
当某个节点发送故障时,CRS会将故障节点的vip 转移到其他节点上
每个节点的监听程序会同时监听vip 和public ip
客户端的tnsname.ora一般会指向节点的vip