ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Clusterware 后台进程

Clusterware 后台进程

原创 Linux操作系统 作者:shilei1 时间:2012-03-14 01:01:02 0 删除 编辑

Clusterware 由若干进程组成,其中最重要的3个是:CRSD,CSSD,EVMD. 在安装clusterware的最后阶段,会要求在每个节点执行root.sh 脚本, 这个脚本会在/etc/inittab 文件的最后把这3个进程加入启动项,这样以后每次系统启动时,Clusterware 也会自动启动,其中EVMD和CRSD 两个进程如果出现异常,则系统会自动重启这两个进程,如果是CSSD 进程异常,系统会立即重启。

1). OCSSD

OCSSD 这个进程是Clusterware最关键的进程,如果这个进程出现异常,会导致系统重启,这个进程提供CSS(Cluster Synchronization Service)服务。 CSS 服务通过多种心跳机制实时监控集群状态,提供脑裂保护等基础集群服务功能。

CSS 服务有2种心跳机制: 一种是通过私有网络的Network Heartbeat,另一种是通过Voting Disk的Disk Heartbeat.

这2种心跳都有最大延时,对于Disk Heartbeat, 这个延时叫作IOT (I/O Timeout);对于Network Heartbeat, 这个延时叫MC(Misscount)。 这2个参数都以秒为单位,缺省时IOT大于MC,在默认情况下,这2个参数是Oracle 自动判定的,并且不建议调整。可以通过如下命令来查看参数值:

$crsctl get css disktimeout

$crsctl get css misscount

注:除了Clusterware 需要这个进程,在单节点环境中如果使用了ASM,也需要这个进程;这个进程用于支持ASM Instance 和RDBMS Instance之间的通信。 如果在使用了ASM的节点上安装RAC,会遇到一个问题:RAC节点要求只有一个OCSSD进程,并且应该是运行$CRS_HOME目录下的,这时就需要先停止ASM,并通过$ORACLE_HOME/bin/localcfig.Sh delete 删除之前的inittab 条目。 之前安装ASM时,也使用这个脚本来启动OCSSD: $ORACLE_HOME/bin/localconfig.Sh add.

2). CRSD

CRSD是实现"高可用性(HA)"的主要进程,它提供的服务叫作CRS(Cluster Ready Service) 服务。

Oracle Clusterware是位于集群层的组件,它要为应用层资源(CRS Resource) 提供"高可用性服务",所以, Oracle Clusterware 必须监控这些资源,并在这些资源运行异常时进行干预,包括关闭,重启进程或者转移服务。CRSD进程提供的就是这些服务。

所有需要 高可用性 的组件,都会在安装配置的时候,以CRS Resource的形式登记到OCR中,而CRSD 进程就是根据OCR中的内容,决定监控哪些进程,如何监控,出现问题时又如何解决。也就是说,CRSD 进程负责监控CRS Resource 的运行状态,并要启动,停止,监控,Failover这些资源。 默认情况下,CRS 会自动尝试重启资源5次,如果还是失败,则放弃尝试。

CRS Resource 包括GSD(Global Serveice Daemon),ONS(Oracle Notification Service),VIP, Database, Instance 和 Service. 这些资源被分成2类:

GSD,ONS,VIP 和 Listener 属于Noteapps类

Database,Instance 和Service 属于 Database-Related Resource 类。

我们可以这样理解: Nodeapps 就是说每个节点只需要一个就够了,比如每个节点只有一个Listener,而Database-Related Resource 就是说这些资源和数据库有关,不受节点的限制,比如一个节点可以有多个实例,每个实例可以有多个Service。

GSD,ONS,VIP 这3个服务是在安装Clusterware的最后,执行VIPCA 时创建并登记到OCR中的。 而Database, Listener, Instance 和Service 是在各自的配置过程中自动或者手动登记到OCR中的。

3). EVMD

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

EVMD 进程除了复杂发布事件之外,它还是CRSD 和CSSD 两个进程之间的桥梁。 CRS 和CSS 两个服务之前的通信就是通过EVMD 进程完成的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/196700/viewspace-718470/,如需转载,请注明出处,否则将追究法律责任。

上一篇: A2数据量2012.2.22
请登录后发表评论 登录
全部评论

注册时间:2018-10-10

  • 博文量
    531
  • 访问量
    4602