> 数据库 > Oracle >

oracle集群件

oracle集群件的存储组件

oracle集群件包括它的存储结构和在每个集群节点上运行的一组进程。存储结构由两个部分组成:OCR、voting disk外加两个本地文件-OLR和gpnp

[grid@BJ-FT-VM-123-16~]$ cat /etc/oracle/ocr.loc
ocrconfig_loc=+DATA/BJ-FT-cluster/OCRFILE/registry.255.873380471
local_only=FALSE
[grid@BJ-FT-VM-123-16 ~]$ crsctl query css votedisk
##  STATE    File UniversalId               File Name Disk group
--  -----   -----------------               --------- ---------
1. ONLINE   a2b7346146744f3dbf03d9cd47a184cb(/dev/oracleasm/disks/DISK1) [DATA]
Located 1 voting disk(s).

 

oracle集群件的两个文件:OLR和GPnP配置文件,都存储在本地文件系统中。

[grid@BJ-FT-VM-123-16~]$ cat /etc/oracle/olr.loc
olrconfig_loc=/apps/ora12c/12.1.0/grid/cdata/bj-ft-vm-123-16.olr
crs_home=/apps/ora12c/12.1.0/grid

[grid@BJ-FT-VM-123-16~]$ ocrcheck -local -config
Oracle Local Registry configuration is :
         Device/FileName         :/apps/ora12c/12.1.0/grid/cdata/bj-ft-vm-123-16.olr

[grid@BJ-FT-VM-123-16peer]$ more $GRID_HOME/gpnp/bj-ft-vm-123-16/profiles/peer/profile.xml

 

集群件软件堆栈

从oracle11gR2开始,oracle将集群件重新设计成两个软件堆栈:高可用堆栈与CRS堆栈,每个堆栈由若干个后台进程组成

 

高可用堆栈是oracle底层服务堆栈,基于oracle的OHAS进程。包括:gpnp、gns、gipc、mdns、osysmond、ologgerd

 

CRS堆栈是oracle上层堆栈,依赖于高可用堆栈,包括:crs、css、cssdagent、cssdmonitor、ctss、evm、ons、oracle asm、oraagent、orarootagent

 

集群件启动顺序

wKiom1T5aKTBc5EvAAMVPC5sVrk409.jpg

第0级:

通过操作系统的init进程,集群件自动启动。init进程派生init.ohasd进程,init.ohasd进程再启动OHASD进程。

这个配置写在/etc/inittab文件里

[grid@BJ-FT-VM-123-15~]$ cat /etc/inittab|grep init.d|grep -v grep
htfa:35:respawn:/etc/init.d/init.tfa run >/dev/null 2>&1</dev/null
h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1</dev/null

 

如果系统是rhel6,那用来配置与启动init.ohasd进程的文件是/etc/init/oracle-ohasd.conf

[root@BJ-YZ-2F-80-7~]# cat /etc/init/oracle-ohasd.conf 
# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rightsreserved. 
#
# Oracle OHASD startup

start on runlevel [35]
stop  on runlevel [!35]
respawn
exec /etc/init.d/init.ohasd run >/dev/null 2>&1</dev/null

 

文中init.ohasdrun部分启动了ohasd.bin后台进程

[grid@BJ-FT-VM-123-16peer]$ ps aux|grep ohasd|grep -v grep
root      3822  0.4  0.8 385384 66268?        Ssl  13:57   0:23 /apps/ora12c/12.1.0/grid/bin/ohasd.binreboot
root      3931  0.0  0.0  10796 1184 ?        Ss  13:58   0:00 /bin/sh /etc/init.d/init.ohasd run

一旦OHASD在第0级启动,在接下来的1-4级,ohasd会直接或是间接启动集群件的其他进程,以及管理的其他资源。

 

第1级:OHASD直接派生4个代理进程

cssdmonitor:css监视器进程

OHASDorarootagent:高可用堆栈的oracle root代理进程

OHASDoraagent:高可用堆栈的oracle代理进程

cssdagent:css的代理进程

 

第2级:

OHASDoraagent将派生5个进程

mDNSD:mDNS守护进程

GIPCD:网格进程间通信进程

GPnPD:GPnP配置守护进程

EVMD:事件监视器进程

ASM:监测ASM实例的资源

 

OHASDorarootagent将派生4个进程

CRSD:CRS守护进程

CTSSD:CTSS守护进程

Diskmon:磁盘监视器守护进程

ACFS:(ASM集群文件系统)驱动程序

 

第3级:

crsd派生两个crsd代理进程:crsd orarootagent和crsd oraagent

 

第4级:

crsdorarootagent启动如下资源

networksources:网络资源

scanip:scan ip

node vip:每个节点的虚ip

acfregisry:acfs注册表

gnsvip:如果使用gns,对应的gns的虚拟ip

 

crsdoraagent启动如下资源

asminstance:asm实例

diskgroups:用来管理、监控asm磁盘组

dbresources:用于管理、监控数据库和实例

scanlistener:scan监听的是scan的ip

listener:监听的是节点的vip

services:数据库服务

eons:ons增强

ons:

gns:进程名称解析

gsd:为了向后兼容

 



(责任编辑:IT)