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
集群件启动顺序
第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:为了向后兼容
整理:深入理解 oracle rac 12c