본문 바로가기
DB

[DB] 이중화 HA, OPS, RAC 구성

by 유혁. 2020. 9. 10.

1. HA 구성 

  HA(High Availability)는 2개의 서버를 이용하여 하나는 Active, 나머지하나는 Standby 상태로 정해놓는다. Active상태의 서버가 모든 부하를 담당하며 장애가 발생하는 경우 Standby 서버가 Active가 되면서 다시 서비스를 정상 작동할 수 있게 해주는 구성이다. 별도의 스토리지를 가지고 있기에 수시로 동기화가 이뤄져야한다. 문제점으로는 서로 싱크가 맞지 않는 상황도 발생할 수 있다. Active서버 서비스가 멈추면 Standby 서버가 활성화 될 때 트랙잭션들이 모두 유실된다는 것이다. 실시간 트랜잭션량이 많은 서비스에는 치명적인 문제이다. 

 

 

HA솔루션이 갖추어야 할 기본기능으로는 

A. 데이터 복제기능

- 1번서버에서 장애 발생 시, 2번 서버를 바로 서비스하기위해서는 양쪽의 데이터가 항상 100% 동일해야하는 무결성을 보장해야한다. Data Replication 기능이 반드시 필요하다.

 

B. 장애 감시기능

- 네트워크 장애

- OS 및 서비스 프로그램 장애

- 서버 하드웨어 장애

 

장애를 감시할 수 있는 Agent는 각각 서버에 설치되어야 하며, 1번서버는 2번서버를 감시, 2번서버는 1번서버를 상호감시하여 고가용성을 유지하게 된다. 1번서버 문제발생 시 2번서버로 서비스가 자동전환 되기 위해 필수적인 기능이다.

 

장점 : 서비스의 연속성을 보장한다.

단점 : 실시간 데이터 복제, 바이러스가 복제가되어 감염을 전이시길 수 있음. 백업 솔루션 도입이 필요할 수 있음.

 

 

 

 

2. OPS(Oracle Parallel Server)

  HA구성은 Active, Standby 구성이지만 OPS구성은 인스턴스가 모두 Active 상태로 동작하기에 이론적으로는 부하를 50% 분산할 수 있고, 서비스 속도도 두배 빨라질 수 있다. 하나의 스토리지를 사용하므로 동기화에 문제가 없다.

 

 

장점 : 부하 방지, 서비스 속도 향상, 동기화 문제 없음, 하나의 서비스가 중단되는 경우 예방

단점 : RAC Ping 

 

* RAC Ping

 : 같은 사용자가 각각의 서버에 동시접속 하였을 경우 인스턴스1에서 변경완료된 데이터를 인스턴트2로 가져오기위해서는 디스크에 저장 후 복사하여야함. 서로 다른 인스턴스에서 참조하기위해서는 disk에 저장한 후 다시 불러와야 하는 문제가 발생.

 

 

 

 

3. RAC구성

  RAC(Real Application Cluster)는 RAC Ping 문제가 개선되어 성능이 크게 향상된 것으로 oracle9i 버전부터 서로 다른 인스턴스에서 변경된 데이터를 디스크를 거치지 않고 바로 인스턴스로 가져올 수 있는 기능인 Cache Fusion이라는 기능이 사용된다.

 

 

 

* public network(public 망): ip 3개 중 관리자가 유지, 보수할 때 쓰는것으로, public망에 붙어쓰는게 vip인데, service ip임.

* inter connect = private network(private망): instance1과 instance2를 연결하는 망.

* cache fusion: instance1에 있는 데이터와 instance2에 있는 데이터를 서로 즉시 볼 수 있고, 어떤 물리적인 instance에서 작업을 하든지 내용이 구분없이 섞여 있으므로 cache fusion이라고 부릅니다.

 

 

 

 

 

참고자료

greatepig.tistory.com/14

www.sharedit.co.kr/posts/53

12bme.tistory.com/322

rosebud90.tistory.com/entry/Oracle-RAC%EB%9E%80