1 Oracle CluterWare的运行环境是由两个磁盘文件、若干个后台进行和网络元素组成。
1.1 磁盘文件
ClusterWare运行过程中,需要两个文件,分别为:OCR和Voting DISK,这两个文件存储在共享磁盘上。
OCR:是为了解决"健忘"问题,何为健忘:假如两个节点的集群,节点1正常维护需要被关闭,然后在节点2上修改了配置,然后关闭节点2,启动节点1,因为之前在节点2修改的配置没有同步到节点1,导致节点1启动后,仍然用的是老 的配置。
Voting DISK:是为了解决脑裂的问题。何为脑裂:在集群中,需要通过某种机制(心跳)了解各个节点的健康状况,以确定各节点协调工作。如果心跳出现状况,每个节点都认为自己是正常,自己应该获得整个集群的控制权。但是在集群环境中,存储设备是共享的,这就意味着数据灾难,这种就叫做脑裂。解决这个问题通常是通过投票算法,少数服从多数。但是如果只有两个节点呢?这是就需要引入第三个设备 QUORUM DEVICE,当出现故障时,两个节点都需要它的这一票,最先获得这一票的节点为正常,另外的节点被踢出。
1.2 后台进程
Oracle Clusterware Component | Linux进程 | 服务说明 |
Cluster Synchronization Service(CSS) | init.cssd ocssd ocssd.bin | ocssd为CSS服务的关键进程,如果该进程出现异常,会导致系统重启。CSS服务提供多种心跳机制 Voting DISK和Disk heartbeat. |
Cluster Ready Service(CRS) | crsd.bin | clusterware是位于集群层的组件,它要为应用层资源(CRS Resource)提供高可用性服务,因此clusterware必须监控这些资源,并在这些资源运行异常时进行干预,而CRSD进行提供的就是这些服务。所有需要"高可用性"的组件,都会在安装配置的时候,登记到OCR中,而CRSD会根据OCR中的内容,决定监控哪些进程、如何监控等。 应用层资源(CRS Resource)包括:GSD(Global service Daemon)、ONS、VIP、DATABASE、Instance、Service.这些资源被分为两类:noteapps类(GSD ONS VIP),Database-Related Resouce(DATABAE Instance Service) |
Event Manager Service | evmd evmdlogger | EVMD负责发布CRS产生的各种事件 |
Oracle Notication Service(ONS) | ons | |
Process Montitor Maemon | oprocd | |
RACG | racgmain racgimon | 负责检查数据库健康状态,负责service的启动、停止、故障转移。这个进程建立到数据库的持久连接,定期检查SGA中的特定信息,该信息由PMON进程定时更新。 |