在RAC集群中,
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业扶风免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
cache fusion --GCS: 实现实例之间数据块的复制传递
--GES: 负责管理锁
锁PCM_Lock和Non_PCM_Lock(实现节点值的协调) ----锁管理器DML
----管理两种资源
----决定是否允许节点上用户对某个数据块的访问请求
----两种资源CacheFusion资源和Non_CacheFusion
----CacheFusion资源--指数据块资源,如索引块、普通表数据存储的数据块、还原段存储的数据块
记录数据块的版本信息,当前状态、节点分布
----Non_CacheFusion--如数据库缓存、数据文件、参数文件
锁PCM_Lock用于协调节点之间对数据块的并发控制和访问
RAC的优势:提高系统的可靠性(HA)以及平衡系统负载(LB)
高可用:
系统可靠性=1-(1-单点失败故障率)^节点数
随着节点数越高,系统可靠性就越高
平衡系统负载:
在系统负载时,RAC可以自动在多个节点之间平衡负载,减轻单个实例的计算压力
RAC=多个单节点组成的数据库系统,每个单节点上运行单个实例
RAC的特殊问题
并发控制
采用DLM机制管理实例间的并发控制(共享存储)
健忘症
因为日常操作的需要,从而使的数据库关闭,导致集群中的副本配置文件不能同步修改。
脑裂
心跳机制。控制权的问题----投票算法
逻辑上的隔离
IO隔离
问题及目的:确保逻辑隔离的节点无法访问共享数据,即在物理上的隔离
解决:软件方法---重启故障节点
RAC集群的逻辑与物理结构
存储层
RAC=n*instance+1*database
datafile、online logfile、controlfile等存储在共享存储上
每个服务器通过HBA卡和光纤线连接到存储上。
instance=SGA+background process
database=datafile+logfile+controlfile+...
网络层
Public 网卡接入的网络,对外提供查询服务
Private 网卡组成的私有网络,用于RAC的心跳和Cache fusion;
存储设备、光纤交换机、每个节点的HBA卡组成的存储网络
前两个传输的IP数据包,最后一个传输的是SCSI数据
集群件层
存储设备共享,RAC在OS Kernel和oracle之间加上了一层cluster ware
它会在OS Kernel之前截获请求,然后和其它节点上的clusterware 协商,最终完成上层的请求
Linux平台上必须使用CRS(cluster ready service)
应用层
整个应用层是由若干CRS监控的CRS Resource组成的
Resource分成两组nodeapps和database—related resource
包括GSD、ONS、VIP、Listener 在CRS过程中自动创建的
包括Database、Instance、Service 可以自动创建,也可以通过DBCA、Netca、Srvctl
RAC架构详解
1.GRD的作用
该区域用来存储同一个数据库在不同节点上的分不,即多个实例在并发操作一个数据块时,将该数据块放在各自实例的GRC内存区。
2.LMON进程
通过协调通信,去检查各自当前状态
3.LMD进程
LMD提供GES服务,去协调节点之间对同一数据块的访问。
4.LCK进程
锁进程,负责在集群中对统一数据块访问的锁管理。
5.LMSn进程
LMSn提供GCS,在节点之间复制数据块
6.DIAG进程
“日志”进程,记录集群的健康状态,并记录实例错误时的诊断信息
7.参数文件和日志文件的存储
参数文件和日志文件必须在所有节点的实例之间共享。
clusterware组件
1.OCR
OCR 是一个磁盘文件,该文件存储在裸设备上,它的作用是存储RAC集群节点的配置信息,
因为整个环境中只有一个存储配置的磁盘文件,所以实现了对集群配置的同步修改。
2.Voting Disk
该文件用于存储节点状态,该文件是共性存储到裸设备,每个节点都可以访问到,一旦某个节点失效,通过“投票”算法将失效的节点提出集群,重构一个健康的集群。
3.occsd后台进程
集群同步服务,通过某种机制来判断集群中的节点是否“活着”,监控节点健康状态。
ocssd进程就是完成css服务的。
4.crsd进程
crsd进程通过读取OCR文件中存储的资源状态信息,监控管理资源,并在这些资源故障时提供系统的高可用性。
5.其它clusterware进程
EVMD进程负责分发CRS产生的事件
RACGIMON进程负责检查数据库的状态
6.网络设置
两个网卡。private+Public
clusterware安装过程中,还需要配置VIP,该地址绑定到Public网卡上,以实现RAC集群的failover。