CDC를 이용한 Active-LiveStandby DB 구축 시 failover 방안

  • 1,190 views
Uploaded on

CDC를 이용하여 Active-LiveStandby DB를 구축할 경우, 기존 DB Clustering 기술에서 제공하던 것과 유사한 failover 방안이 필요하다. 몇 가지 솔루션들을 소개한다.

CDC를 이용하여 Active-LiveStandby DB를 구축할 경우, 기존 DB Clustering 기술에서 제공하던 것과 유사한 failover 방안이 필요하다. 몇 가지 솔루션들을 소개한다.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,190
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
14
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. <Insert Picture Here>DB Active-LiveStandby 환경에서 HA 역할정명훈(jerry.jeong@oracle.com)Data Integration Sales Consulting,Oracle Korea Ltd.
  • 2. DB Active-LiveStandby 환경에서 HA 필요성 • 전제 • GoldenGate를 이용하여 DB를 Active-LiveStandby 형태로 구성하여 Application 서비스를 할 경우 DB에 대한 failover를 수행할 수 있는 HA 솔루션이 필요하다. • 일반적으로 Oracle RAC와 같은 환경에서는 Oracle Clusterware가 Service IP를 넘겨주는 HA 역할을 담당하지만, GoldenGate를 이용한 Active-LiveStandby 환경에서는 해당 역할을 하는 다른 컴포넌트가 필요하다. • 구현 방식은 여러 가지가 있으며 이 문서에서 그러한 다양한 구현 방법에 대해 기술한다. 장애 시 standby로 switch© 2012 Oracle Corporation – Proprietary and Confidential 2/ 총 페이지
  • 3. 운영체제 Cluster/HA 기능 이용 • 운영체제 Cluster/HA 기능 • 대부분의 운영체제는 다음과 같이 Clustering 또는 High Availability 기능을 제공한다. • Oracle Solaris Cluster • Data Service for Oracle • Linux Cluster • Linux HA & Linux Heartbeat • HP/UX Service Guard • Toolkit for Oracle • IBM HACMP • HACMP SmartAssist for Oracle • Window MSCS(Microsoft Cluster Server) • 운영체제 Cluster/HA 활용 • 운영체제 솔루션은 운영 노드 장애 시, Virtual IP(또는 Service IP)를 백업 노드로 넘기는 기능을 가지고 있다. 이 기능을 이용하여 Oracle DB TNS Listner를 백업 DB쪽으로 failover 하여 운영할 수 있다. • 대부분의 솔루션은 트기 Oracle DB와 같은 즉정 서비스나 애플리케이션의 Health Check를 할 수 있는 기능이 있으며, 그것을 이용하여 일정 기준을 넘어서면 백업 노드로 failover 할 수 있다. • Active 노드에서 DB 프로세스(인스턴스) 장애 시, 재 기동을 시도하는 기능도 포함© 2012 Oracle Corporation – Proprietary and Confidential 3/ 총 페이지
  • 4. 기타 Cluster/HA 제품 이용 • 특정 운영체제에 종속적이지 않은 Cluster/HA 솔루션 • EMC AutoStart • Legato 솔루션을 인수해서 이름을 AutoStart로 변경 • LifeKeeper • Window, Linux 지원 • 그외 기타 • Fujitsu PRIMECLUSTER, IBM Tivoli System Automation for Multiplatforms, NEC ExpressCluster, Veritas Cluster Server • 운영체제 Cluster/HA 기능과 유사하게 Oracle DB에 대한 Health Check와 Virtual IP failover 기능 제공한다.© 2012 Oracle Corporation – Proprietary and Confidential 4/ 총 페이지
  • 5. 네트워크 장비 이용 • 네트워크 장비를 통한 DB Listener failover • F5 Big-IP LTM(Local Traffic Manager) • Oracle DB의 FAN(Fast Application Notification) 신호를 받아 능동적으로 failover • Active 노드 장애 시, DB로부터 FAN 신호를 받아 LiveStandby 노드로 전환한다. • 또는 TCP Proxy 역할을 통해, Active 노드의 TCP Listener가 응답하지 않을 경우 Active 노드를 dead로 마킹하고 Standby로 failover • TCP 패킷에 대한 Rewrite 기능이 있어 Oracle SID가 다른 경우에도 failover 가능하다. • iControl 스크립트를 이용해 DB의 Health Check 구현이 가능하다. • 기타 L4/L7 장비 • 평소에는 Active 노드에서 DB 요청 처리 • Active 노드 장비 다운이나 Listener fail로 TCP 응답이 안될 경우 기존 노드를 dead로 마킹하고 Standby로 failover • HA 솔루션에서 제공하는 Virtual IP 기능을 장비에서 제공하는 것과 유사한 효과 • Active-LiveStandby 형태로 DB를 운영할 것이므로 네트워크 장비를 Load-balancing 모드가 아닌 Failover 모드로 운영해야 한다.© 2012 Oracle Corporation – Proprietary and Confidential 5/ 총 페이지
  • 6. DB 자체의 Connection Failover 기능 이용 • DB 자체가 가지고 있는 Connection Failover 기능을 활용하는 방법 • Oracle CTF(Connect Time Failover) • Type 4 JDBC Driver를 이용하는 경우 Connection 문자열에 Active 노드와 LiveStandby 노드의 Listener IP를 동시에 기술하여 접속하는 방법 • 평소에는 Active 노드로 접속되다가 장애 발생하면, LiveStandby 노드의 Listener로 접속되어 failover 가능 • 단, 일시적인 네트워크 문제가 발생하는 경우에도 LiveStandby에 접속될 수 있으므로 Active와 LiveStandby를 각각 Read/Write와 Read 용도로 분리하는 경우에는 위험성 있음 • Oracle TAF(Transparent Application Failover) • Type 2 JDBC Driver나 SQL*Net 클라이언트 라이브러리로 접속하는 경우 사용하는 방법 • 접속 시점에만 동작하는 CTF와 달리 접속된 이후에도 노드 간 failover를 할 수 있어 CTF에 비해 유리 • 단, SQL*Net 사용이 가능한 애플리케이션만 지원 • Oracle FAN(Fast Application Notification) • DB 노드나 인스턴스의 장애를 능동적으로 감지하여 failover를 할 수 있는 방법 • Type 4 JDBC에서도 사용 가능 • 단, 특수 API를 이용하여 구현해야 하므로 애플리케이션 수정이 필요 (또는 지원 가능한 미들웨어 사용해야 함) • 미들웨어의 Multi Data Source 기능 • 이 방법은 DB 자체의 기능은 아니지만 WebLogic 서버에서 제공 되는 Multi Data Source 기능을 이용하는 것 • Active와 LiveStandby 노드에 대한 커넥션 풀을 미리 만들어 놓고 평소에는 Active 노드의 풀을 사용하다가, 장애가 발생하면 Standby 노드의 풀을 사용하는 방법 • Multi Data Source 기능을 지원하는 미들웨어를 사용해야 함© 2012 Oracle Corporation – Proprietary and Confidential 6/ 총 페이지
  • 7. Oracle Clusterware 이용 • Oracle Clusterware • Oracle RAC(Real Application Cluster)의 클러스터링 솔루션 • 각종 서비스에 대한 HA 기능, 즉 노드 장애 시 다른 노드로 서비스 마이그레이션 기능 제공 • Virtual IP(Service IP) 기능을 통해 TNS Listener를 백업 노드로 전환할 수 있음 • 11g에서는 SCAN IP 기능을 통해 여러 노드 간 Listener에 대한 load-balancing과 failover 지원 • Oracle RAC 필요 • 노트: 이 방법은 Oracle RAC가 필요하므로 Standalone으로 운영 되는 DB에서는 라이선스 문제로 사용할 수 없음© 2012 Oracle Corporation – Proprietary and Confidential 7/ 총 페이지
  • 8. © 2012 Oracle Corporation – Proprietary and Confidential 8/ 총 페이지
  • 9. © 2010 Oracle Corporation – Proprietary and Confidential 9/ 총 페이지