728x90
반응형
Database
HA (High Availability) Cluster
RAC (Real Application Cluster)
HA (High Availability) Cluster
- Acitve-Standby 구조로 구성된다.
2개의 서버를 이용하여 하나는 Active 상태, 나머지 하나는 Standby 상태
거의 모든 부하는 Active에서 부담하고 Standby 상태의 서버는 대기한다. - Active 서버 장애시 Standby 서버가 Active로 전환되면서(Fail-Over) 되는 방식이다.
- 오라클에서는 DG(Data Guard) 라는 이름으로 제공됨.
→ HA 구성 방식으로 사용시, 데이터 동기화 문제를 해결하기 위해 오라클에서 제공하는 무료 프로그램
장점
- Active 서버 장애시 Standby 서버가 Active로 전환되면서(Fail-Over) 서비스의 연속성 보장
- 구조가 단순하고 구축 비용도 저렴하다.
- 평소에 하나의 서버만 가동되므로 유지비 역시 저렴하다.
단점
- 서버가 2개인데 실제 서비스에는 1개만 가동되므로 비용이 많이 들고 비효율적이다.
- 2개의 서버로만 구성 가능
- 각 서버 별로 별도의 스토리지를 가지고 있어서 수시로 동기화가 이루어져야 하므로 성능 저하 야기할 수 있다.
또한 각 서버간 데이터 싱크가 맞지 않는 상황도 존재할 수 있다.
→ 데이터 복제기능을 갖추어야 함
장애 감시 기능이 필요
백업 솔루션 필요할 수 도 있다. - Active 서버가 동작을 멈추면 Standby 서버가 활성화 될 때까지의 트랜잭션을 모두 유실한다.
RAC (Real Application Cluster)
여러 인스턴스가 하나의 Storage를 바라보는 구조.
HA에 비해 성능과 안정성 모두 뛰어나지만, 비용이 많이 들고 다루기 어려움
장점
- 여러 인스턴스가 하나의 스토리지를 바라보는 구조로 별도의 동기화로 인한 성능 저하는 없다.
또, 하나의 인스턴스에서 장애가 발생해도 곧바로 다음 인스턴스에서 처리해줄 수 있으므로 데이터 유실에 대한 우려도 없다. - 처리를 균형있게 분산되어 처리할 수 있다.
- Cache Fusion 기능이 사용된다.
서로 다른 인스턴스에서 변경된 데이터를 디스크를 거치지 않고 바로 인스턴스로 가져올 수 있는 기능
oracle9i 버전부터 사용됨
단점
- Oracle RAC은 매우 고가의 제품
- 매우 복잡한 환경 구성으로 인해 유지보수 절차가 복잡하며, RAC에 대한 충분한 이해도를 요구한다.
- HA구조보다 빠른 복구 시간을 보장하지만 복잡성 때문에 더 오래걸릴 수도 있다.
구성 프로세스
- CRS(Cluster Ready Service)
모든 플랫폼에 대한 표준화된 클러스터 인터페이스 제공
CRS는 10g를 설치하기 전에 설치되고 실행되어야 함
CRS_HOME과 ORACLE_HOME은 반드시 다른디렉토리에 설치 되어야 함
voting 파일, OCR파일을 설치할 수 있는 공유된 디렉토리 또는 디바이스가 구성되어야 함
네트워크 인터페이스가 구성되어야 함
RAC NODE당 1개의 CRS데몬만 실행 가능함
네트워크 split이 있을 경우 시스템 Rebooting 현상이 발생 할 수 있음
서비스를 중단하려면 장비 shutdown 또는 "init.crs stop" 명령을 실행
주요 컴포넌트
- CSS
- EVM
- CRS (OCR)
데몬
- oprocd : oracle10g에서 사용하는 io fencing기능을 제공
- evmd : cluster 내의 event 발생 시 event 를 전파
- cssd : heartbeat 을 다른 node 에 보내어 health check
- crsd : CRS Resource 관리
Oracle 9i RAC까지는 storage는 Raw Device를 사용해서 구성했으나,
10g부터는 ASM(Automatic Storage Management)라는 방식으로 Storage를 구성할 수 있게 됨.
Raw Device 로 사용한다?
LV(Logical Volume) 까지 생성한 뒤 File System 생성 및 마운트 과정 없이 그대로 사용하는 방식이다.
OCR(Oracle Cluster Repository)
RAC 구성의 전체 정보를 저장하고 있는 디스크로, RAC에서의 핵심역할을 합니다. RAC을 시작할때 OCR에 저장되어 있는 정보를 보고 RAC을 구성해야 하는데, 10g RAC까지는 RAC 시작후 ASM instance를 시작하기 때문에 OCR을 ASM에 저장할 경우 RAC를 시작할 수 없게 되는데, 그래서 별도의 Raw Device에 저장합니다.
VoteDisk
각 Node들이 장애가 있는지 없는지를 구분하기 위해서 사용하는 일종의 출석부같은 역할을 하며,
cssd가 보내는 heartbeat에 응답을 보내면서 매초마다 vote disk에도 자신이 정상적으로 동작하고 있다는 표시를 해둡니다.
참고) 데이터 일관성을 위하여 클러스터 노드간의 정상 상태를 체크하는 Hearbeat 매커니즘
반응형
'인프라 > Database' 카테고리의 다른 글
인프라 지식 - Database RAC Node Eviction(추방) (0) | 2021.06.02 |
---|