본문 바로가기

RAC/RAC 이론

02. CRS 설명

Clusters 개념

1. Symmetric multiprocessing (SMP)의 대안
2. 하나의 장비처럼 작동
3. 각각의 장비는 독자적으로 작동


Cluster의 Components 

1. 클러스터 구성 component

   Nodes 와 Managers

2. Nodes : 리소스를 제공하는 system

3. Cluster manager : 두개의 node 를 하나의 machine 처럼 작동하게 하는 로직을 제공


Architecture

주요용어

1. Services : 클러스터 내 작업을 배분해 주는 수단을 제공함

2. Node Applications  : racle Listener, Global Services Daemon (GSD), Oracle Enterprise, Manager  Agent (OEM Agent), Virtual IP Address (VIP) 등이 포함

3. Cluster Ready Services : logical하게 node를 묶어주는 Cluster Manager 이고, Cluster Resource 는 Oracle Cluster Service 에 의해 관리되는 Resource 들이며 데이터베이스 인스턴스, 서비스, Listener 및 VIP 등이 포함

4. Cluster Resources : failover 특성 및, 재구동방식, 의존 관계 등을 지정 하기 위해 정의 할 수 있음


CRS [Cluster Ready Services]

CRS의 구성 Components 는 크게 3개의 콤포넌트로 구성됨

CSS , EVM , CRS , 마지막의 CRS는 Oracle Cluster를 부를 때 사용하는 CRS와 구분이 되는 Process명으로써, CRS의 resource를 관리함




Oprocd 는 oracle10g에서 사용하는 io fencing기능을 제공

Evmd 는 cluster내의 event발생시 이 event를 전파하는 기능을 함

Ocssd 는 heartbeat을다른 node에 보내어 health check를 하는 기능을 담당

Crsd 는 cluster resource manager로써 CRS가 사용하는 resource를 start/stop/disable/configure하는
역할을 함

Process로서 존재하지는 않지만, OCR Voting disk도 CRS의구성 Component 에 속함

OCR은 cluster와 cluster내의 resource의 정보가 저장되어있으며, Voting Disk는각 node의 status를
확인하기위해 사용됩니다.


Linux에서는 hangcheck timer가 이 oprocd의 기능을 제공하기때문에 oprocd는 작동하지 않음




EVMD는 Event forwarding Daemon입니다. 이 process도 init에 의해 기동됨

Evmd는 evmlogger를 fork( 퍼 나르다 )하는데 이 process는 log file에 event를 기록하는 역할을 함





CSSD는 cluster synchronization service daemon의 약자입니다. 이 process는 다음 세가지의

service를 제공합니다.

Group service, lock service, node information service입니다. Node information service는 어떤


node가 cluster에 join했는지 혹은 cluster를 떠났는지 monitoring하는 기능입니다.

Cssd는 process fail시 OS reboot이 됩니다.

상대 node의 css endpoint는 ocr에 기록되어있으며, 이 end point로 매초마다 interconnect를 통해

network heartbeat을 보냅니다. 일정 시간동안, 즉 miscount동안 heartbeat을 받지 못하면 css는

해당 node를 죽은 것으로 간주합니다. 이와는 별도로 voing disk을 매초마다 read하게 됩니다. 

Network heartbeat이 miscount동안 오지 못하여 일부 node가 죽은 것으로 판단되면, 이 voting 

disk를 확인하여 어느 node들을 cluster에서 제거해야 하는지 voting을 하게 되는데 이 단계가

reconfiguration입니다. 

Nm이 어느 node가 죽었는지 판단하여 nm reconfiguration을 한 이후에, gm이 해당 node의 crs, 

evm, css등이 사용했던 resource들을 제거하고 cluster group에서 삭제하는 gm reconfiguration이

진행됩니다.

Reconfiguration은 node join시에도 발생합니다.





CRSD는 cluster내에서 사용하는 resource를 monitoring하고 관리하는 역할



CRSD는 shell script인 racgwrap을 call하게 되고, 이 racgwrap은 racgmain을 call하여 특정

resource를 start/stop/check할 수 있습니다.

이 resource들을 관리하기 위해 해당 resource의 정보를 담아야 하는 공간이 필요하며, 이것이

ocr입니다. CRSD는 이 OCR내의 정보를 직접 read/write하여 data를 유지 관리하는 역할을 합니다.











OCR은 oracle cluster registry의 약자입니다. CRS에서 사용하는 data를 저장하는

repository역할을 합니다. Data의 구조는 window의 registry처럼 tree구조로 되어있고, key-

value의 형태로 data가 저장되어있습니다.

이 OCR data는 DBCA, NetCA, SRVCTL등의 oracle tool과 CRS가 사용합니다.






Voting disk는 split brain상태에서 node의 상태를 판단하기위한 second heart beat의 역할을

합니다. Nm은 이 상태에서 어느 sub cluster node를 evict할지 결정하기 위해 voting disk를

사용합니다. 

Eviction이 결정되면 해당 node가 eviction되도록 eviction message를 voting disk에 적어줍니다.

Voting disk는 dd로 backup을 받아 disk failure시 복구할 수 있습니다.

10gR1에서는 multiple voting disk를 지원하지 않으므로 os level의 mirroring 기능을 이용해야

하지만, 10gR2에서 multiple voting disk기능을 지원합니다.




그림파일 출처 = 서진수강사님 RAC 교육자료의 step 2











'RAC > RAC 이론' 카테고리의 다른 글

04. RAC 운영하기  (0) 2015.04.30
03. RAC 기반에서의 Load Balancing 과 Application Failover  (0) 2015.04.30
01. RAC란 무엇일까요  (0) 2015.04.30