0
点赞
收藏
分享

微信扫一扫

Clusterware后台进程

女侠展昭 2022-08-19 阅读 89

Clusterware由若干进程组成,其中最重要的是CRSD,CSSD,EVMD

 

在Clusterware安装的最后阶段,会要求在每个节点执行root.sh脚本,这个脚本实际的作用就是在/etc/inittab文件最后添加3行

 

hi:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 < /dev/null

hi:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 < /dev/null

hi:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 < /dev/null

 

如果EVMD和CRSD出现异常,系统或自动重启这两个进程,如果CSSD进程异常,系统会立即重启

 

------------------------------------------------------------------------------------------------------

 

1、OCSSD

     OCSSD(cluster synchronization service集群同步服务)这个进程是clusterware最关键的进程,如果这个进程异常,会导致系统重启,CSS通过多种心跳机制实时监控集群健康状态,提供脑裂保护等基础集群服务功能。

 

     CSS服务有两种心跳:

 

          network heartbeat:通过私有网络

          disk heartbeat     :通过voting disk‘

     

     这两个心跳都有最大时延,对于disk heartbeat,这个延时叫做IOT(I/O TIMEout),对于network heartbeat 这个延时叫做MC(MISCOUNT),都是以秒为单位,默认IOT大于MC,这两个参数由oracle自动判定,不需要调整。

 

     可以通过下面命令查看参数设置:

 

  crsctl get css disktimeout


     crsctl get css misscount

 

TIP:

     除了clusterware 需要这个进程,在单节点的ASM环境也需要这个进程,这个进程用于支持ASM 实例和database实例之间的通信。但是如果在已经使用了ASM的节点上安装RAC,会遇到一个问题,因为RAC要求节点只有一个OCSSD进程,并且应该是运行在$CRS_HOME目录下,这时就需要先停止ASM,并通过$ORACLE_HOME/bin/localconfig.sh delete删除 之前的inittab条目。之前安装ASM时也曾经使用这个脚本来启动OCSSD,那个命令式$ORACLE_HOME/bin/localconfig.sh add.

 

 

------------------------------------------------------------------------------------------------------

 

 

2、CRSD

 

    CRSD是实现高可用的主要进程,它所提供的服务叫做CRS(cluster ready service)。

 

     oracle clusterware 必须要监控资源运行异常,并进行干预,包括关闭,重启或者转移服务等,CRSD进程提供的就是这些服务。

 

     默认情况下,CRS会自动尝试重启资源5次,如果还失败则放弃

 

 

CRS监管的软件分为两组


nodeapps:【表示这些资源每个节点只需要一个就够了,比如每个节点只需要一个listener】

 

GSD(GLOBAL SERVICE DAEMON)

 

ONS(ORACLE NOTIFICATION SERVICE DAEMON)

 

LISTENER

 

database-related-resource:【这些资源与数据库相关,不受节点限制,如一个节点可以有多个instance,每个instance可以有多个service】

 

VIP

 

DATABASE

 

INSTANCE

 

SERVICE

 

 

GSD、ONS、VIP是在OCR的安装过程中自动创建并注册

 

listener、database、instance、service可以在安装过程中自动创建,也可以 在安装完成后通过DBCA NETCA SRVCTL工具创建并注册

 

这些注册到CRS resource的对象是以元数据(metadata)的形式被记录在OCR磁盘上,这些元数据包括这些对象的名称、如何启动、停止、如何检查健康状况等配置信息。

 

 

------------------------------------------------------------------------------------------------------

 

 

3、EVMD

 

     这个进程负责发布CRS产生的各种事件(Event),这些event可以通过俩种方式发布给客户----ONS和callout script,用户可以自定义回调脚本,放在特定目录下,这样当某些事件发生时,EVMD会自动扫描改目录,并调用脚本,这个调用由racgevt进程来完成。

 

     EVMD进程出来发布事件之外,还是CRSD和CSSD两个进程之间通信的桥梁。

 

 

------------------------------------------------------------------------------------------------------

 

 

4、RACGIMON

 

     这个进程负责检查数据库健康状态,负责service的启动,停止,故障转移(failover),这个进程会建立到数据库的持久连接,定期检查SGA中的特定信息,该信息由PMON进程定期更新。

 

 

------------------------------------------------------------------------------------------------------

 

 

5、OPROCD

 

     这个进程也叫做 Process monitor daemon 。这个进程用来检测节点的processor hang(CPU 挂起),如果调度时间超过1.5秒,就会认为CPU工作异常,会重启节点,也就是说这个进程提供的是"I O隔离"功能,

 

     在非linux下使用会看到这个进程,但在linux 下,是利用hangcheck-timer模块来实现"I O"隔离功能。

 

 

 

 

 

 

 

 

 

 

 



举报

相关推荐

0 条评论