본문 바로가기
Oracle/운영

RAC(Real Application Cluster) 아키텍쳐와 프로세스

by 취미툰 2020. 11. 10.
반응형

출처 : https://oracle-patches.com/en/databases/oracle/4168-oracle-rac-components

 

RAC란?

9i부터 RAC라고 부르기 시작했으며, 그 전까지는 OPS라고 불렸습니다.

고 가용성을 위한 시스템 구성으로써 DB에 여러개의 instance를 구성하여 하나의 instance가 장애가 발생하여도 DB 운영에는 지장이 없게 운영할 수 있는 시스템구성입니다.

 

OPS와의 차이점?

OPS와의 차이점은 서로 다른 instance에서 변경된 데이터를 디스크를 거치지 않고 바로 instance로 가져올 수 있는 기능인 Cache Fusion(캐시 퓨전)이라는 기능이 사용됩니다. 


클러스터용 소프트웨어?

CRS(10g R1) -> clusterware(10g R2) -> GRID(11g)~

10g R1부터는 클러스터용 프로그램을 오라클에서 직접 만들어 제공하기 시작했고, 10g R2부터는 클러스터웨어라는 용어로 부르게 되었습니다. 11g에서는 ASM기능이 통합되어 grid라는 명칭으로 변경되었습니다.

 

Storage 구성방식?

9i RAC까지 storage 구성방식은 Raw Device를 사용해서 구성하였습니다. 10g부터는 ASM(Automatic Storage Management)방식으로 storage를 구성할 수 있게 되었고, ASM이 오라클이 권장하는 방식으로 되었습니다.

하지만 10g RAC에서도 ASM으로 구성된 예가 거의 없어서 대부분이 Raw Device로 구성되어 사용되었습니다.

12c부터는 공식적으로 ASM으로 구성하도록 하고 있습니다.

 

출처 : 12bme.tistory.com/322

 

Oracle grid infrastructure Process 구조?

출처 : http://haisins.epac.to/wordpress/?p=3854

Cluster Synchronization Service (CSS)

Cluster에 어떤 node가 추가/제거되었는지 모니터링 및 정보관리

Heartbeat 매커니즘을 이용(interconnect를 통한 Network heart beat)

각 멤버 노드들에게 node membership 정보 전달

vendor clusterware 사용시 직접 통신하면서 node membership 정보 관리

css 프로세스 비정상 종료시 node reboot

 

Cluster Ready Service (CRS)

Database,instance,service,listener,VIP,Application 등 모든 cluster 리소스들을 OCR에 등록되어 있는 리소스 정보에 기반하여 관리

리소스 모니터링 중 장애발생 시 해당 리소스 start,stop,failover 조치

cluster 리소스 등록/제거,모니터링, 시동/중지 관련 명령어 인터페이스를 제공

crs 프로세스 종료 시, init process에 의해 자동으로 재기동

 

Event Manager

evmd.bin 프로세스

grid user로 동작

crs가 발생시키는 이벤트들을 전파

log파일에 이벤트를 기록하는 역할(evmlogger)

Racgimon이 전달하는 메시지에 따라 racgevt 프로세스 fork

fail시, 자동 재 기동

 

Process Monitor Daemon (OPROCD)

IO fencing 기능 제공을 위한 Oracle 솔루션

Vendor clusterware를 사용하는 경우 동작 하지 않음

 

Global Service Daemon (GSD)

9i 이전의 클라이언트가 11g CRS에 접속하여 각종 관리업무를 수행할 수 있도록 돕는 프로세스

11g에서는 backward compatibility를 위해서만 존재할 뿐 특별한 역할은 없음

 

Virtual IP (VIP)

IP failover를 위해 Oracle CRS가 제공

Pubilc network interface에 VIP를 할당

Network interface에 오류가 발생하면 CRS가 fail된 VIP의 address를 살아있는 노드로 failover

 

 Single Client Access Name (SCAN)

11gR2 RAC부터 소개된 기능으로 cluster로 구성되어 운영중인 Oracle Database에 접근하는 모든 Client에서 SCAN으로 접속할 수 있음

SCAN으로 접속 시 자동으로 Server side load balancing을 수행함 (default로 remote listener에 SCAN이 등록됌)

SCAN은 grid 설치 시 반드시 구성해야 하며, GNS를 사용하지 않는다면, SCAN NAME을 아래와 같이 DNS 상에 등록해줘야 함

기본적으로 3개의 Public IP를 동일한 이름으로 등록해줘야 하며, Public과 SCAN의 subset은 동일해야 함(최소 1개의 IP는 등록 필수)

 

Oracle Cluster Registry (OCR)

Cluster 리소스들에 대한 정보 저장소

반드시 shared disk상에 위치

Multiplexing 기능 (권장)

Enterprise Manager (EM) / Server Control Utility (SRVCTL) / Database configuration Assistant (DBCA)를 통해서 수정가능

 

Voting Disk

Cluster membership 관리를 위해 css데몬이 이용

cluster member들의 health check

split brain 상태에서 노드의 상태를 파악하기 위한 second heartbeat 역할

반드시 shared disk상에 위치

Multiplexing 기능 (권장)

 

출처 : haisins.epac.to/wordpress/?p=3854

 

RAC에 관해서 정말 정리가 잘 되어 있는 사이트입니다. 공부 겸 정리하기 위해서 블로그에 포스팅하였습니다.

 

반응형

'Oracle > 운영' 카테고리의 다른 글

SQL Developer 에서 ssh host기능을 이용하여 터널링하기  (2) 2020.11.18
LOB 데이터 DB Link 조회 시 에러  (0) 2020.11.12
권한과 롤  (0) 2020.11.03
Oracle ASMFD(ASM Filter Driver)  (0) 2020.10.30
DBA_USERS  (0) 2020.10.29

댓글