RAC基本架构
admin
2023-04-21 18:04:28
0次

在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基本架构


存储层

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。


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...