CLUSTER三大后台进程和OCSSD、OPROCD进程

CSS(Cluster synchronizationservice)

这个服务通过管理集群中的节点成员身份完成整个集群的配置工作,每当有新的节点加入到集群,或者有节点离开时,CSS服务负责通知集群的所有节点变更集群配置信息。如果某个节点上的整个进程失败,就会重启这个节点,这个进程是以root身份运行。

CRS(clusterready service)

这个组件负责集群的高可用性。被CRS管理的对象叫做集群资源。这些资源包括数据库、实例、监听、VIP地址以及应用程序进程。缺省情况下CRS管理着4个应用程序:oracle监听器、VIP地址、GSD(globalservice
daemon)、ONS(oraclenotification service)这些资源的配置信息都保存在OCR中。每个资源的状态发生了变化,CRS就会生成一个事件。

CRS会监控这些资源的状态,如果某个资源失效了CRS就会重启这些组件。如果尝试几次都失败了就会放弃尝试,缺省时CRS会尝试5此重启然后放弃。CRS也是通过root身份运行的。如果CRS本身失败,实例就会重启。

EVM(eventmanager)

这个组件负责对外发布CRS生成的事件,我们可以自行定义回调脚本,这样当有事件发生时,EVM就可以调用我们自己的脚本,这种调用是通过racgevt进程进行的。这个组件也是以root身份运行的。

除了通过这个组件,oracle clusterware还会和ONS(oracle notificationService)通信这个组件支持客户端订阅和发布FAN事件。

在执行root脚本是会在/etc/inittab中添加三行:

[[email protected] ~]$ cat  /etc/inittab

#

# inittab      This file describes how the INIT process should set up

#              the system in a certain run-level.

#

# Author:      Miquel van Smoorenburg, <[email protected]>

#              Modified for RHS Linux by Marc Ewing and Donnie Barnes

#

# Default runlevel. The runlevels used by RHS are:

#   0 - halt(Do NOT set initdefault to this)

#   1 -Single user mode

#   2 -Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Fullmultiuser mode

#   4 -unused

#   5 - X11

#   6 -reboot (Do NOT set initdefault to this)

#

id:5:initdefault:

# System initialization.

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# When our UPS tells us power has failed, assumewe have a few minutes

# of power left. Schedule a shutdown for 2 minutes from now.

# This does, of course, assume you have powerdinstalled and your

# UPS connected and working correctly.

pf::powerfail:/sbin/shutdown -f -h +2 "PowerFailure; System Shutting Down"

# If power was restored before the shutdown kickedin, cancel it.

pr:12345:powerokwait:/sbin/shutdown -c "PowerRestored; Shutdown Cancelled"

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

h1:35:respawn:/etc/init.d/init.evmdrun >/dev/null 2>&1 </dev/null

h2:35:respawn:/etc/init.d/init.cssdfatal >/dev/null 2>&1 </dev/null

h3:35:respawn:/etc/init.d/init.crsdrun >/dev/null 2>&1 </dev/null

[[email protected] ~]$

这样在以后每次系统启动时cluster就会自动启动,如果EVMD和CRSD两个进程如果出现异常,则系统会自动重启这两个进程,如果CSSD进程出现异常,系统会自动重启

OCSSD

这个进程是clusterware最关键的进程,如果这个进程出现异常,会导致系统重启。这个进程提供CSS服务,CSS服务负责整个集群配置,确定哪些节点是集群里的成员,每当有一节节点加入或者离开集群时,CSS都负责其他节点跟新进群配置。CSS服务通过多种心跳机制,实施监控集群健康状态,一旦发生异常,则重启问题节点以避免发生数据损坏以及提供
脑裂保护等基础集群服务功能。

CSS服务有两种心跳机制:一种是通过私有网络的net我认可heartbeat,另一种是通过voting disk的disk heartbeat;这两个心跳都有最大延时,对于disk
heartbeat,这个延时叫做IOT(I/O Timeout);对于network heartbeat,这个延时叫做MC(MisCount);

[[email protected] ~]$ crsctl get css disktimeout

unrecognized parameter disktimeout specified.

[[email protected] ~]$ crsctl get css misscount

60

[[email protected] ~]$

[[email protected] ~]$ ps -ef | grep css

oracle   7171  5395  0 01:00 pts/2    00:00:00 grep css

root    28575     1  0 00:09 ?        00:00:01 /bin/sh /etc/init.d/init.cssdfatal

root    29007 28575  0 00:11 ?        00:00:00 /bin/sh /etc/init.d/init.cssd daemon

root    29148 29007  0 00:11 ?        00:00:00 /bin/su -l oracle -c /bin/sh-c ‘ulimit -c unlimited; cd /u01/oracle/10.2.0/crs_1/log/felix2/cssd;  /u01/oracle/10.2.0/crs_1/bin/ocssd  || exit $?‘

oracle  29149 29148  0 00:11 ?        00:00:00 /bin/sh -c ulimit -cunlimited; cd /u01/oracle/10.2.0/crs_1/log/felix2/cssd;  /u01/oracle/10.2.0/crs_1/bin/ocssd  || exit $?

oracle  29181 29149  0 00:11 ?        00:00:03/u01/oracle/10.2.0/crs_1/bin/ocssd.bin

[[email protected] ~]$

OPROCD

这个进程也叫做process Monitor daemon。这个进程是用来检测节点的ProcessHang(CPU
挂起)。这个进程锁定在内存中,用于IOFencing功能
。OPROC进程会定期唤醒,检查从上次唤醒以来经历的时间,如果这个时间超过了某个期待值(1.5秒),OPROCD进程就会重启节点。

CLUSTER三大后台进程和OCSSD、OPROCD进程,布布扣,bubuko.com

时间: 2024-10-13 22:39:06

CLUSTER三大后台进程和OCSSD、OPROCD进程的相关文章

(转)进程间关系:进程、僵尸进程、孤儿进程、进程组、前台进程组、后台进程组、孤儿进程组、会话、控制终端

不同的shell对使用管道线时创建子进程的顺序不同,本文以bash为例,它是支持作业控制的shell的典型代表. 僵尸进程与孤儿进程 僵尸进程:先于父进程终止,但是父进程没有对其进行善后处理(获取终止子进程有关信息,释放它仍占有的资源).消灭僵尸进程的唯一方法是终止其父进程.孤儿进程:该进程的父进程先于自身终止.其特点是PPID=1(init进程的ID).一个孤儿进程可以自成孤儿进程组. 文中用到的缩写 PID = 进程ID (由内核根据延迟重用算法生成)PPID = 父进程ID(只能由内核修改

RAC OCSSD进程被KILL引起系统重启--非root用户也能重启OS

OCSSD 这个进程是clusterware最关键的进程,CSSD进行异常,系统会立即重启. 在10.2.0.5/11.2.0.4的LINUX测试环境测试使用kill -9 <ocssd pid>可以观察到系统立刻重启,和init 6效果一样哈哈. ***这也发现一个漏洞:/u01/app/oracle/product/crs/bin/ocssd.bin这个进程是ORACLE用户的,使用ORACLE用户来KILL进程,就将LINUX重启了~~~ 这算不算是一个安全漏洞呢哈哈. [[email 

【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)

缓存融合技术和主要后台进程(四) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集群进行配置安装,前

缓存融合技术和主要后台进程(四)

Cache Fusion 原理 前面已经介绍了 RAC 的后台进程,为了更深入的了解这些后台进程的工作原理,先了解一下 RAC 中多节点对共享数据文件访问的管理是如何进行的.要了解 RAC 工作原理的中心,需要知道 Cache Fusion 这个重要的概念,要发挥 Cache Fusion 的作用,要有一个前提条件,那就是互联网络的速度要比访问磁盘的速度要快.否则,没有引入 Cache Fusion 的意义.而事实上,现在 100MB 的互联网都很常见. 什么是 Cache Fusion? Ca

Oracle CRS/GI 进程介绍

转自:http://blog.itpub.net/31444259/viewspace-2151582/ 在 10g和11.1,Oracle的集群称为CRS(Oracle Cluster Ready Service), 在11.2,Oracle的集群称为GI(Grid Infrastructure). 对于CRS/GI,他们的一些核心进程的功能基本类似,但是在11.2,新增了很多新的Deamon进程. 10.2 CRS:$ ps -ef|grep crs/binroot      4373  3

linux中的守护进程

//一.守护进程 守护进程,也叫精灵进程(daemon) 它和普通后台进程的区别在于以下三点 1.守护进程自成会话,而普通后台进程则不一定 2.守护进程不受终端的控制 3.守护进程就是后台进程,而后台进程不同于守护进程 用ps axj命令查看系统中的进程,TPGID一栏为 -1 的进程(这些进程没有控制终端)就是守护进程. //二.实现 创建守护进程的步骤如下: 1.调用umask把[文件模式创建屏蔽字] 设置为 0 由于 umask 接收的参数会被取反,所以这个 0 传进去取反以后是最大的,也

守护进程

为什么要引入守护进程:   因为它生存期长,它独立于控制终端.会话周期(下文有解释)执行任务:   由于在linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依赖这个终端,这个终端就称为这些进程的 控制终端.当控制终端被关闭时,相应的进程都会自动关闭.但是守护进程却能突破这种限制,它被执行开始运转,直到整个系统关闭时才退出. 守护进程的特性: 1> 守护进程最重要的特性是后台运行. 2> 其次,守护进程必须与其运行前的环境隔离开来.这些环境包括未关闭的文件描述

解读Nodejs多核处理模块cluster

前言大家都知道nodejs是一个单进程单线程的服务器引擎,不管有多么的强大硬件,只能利用到单个CPU进行计算.所以,有人开发了第三方的cluster,让node可以利用多核CPU实现并行. 随着nodejs的发展,让nodejs上生产环境,就必须是支持多进程多核处理!在V0.6.0版本,Nodejs内置了cluster的特性.自此,Nodejs终于可以作为一个独立的应用开发解决方案,映入大家眼帘了. 目录 cluster介绍 cluster的简单使用 cluster的工作原理 cluster的A

再谈ORACLE CPROCD进程

罗列一下有关oprocd的知识点 oprocd是oracle在rac中引入用来fencing io的 在unix系统下,如果我们没有采用oracle之外的第三方集群软件,才会存在oprocd进程 在linux系统下,只有在10.2.0.4版本后,才会具有oprocd进程 在window下,不会存在oprocd 进程,但是会存在一个oraFenceService服务,用来实现相同的功能,该服务采用的技术是基于windows的,与oprocd不同 oprocd进程可以运行在两者模式下:fatal和n