장애 조치 자동화 단계
OwlDB는 DR로 구성된 Primary 데이터베이스의 상태를 지속적으로 모니터링하여 장애 상황을 감지합니다. 시스템은 1초마다 health check를 수행하며, 모든 Primary DB 노드가 Unavailable 상태로 30초동안 지속될 경우, 자동으로 장애 조치가 수행됩니다.
단계별 알림 정책
수행 시점
장애 감지 직후
Standby 승격 이후
알림
시작 / 요청 실패 / 완료 / 실패
완료 / 실패
전환 이력 관리
Standby 승격성공 여부 : 결과 컬럼에 표시
성공 / 실패
standby가 승격하여 새로운 primary가 된 것을 기준으로 성공 여부를 정의
원인/비고 컬럼
전체 성공 시 빈칸
Standby 승격 실패 : Standby Promotion Failed
Standby 승격성공 후 구상정상화 실패 시 : Cluster Normalization Failed: Primary scale out failed 혹은 New standby creation failed
(둘 다 실패하면 콤마로 표시)
장애 조치 자동화 단계별 동작 요약
0단계(수동)
❌
❌
필수 → 역할전환 버튼으로 수행
(수행 시 2단계 진행)
1단계(자동 장애 조치)
✔️
✔️ (Scale-Out)
retired(old primary) 처리
2단계(자동 구성 복구)
✔️
✔️ (Rebuild/Scale-Out)
retired(old primary) 처리standby 추가 생성
3단계(완전 자동화)
✔️
✔️ (Rebuild/Scale-Out)
참고 기존 primary cluster가 TAC인 경우, 구성 복구를 위하여 Scale-out을 수행하여 new primary cluster도 TAC 구성으로 복구됩니다.
참고 1, 2단계의 경우 Primary Cluster가 비정상 종료되면 Standby로 전송 되지 않은 로그가 있을 수 있습니다. 데이터 일관성을 보장할 수 없고, Split-Brain 현상을 방지하기 위해 retired 상태로 처리됩니다.
주의
장애조치 자동화 레벨이 1단계일 때 Standby가 1개만 있는 경우, 해당 Standby가 Primary로 승격되면서 장애조치 이후 Standby가 없을 수 있습니다. 이 경우 고가용성 구성이 유지되지 않으므로 주의가 필요합니다.
라이선스 유형별 자동화 제공 범위
0 - 3 단계
0, 2, 3단계 (1단계 미제공)
자동화 단계별 상세 시나리오
참고
토폴로지 상태 판별 기준
Standby 승격 이후 구성 정상화 상태는 토폴로지 방식과 동일한 형상인지를 기준으로 판별합니다.
Primary가 TAC(Tibero Active Cluster) 구성인 경우
Failover 이후에도 Scale-out을 수행하여 TAC 구조를 유지하고 있는지 확인합니다.
Primary Node 개수가 2개 이상인 경우:
Running상태Primary Node 개수가 2개 미만인 경우:
Degraded상태
DR(Disaster Recovery) 구성인 경우
Standby를 보유하고 있는지 확인합니다.
Standby 개수가 1개 이상인 경우:
Running상태단, Standby 개수는 충족하나 Standby가 비정상 상태인 경우에는
Degraded상태일 수 있습니다.
Standby 개수가 0개인 경우:
Degraded상태
1단계: 자동 장애 조치
Old Primary는 재기동하지 않고 종료되며, 신규 Standby를 생성하지 않습니다.
장애 감지
Auto Failover 요청 전송
Failover
Auto Failover 시작
요청 실패하는 경우 “Auto Failover 요청 실패”
Standby 승격
TSN이 가장 높은 Standby를 Primary로 승격
-
new Primary 구성 변경
TAC인 경우 Scale Out 수행
Updating
new Primary DB 사용 가능
→ “Auto Failover 완료”
실패 시 “Auto Failover 실패”
Old Primary 처리
Retired 상태로 표시 후 EC2 종료
-
완료
구성 정상화 완료
Degraded
"구성 정상화 완료”
실패 시, “구성 정상화 실패”
2단계: 자동 구성 복구
신규 Standby를 자동으로 생성하여 고가용성 구성을 복구합니다.
장애 감지
Auto Failover 요청 전송
Failover
Auto Failover 시작
요청 실패하는 경우 “Auto Failover 요청 실패”
Standby 승격
TSN이 가장 높은 Standby를 Primary로 승격
-
new Primary 구성 변경
TAC인 경우 Scale Out 수행 (라이선스 이관 포함)
Updating
new Primary DB 사용 가능
→ “Auto Failover 완료”
실패 시 “Auto Failover 실패”
Old Primary 처리
Retired 상태로 표시 후 EC2 종료
-
신규 Standby 생성
Old Primary가 위치한 AZ에 동일 스펙으로 생성
-
Standby 연결 및 동기화
-
완료
구성 정상화 완료
Running / Degraded
"구성 정상화 완료”
실패 시, “구성 정상화 실패”
3단계: 완전 자동화
장애 감지
Auto Failover 요청 전송
Failover
Auto Failover 시작
요청 실패하는 경우 “Auto Failover 요청 실패”
Old Primary 재기동 시도
EC2 재기동 후 DB 재기동 시도 (실패 시 삭제)
-
Standby 승격
TSN이 가장 높은 Standby를 Primary로 승격
-
new Primary 구성 변경
TAC인 경우 Scale Out 수행
Updating
new Primary DB 사용 가능
→ “Auto Failover 완료”
실패 시 “Auto Failover 실패”
5. 역동기화 시도
재기동 성공시 Old Primary를 Standby로 연결 →
8.완료재기동 실패시 해당 인스턴스 삭제
-
신규 Standby 생성
Old Primary가 위치한 AZ에 동일 스펙으로 생성
-
Standby 연결 및 동기화
-
완료
구성 정상화 완료
Running / Degraded
"구성 정상화 완료”
실패 시, “구성 정상화 실패”
Last updated
