暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Oracle RAC高可用连接特性 – SCAN详解.docx
111
16页
7次
2024-01-19
5墨值下载
SCAN
概念
先介绍一下什么叫
SCAN
SCAN(Single Client Access Name)
Oracle
11g R2
开始推出的,
客户端可以通过
SCAN
特性负载均衡地连接到
RAC
数据库。
SCAN
提供一个域名来访问
RAC
,域名可以解析
1
个到
3
个(注意,最多
3
个)
SCAN IP
,我们可以通过
DNS
或者
GNS
来解析实现。其中
DNS
大家都很熟悉,这里不多说。
GNS(Grid Naming Service)
则是
Oracle 11g R2
的新功能,可以通过
DHCP
服务为节点和
SCAN
分配
VIP
SCAN IP
。另外
还有个优点是,对于新加入集群的节点,它会自动分配
VIP
地址,更新集群资源,客户端
依然通过
SCAN
特性负载均衡地连接到新增集群节点上。
DNS
GNS
配置与解析相关内
容在下面还有说明。
除了
DNS
GNS
解析方法外,
SCAN
也可以使用
hosts
文件来解析,但用过的人都知道,
此方法不仅在安装
RAC
的时候产生问题,后期使用也是存在问题的,比如
SCAN
域名只能
定义一个
SCAN IP
。所以这种方法也是
Oracle
不推荐使用的。但尽管如此,我见过很多生
产上依然这样使用,也就是废弃了
11g
的新特性
SCAN
,而是依然采用
VIP
连接方式。
备注:有人可能会注意到《此方法不仅在安装
RAC
的时候产生问题》这句,
RAC
安装的
时候的确会报错,但这并不影响后期
Oracle
的使用。
SCAN
最明显的优点就是,当集群中新增加了节点或者删除了节点,不需要额外维护客户
端。
PUBLIC IP, PRIVATE IP, VIP, SCAN VIP, GNS VIP, LOCAL_LISTENER,
REMOTE_LISTENER , LOCAL LISTENER, SCAN LISTENER
RAC
部署的时候,我们都会接触到
PUBLIC IP
PRIVATE I
VIP
等等,那下面就针对
它们进行介绍。
PUBLIC IP :
这是我们网卡上配置的真实
IP
地址,我们称为公共
IP
,这个
IP
的存在关系到
下面介绍的
VIP
能不能正确漂在其所在网卡上。注意,
PUBLIC IP
是不提供给客户端去连
接配置的,这并不是说通过
PUBLIC IP
无法连接实例,而是它会存在节点服务器宕机的时
候所有向它请求的客户端都会有等待现象并且最后得到超时信息的缺点。
PRIVATE IP :
称为私网
IP
(私有
IP
),它是用于心跳同步的,也就是保证两台服务器数据
同步。说道私网
IP
,我简单说下
Oracle
另一个高可用性连接特性 –
HAIP
。其实
Cache
Fusion
会消耗节点服务器很大的私网资源,另外,私网间无法通信还会引起
brain split(
)
,以前为解决这种问题,我们可以采用网卡
bonding
技术,而
Oracle
11g R2
的时候
HAIP
技术来实现,
HAIP(Highly Available Virtual IP)
用于节点间的私网通信,支持同时使用
多个网络连接来满足网卡间的负载均衡,并且还提高了
Cache Fusion
资源通信能力。
HAIP
技术并不是主要内容,所以在这里点到为止。
VIP : RAC
的每个节点都需要有一个虚拟
IP
,这就是
VIP
VIP
需要和
PUBLIC IP
同一个
子网,它们是由
GI
Clusterware
来管理的。
VIP
在其节点服务器发生故障的时候会自动漂
到另外正的节点服务器上,如
RAC
是多个节点行的,那具体动的节
Clusterware
决定。
VIP
发生漂现象后,其当前的节点服务器
LOCAL LISTENER
是不会监听它的请求的,所以有客户端向这个
VIP
请求时,
Clusterware
FAN
会通知
客户端向
VIP
请求,客户端到通知后通过
Failover
制把请求新发
ADDRESS
列表中的其
VIP
上。然有这种较复杂的过,但始对客户端是明进行
的,而且这个过程完成时间非常短暂,客户端也就几乎感受不到有节点宕机。等故障节点
恢复,漂
VIP
到此节点上,继续提供服务。
SCAN VIP : SCAN VIP
就是我在开始说的
SCAN IP
,也就是由
DNS
或者
GNS
hosts
解析出来的
IP
地址。上面也说过,
SCAN VIP
最多能有个,它们循环客户端所请求
到。这里大家可能会存在这样的问题,
SCAN VIP
只有个,那
RAC
节点或更多的节
情况怎办?存在这种问题的原因归咎于对
SCAN VIP
的了解不足。其实,
SCAN VIP
和节点数是任何关系的,
SCAN VIP
个节点上都是机的。
GNS VIP : GNS VIP
SCAN VIP
,也是
Oracle
11g R2
开始提供的。
GNS VIP
是提供
GNS
服务的
IP
地址,它定到个节点的
PUBLIC IP
所在网卡上,当节点出现故障
GNS
资源会自动切换到其的节点继续提供
GNS
解析服务。如我们不使用
GNS
析方法,那么也不会存在
GNS VIP
LOCAL LISTENER :
监听器,
RAC
的每个节点上都会有独立监听器,它会
听该节点的
PUBLIC IP
VIP
,而每个节点的实例在动的时候也向监听器进行注
当然它也会向
SCAN
监听器注,当
VIP
或者
PUBLIC IP(
这种情况较少
)
有连接请求
的时候,监听器就接受处理并和地实例建立连接。如果某个节点故障,其上面的
VIP
会进行漂,但监听器并不会产生漂
SCAN LISTENER : SCAN
监听器,它是实现
SCAN
负载均衡的理所在。如
RAC
上有
SCAN VIP
,那么
SCAN
监听器也有个,它们监听
SCAN VIP
的连接请求。
SCAN
监听跟着
SCAN VIP
机分配到节点服务器上,如果某个节点发生故障行在
此节点上的
SCAN VIP
会进行漂,这时候
SCAN
监听器也跟着到正的节点上,
SCAN VIP
监听连接请求,当
PMON
更新实例信息到
SCAN
监听
后,它又重新接客户端的连接。这和
VIP
产生漂的时候是有所区别的。
LOCAL_LISTENER :
这是
Oracle
数,这个控制着本监听器的注
监听器的工作关系,通过监听器的数据库连接请求只会连接到地节点的实例上。
REMOTE_LISTENER :
LOCAL_LISTENER
Oracle
数,通过这个置,任何
例都会向
SCAN
监听器注,所以
SCAN
监听器能负载均衡地分发连接请求到节点
监听器上,也就是连接到其地节点上实例上。
关于
LOCAL_LISTENER
REMOTE_LISTENER
的配置,在下面的时候再看
一下。
SCAN
解析与配置
SCAN
是在安装
GI(Grid Infrastructure)
时配置的,
Clusterware
资源管理。
忽略
hosts
解析后,有两种方式配置和解析
SCAN: DNS
GNS(Grid Naming Service)
这里点说一下
DNS
解析
SCAN
方式
使用
DNS
解析
SCAN
的时候,
DNS
服务器会采用
rr(round-robin)
的方式循环解析为它
of 16
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜