RAC集群
1.集群分类
-高性能计算集群
-负载均衡集群(LB)
-高可用性集群(HA)
2.集群环境特殊问题
-并发控制:利用DLM(Distribute Lock Management)机制来进行多个实例间的并发控制
-健忘症:集群环境配置文件不集中存放,某个节点上配制修改后未同步到其它节点
-脑裂:节点间的心跳出现故障,导致各个节点都认为自己是集群中唯一健在者,投票算法(Quorun Algorithm)解决此问题。
-IO隔离
--IO 隔离硬件和软件方式:1.SCSI Reserve命令"锁住"存储设备,故障节点发现存储设备被锁定后,自动重启节点
2.STONITH(Shoot The Other Node IN the Head),直接操作电源开关
3.Oracle RAC采用软件方式,直接重启动故障节点
-Oracle ARC继承了Oracle Parallel Server(OPS)
-Oracle 集群由存储层、网络层、集群件层、应用层
3.存储层
RAC是一个多实例、单数据库的系统。数据文件,联机日志、控制文件只有一份,一般存储在EMC存储阵列,每个服务器通过HBA卡和光纤线连接到存
储设备.
4.网络层
-Public网卡,用于对外提供对外服务
-Private网卡,用于RAC心跳和Cache Fusion
-存储设备、光纤交换机、每个节点HBA卡组成存储网络,传输入SCSI数据
5.集群件层
-在单机环境中,Oracle运行在OS Kernel之上
-在集群环境中,oracle运行在Clusterware之上
6.应用层
-集群软件CRS对其上的应用软件进行监视、并在发生异常时进行重启、切换,被CRS监控的对象称为CRS资源,包括:
--CRS 资源分两类:nodeapps和database-related resource
--nodeapps包括 ONS,VIP,Listener
--Database-releated 资源包括 Database、Instace、Serviece
7.磁盘文件OCR & Voting Disk
-OCR
OCR位置记录在/etc/oracle/ocr.log(linux) /var/opt/oracle/ocr.log(solarise)
OCR三个分支:SYSTEM、DATABASE、CRS
-OCR Process
每个节点都有一份OCR拷贝,即OCR Cache
每个节点都有一个OCR Process维护OCR内容读写
只能有一个节点OCR Process能够读写OCR Disk中内容,该节点即为OCR Master节点
-Voting Disk
Voting Disk这个文件主要用于记录节点中成员状态,仲裁哪个节点获得集群控制权
查看Voting Disk 位置:crsctl query css votedisk
8.Clusterware后台进程
Clusterware最重要的三个进程:CRSD、CSSD、EVMD
EVMD和CRSD进程异常,系统会自动重两个进程;CSSD进程异常,系统会立即重启
-OCSSD
CSS服务通过多种心跳机制,实时监控集群健康状态、提供脑裂保护等基础集群服功能
CSS服务两种心跳机制:通过私有网络的(Network Hearbeat);另一种是通过Voting Disk的Disk Heartbeat
Disk heartbeat 延时称为:IOT(I/O Timeout)
查看命令:crsctl get css disktimeout
Network heartbeat 延时称为: MC (MisCount)
查看命令: crsctl get css misscount
-CRSD
所有需要"高可用性"的组件,都会在安装时,以CRS Resource的形式登记到OCR中,CRSD进程就是根据OCR中的内容,决定监控那些进程、
如何监控、出现问题时如何解决。也就是说CRSD进程负责监控CRS Resource 的动行状态、并要启动、停止、监控这些资源
-EVMD
这个进程负责发布CRS产生的各种事件(Event)
-RACGIMON
负责检查数据健康状态,负责Service的启动、停止、故障转移。这个进程会建立到数据为的持久连接、定期检查SGA中的特定信息,该信息由PMON进程定时更新
-OPROCD(Process Monitor Daemon)
检查节点的Processor Hang(CPU 挂起)
8.网络组件
-TCP/IP模型
-VIP原理
VIP是浮动的,IP是固定的
-VIP的特点
--VIPCA创建
--VIP作为Nodeapps类型的CRS Restore资源注册到OCR中
--每个节点的Listener同时在Public 网卡和VIP两个地址上监听
--CRS会把故障节点的VIP转移到其他节点上
9.Clusterware的日志体系
目录:$CRS_HOME/log/[node]
-alert.log 类似于数据库的alert.log
-crsd、cssd、evmd 三个进程日志分别crsd.log、ocssd.log、evmd.log
-racg:存放所有nodeapp的日志,包括ONS和VIP
-client:这个目录里面放置的是工具执行日志.