RAC_网络_VIP漂移_SCAN IP

client-->scan listener(scan ip)-->local listener(vip)-->local instance

client-->RAC listener(vip或public ip)-->local instance

 

 

RAC查看SCAN ip是多少的方法

/ect/hosts或srvctl config scan

RAC查看SCAN ip在哪个机器上的方法

srvctl status scan

一般单机的lsnrctl status只有一个host信息,而rac实例会出现两个host信息,一个值为127.0.0.1PUBLIC IP,另一个为VIP

出现127.0.0.1而不是PUBLIC IP原因:ping 服务器名对应的是127.0.0.1而不是PUBLIC IP,造成这样现象的原因是/etc/hosts文件中服务器名对应IP127.0.0.1的那一行放在了服务器名对应IPPUBLIC IP的那一行的上面导致

因为动态配置时listener中默认用host=服务器名,/ets/hosts谁在上面那就谁是服务器名的IP。/ets/hosts标准顺序应该为127.0.0.1放在PUBLIC IP下面


 

RAC一个节点宕机后,VIP会漂移

出现了这样的情况,testdb01宕机后,testdb02执行ifconfig发现两个节点的VIP和scan ip都出现在了testdb02上。但是节点2执行lsnrctl status发现还是只有节点2自己的VIP和scan ip,也就是说外部还是无法通过节点1的VIP连接DB,因为节点1实例已经宕机了。VIP的原理就是这样,节点A宕机后,vip会漂移到另一台正常的节点B上,但是该VIP不会出现在节点B的监听信息中,该VIP虽然存在但是无法对外服务了。

实验过的:当节点没有宕机,仅仅关闭节点的监听或仅仅关闭节点的DB,VIP不会漂移。只有宕机了才会漂移

SCAN IP迁移和LISTENER_SCAN1监听器

现象1

安装好一套RAC并完全启动(含DB、ASM、LISTENER都启动了),刚开始发现只有节点1的/u01/app/grid/network/admin/listener.ora中具有LISTENER_SCAN1的监听器,节点2没有。且root用户下ifconfig发现节点SCAN IP在节点1下面,节点2下面没有SCAN IP。

现象2

当节点1宕机后,发现节点2下面

/u01/app/grid/network/admin/listener.ora自动修改了,里面有了LISTENER_SCAN1的监听器的信息,且节点2的root用户下ifconfig发现SCAN IP的信息了

结论:通过以上现象了解到,SCAN IP会漂移,且哪个节点有了SCAN IP,则其grid用户下的/u01/app/grid/network/admin/listener.ora文件中就有LISTENER_SCAN1的监听器,当下次SCAN IP漂移到了其他节点,原来节点上的/u01/app/grid/network/admin/listener.ora文件中的LISTENER_SCAN1的监听器还在,不会自动删除,也就是说虽然SCAN IP漂移了,但是/u01/app/grid/network/admin/listener.ora文件中的LISTENER_SCAN1信息还在

深入理解

其实RAC中每台节点服务器只有一个网卡也可以实现RAC,在这些网卡上虚拟出多个网卡,只要这样网卡连接的交换机有多个网段,不同的网段分配给不同的虚拟网卡,这样就实现了private ip和public ip和vip之间的通信,而现实环境中交换机上是可以配置有多个网段的


 

RACIP是否都可以用来建立连接的案例

客户端tns的配置如下

MIOA =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.20.202)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.20.204)(PORT = 1521))

    (LOAD_BALANCE = yes)

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = MIOA)

       (FAILOVER_MODE=

         (TYPE = session)

         (METHOD = basic)

         (RETRIES = 180)

         (DELAY = 5)

    )

    )

  )

服务端/etc/hosts配置如下

#Public ip  eth0

10.98.20.202 node1

10.98.20.204 node2

#Private ip  eth1

150.150.1.3 node1-priv

150.150.1.4 node2-priv

#Virtual ip

10.98.20.205 node1-vip

10.98.20.206 node2-vip

#Scan ip

10.98.20.207 rac-scan

服务器端两个实例lsnrctl status显示IPservice名称是MIOA

实例1

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.20.202)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.20.205)(PORT=1521)))

实例2

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.20.204)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.98.20.206)(PORT=1521)))

SCAN IP显示在第一个节点

[oracle@node1 ~]$ srvctl status scan

SCAN VIP scan1 is enabled

SCAN VIP scan1 is running on node node1

[oracle@node1 ~]$ ssh mdsdb04

Last login: Fri Aug 12 09:41:55 2016 from node1

[oracle@node2 ~]$ srvctl status scan

SCAN VIP scan1 is enabled

SCAN VIP scan1 is running on node node1

客户端通过TNS连接情况

第一次

sqlplus system/123456@MIOA

select instance_name和show parameter instance_name都是第一个节点的实例名

第二次,不关闭第一次的连接,再开一个链接

sqlplus system/123456@MIOA

select instance_name和show parameter instance_name都是第二个节点的实例名

第三次

sqlplus system/m1oa_+14@10.98.20.202:1521/MIOA

select instance_name和show parameter instance_name都是第一个节点的实例名

第四次

sqlplus system/m1oa_+14@10.98.20.204:1521/MIOA

select instance_name和show parameter instance_name都是第二个节点的实例名

第五次

sqlplus system/m1oa_+14@10.98.20.205:1521/MIOA

select instance_name和show parameter instance_name都是第一个节点的实例名

第六次

sqlplus system/m1oa_+14@10.98.20.206:1521/MIOA

select instance_name和show parameter instance_name都是第二个节点的实例名

第七次

sqlplus system/m1oa_+14@10.98.20.207:1521/MIOA

ORA-12545: 因目标主机或对象不存在, 连接失败

结论:TNS配置负载均衡模式时,会自动分配到不同的节点,SCAN IP虽然存在,按个人安装RAC不使用DNS的方法,发现SCAN IP并不能被使用,因为lsnrctl status并没有出现SCAN IP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值