上个专题我们讲了ASM的内容和管理
http://www.zhaibibei.cn/asm/
要想使用ASM我们首先了解Oracle提供给我们的集群软件
在Oracle 9i(包括)前,我们搭建集群环境都需要借助第三方的软件
之后Oracle提供了自己的软件来进行集群的搭建
Oracle版本:11.2.0.4
1.什么是集群件(Clusterware)
Oracle集群软件让服务器可以互相通信,以使他们可以以一个集合单元向外提供服务,这种形式的结合我们称之为集群(Cluster)
Oracle集群件提供运行RAC的必要的基础架构,同时也负责管理一些资源(resource)
虚拟IP地址 (virtual IP)
数据库
监听(isteners)
服务(services)
这些服务通常命名为ora.host_name.resource_name的形式
只有在Oracle 指导下我们才建议编辑这些资源
上图是一个典型的Oracle集群架构,在集群上运行了Oracle数据库RAC并同时向外提供服务
使用Oracle集群有如下好处
提高应用的可扩展性
降低高可用性架构的成本
提供故障转移功能
通过添加资源来提供性能
减少软硬件故障带来的停机时间
可单独管理各个资源
可自动开启异常关掉的进程
最大的好处为它脱离了第三方的集群软件,提供了从磁盘管理(ASM)到数据管理(RAC)的全套解决方案
Oracle集群件包含两个重要组件
Voting Disk 用来保存节点成员信息
Oracle Cluster Registry (OCR) 用来保存集群的配置信息
他们必须保存在共享存储中,并让所有节点可访问
2. Oracle集群系统要求2.1 Oracle集群硬件需求2.1.1 网络需求
集群中的节点至少需要2块网卡
一块用于对外服务(Public)
一块用来用于节点之间的通信(Private)
私有网卡之间至少需要千兆网络支持且不支持交叉线连接
为确保网络的高可用性,我们推荐至少2块网卡做网卡绑定用于Public,2块网卡做网卡绑定用于Private
2.1.2 存储要求
集群要求可被多台设备同时访问的设备,支持如下:
NFS
iSCSI
Direct Attached Storage (DAS)
Storage Area Network (SAN) storage
Network Attached Storage (NAS)
同样Oracle推荐使用多路径来确保存储连接的高可用性
2.1.3安装位置需求
Oracle建议集群软件安装在各自的节点服务器中,这样一个节点损坏不会对其他节点有影响
2.2 Oracle集群操作系统要求
Oracle集群所需的操作系统环境需要经过Oracle认证
Linux平台:
http://www.oracle.com/technetwork/database/clustering/tech-generic-linux-new-086754.html
Unix平台:
http://www.oracle.com/technetwork/database/clustering/tech-generic-unix-new-166583.html
Windows平台:
http://www.oracle.com/technetwork/database/clustering/tech-generic-windows-new-166584.html
Oracle集群软件和数据库软件是独立的,我们可以在装好集群软件后安装数据库软件(RAC)
2.3 Oracle集群软件需求
Oracle集群使用Voting Disk和OCR来进行集群的管理
2.3.1 Voting Disk
Oracle集群使用Voting Disk 文件来决定哪些节点属于集群,我们可以将其放置在ASM或者一般的共享存储中
ASM中的Voting Disk 我们无需手动配置,ASM会根据磁盘组冗余度来自动管理建立其副本
如果没有将其放置在ASM中,Oracle建议我们手动在不同物理设备中建立至少3个Voting DIsk
至少需要3个Voting Disk,最多15个
2.3.2 Oracle Cluster Registry(OCR)
Oracle集群使用OCR来存储及管理集群内的资源,包括RAC数据库,监听,VIP等
OCR在一个树状结构内以key-value对的形式来存储配置信息
Oracle建议为OCR配置多个位置来确保高可用性,另外:
我们最多就可以配置五个位置
每个位置必须配置在共享存储中,并可以被每个节点访问
我们可以在线覆盖一个失败的OCR文件,当其不是唯一一个的时候
我们必须通过一些工具来维护OCR,如 CRSCTL,SRVCTL,OCRCONFIG,DBCA
3. Oracle集群网络配置3.1 Public IP
该IP作为公共的IP需要能被所有客户端连接,如不使用GNS我们需要在集群节点中静态分配该IP
该IP需要至少一张物理网卡
3.2 Virtual IP
该IP为虚拟IP,需要被所有客户端和Public IP连接
正常情况下其分布在各个节点中,当节点无法发生故障时,上面的VIP会转移至其他节点,以保证该IP可正常服务
3.3 Private IP
该地址为集群所需的私有IP地址,它主要负责集群中各节点数据的内部传输(Cache Fusion),它不应该能被Public/Virtual IP以及客户端所连接
该IP需要至少一张物理网卡
私有网卡之间至少需要千兆网络支持且不支持交叉线连接
4. Single Client Access Name (SCAN)
SCAN为Oracle 11.2 新的功能,他主要起到一个中转作用,客户端连接到SCAN 上,其依次将该请求转发至集群中的VIP上,而不用关心集群中各节点的IP信息
我们必须为集群配置一个SCAN
它是一个域名,其解析到一个至三个IP地址上,解析的方法如下:
4.1 手动配置
这是我们最常用的一种SCAN配置方式
它配置简单,但是只能对应一个IP地址,我们需要在hosts文件中指定
Public IP
Virtual IP
Private IP
SCAN IP
Public IP 及Private IP需要在节点中静态配置
4.2 GNS配置
这种方法配置复杂,需要DNS和DHCP服务器的支持,一般很少用
他可以支持三个SCAN IP地址,同时需要一个GNS VIP用于接收客户端请求
我们只需要指定GNS VIP,以及各节点的Public 和Virtual IP
各节点的VIP以及SCAN IP通过DHCP获取
Public IP 及Private IP需要在节点中静态配置
GNS可参考如下链接:
http://72.32.201.108/rac/Oracle_RAC_with_GNS.html
以上参考自官方文档:
https://docs.oracle.com/cd/E11882_01/rac.112/e41959/intro.htm#CWADD90953
领取专属 10元无门槛券
私享最新 技术干货