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
机制把请求重新发送到
评论