Monday, January 11, 2021

CRS STACK :- Series 3

                                              Cluster Ready Service STACK.


Below are the Components of CRS Stack.

  • Cluster Synchronization Service.
  • Oracle ASM.
  • Cluster Time Synchronization Service 
  • Event Management
  • GRID NAMING Service.
  • Oracle Agent.
  • Oracle Notification Service.
  • Oracle Root Agent.


Event Management:- 


This background process publishes events to all the members of the cluster. On Linux/Unix, the process name is evmd.bin, and on Windows, it is evmd.exe. 

[root@rac1 ~]# ps -ef|grep evmd
grid      2317     1  1 06:46 ?        00:00:55 /u002/app/oracle/product/12.1.0/grid/bin/evmd.bin
grid      2426  2317  0 06:46 ?        00:00:15 /u002/app/oracle/product/12.1.0/grid/bin/evmlogger.bin -o /u002/app/oracle/product/12.1.0/grid/log/[HOSTNAME]/evmd/evmlogger.info -l /u002/app/oracle/product/12.1.0/grid/log/[HOSTNAME]/evm /evmlogger.log.

EVMD process run as Grid user.
EVMD process spawn the child process evmlogger. and generate the event when something happened in the cluster.
EVMD process scan the callout directory to invoke the callout message.
EVMD process will restart on failure  & does not bring  node reboot. It will start automatically.

[root@rac1 evmd]# ps -ef|grep evmd.bin
grid      2317     1  1 07:36 ?        00:01:10 /u002/app/oracle/product/12.1.0/grid/bin/evmd.bin
root      9175  5073  0 09:04 pts/0    00:00:00 grep --color=auto evmd.bin
[root@rac1 evmd]# kill -9 2317
[root@rac1 evmd]#  ps -ef|grep evmd.bin
grid     10510     1  3 09:08 ?        00:00:00 /u002/app/oracle/product/12.1.0/grid/bin/evmd.bin
root     10528  5073  0 09:08 pts/0    00:00:00 grep --color=auto evmd.bin
[root@rac1 evmd]#

EVMD process received the FAN event posted by client  and distributes the FAN event to client which subscribed to them.
 
Lets Consider two Node cluster RAC1,RAC2  , If rac2  leave the cluster , the OCSSD process on RAC1  post a leave FAN event  and then EVMD publish and distribute this message to CRSD process on Node A. 
CRS Process is always Communicate with EVMD process because its  Subscribe to EVMD demon for FAN event.



GRID NAMING Service.:-

This process provides the name resolutions with the cluster. 
From 12cR1 Version, GNS can be used for multiple clusters in contrast to the single-cluster version.
GNS is used to simplify network management.
If GNS used then No need to manually set the SCAN & VIP address.
It also eliminates the need to configure VIP names and SCAN names in a Domain Name Server (DNS) as GNS provides the name resolution for the cluster.

When we Select GNS configuration then then it will GNS take responsibility in DNS for cluster Node. 

1. Allocate one static IP address on public network for the GNS VIP.
2. Setup GNS as a delegate for the cluster's sub-domain on the DNS server.
3. Validate that there is a DHCP server that is addressable by the cluster nodes.

When installing RAC , there are 2 options:

1. Configure GNS and let it handle name resolution in the cluster subdomain.
2. Do not select GNS and configure each Node and SCAN name with IP addresses defined in DNS.


Oracle ASM:-

From 11g the ASM is important  part of RAC. and  its provide the Disk, Volume management in Cluster ware and oracle database.

below Are the ASM process.

[root@rac1 evmd]# ps -ef|grep asm
grid      3149     1  0 07:37 ?        00:00:00 asm_pmon_+ASM1
grid      3151     1  0 07:37 ?        00:00:02 asm_psp0_+ASM1
grid      3154     1  2 07:37 ?        00:03:32 asm_vktm_+ASM1
grid      3158     1  0 07:37 ?        00:00:06 asm_gen0_+ASM1
grid      3160     1  0 07:37 ?        00:00:00 asm_mman_+ASM1
grid      3164     1  0 07:37 ?        00:00:10 asm_diag_+ASM1
grid      3166     1  0 07:37 ?        00:00:00 asm_ping_+ASM1
grid      3168     1  0 07:37 ?        00:00:23 asm_dia0_+ASM1
grid      3170     1  0 07:37 ?        00:00:27 asm_lmon_+ASM1
grid      3172     1  0 07:37 ?        00:00:13 asm_lmd0_+ASM1
grid      3174     1  0 07:37 ?        00:00:41 asm_lms0_+ASM1
grid      3178     1  0 07:37 ?        00:00:15 asm_lmhb_+ASM1
grid      3180     1  0 07:37 ?        00:00:00 asm_lck1_+ASM1
grid      3182     1  0 07:37 ?        00:00:00 asm_dbw0_+ASM1
grid      3184     1  0 07:37 ?        00:00:00 asm_lgwr_+ASM1
grid      3186     1  0 07:37 ?        00:00:00 asm_ckpt_+ASM1
grid      3188     1  0 07:37 ?        00:00:00 asm_smon_+ASM1
grid      3190     1  0 07:37 ?        00:00:00 asm_lreg_+ASM1
grid      3192     1  0 07:37 ?        00:00:00 asm_pxmn_+ASM1
grid      3194     1  0 07:37 ?        00:00:01 asm_rbal_+ASM1
grid      3196     1  0 07:37 ?        00:00:04 asm_gmon_+ASM1
grid      3198     1  0 07:37 ?        00:00:00 asm_mmon_+ASM1
grid      3201     1  0 07:37 ?        00:00:02 asm_mmnl_+ASM1
grid      3203     1  0 07:37 ?        00:00:02 asm_lck0_+ASM1
grid      3205     1  0 07:37 ?        00:00:00 asm_gcr0_+ASM1
grid      3328     1  0 07:38 ?        00:00:00 asm_asmb_+ASM1
grid      3330     1  0 07:38 ?        00:00:00 oracle+ASM1_asmb_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid      3889     1  0 07:38 ?        00:00:00 mdb_asmb_-MGMTDB
grid      3893     1  0 07:38 ?        00:00:00 oracle+ASM1_asmb_-mgmtdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    8443     1  0 09:03 ?        00:00:00 ora_asmb_TEST1
grid      8458     1  0 09:03 ?        00:00:00 oracle+ASM1_asmb_test1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))


Cluster Time Synchronization Service :-


CTSS introduce in 11g. and its handle time synchronization among the node in cluster.

Either you use NTP or CTSS to synch up time among cluster Node.

If NTP service disabled  then CTSS provide time synchronization Service. 

[root@rac1 evmd]# ps -ef|grep ctss

root      2943     1  0 07:37 ?   00:01:23 /u002/app/oracle/product/12.1.0/grid/bin/octssd.bin reboot


Oracle Notification Service:-

ONS installed& configured  during the Clustered installation. 

State of resources in cluster has changed then ONS process communicate with each other on node & published the message about resource change.

CRS closely work with ONS process.  HA event information triggered by CRS and shared with ONS Process & this ONS process publish this HA event with Middleware tier.

ONS process play very critical role while sharing any FAN  event with client. 

to use this setup then we have to build some logic so application can get HA event information quickly.

HA events are used for multiple things for eg to detect failure quickly in cluster. & publish the HA event (FAN) Failure Application notification. This FAN event are Published by ONS.


Oracle Agent:-

[root@rac1 evmd]# ps -ef|grep oraagent

grid 2301     1  1 07:36 ?   00:01:5 /u002/app/oracle/product/12.1.0/grid/bin/oraagent.bin
grid      3424     1  1 07:38 ?        00:02:52 /u002/app/oracle/product/12.1.0/grid/bin/oraagent.bin
oracle    8299     1  0 09:03 ?        00:00:44 /u002/app/oracle/product/12.1.0/grid/bin/oraagent.bin

Run by Grid & oracle User & handle OAHSD grid, oracle owned resources.
Run a server callout scripts  when FAN event Occur.



Oracle Root Agent.:-

The orarootagent is the agent responsible for managing all root-owned ohasd resources.
Its help CRSD process to manage the root owned resource.

for eg Network,VIP etc.




==============================------EOD----==============================




No comments:

Post a Comment