실무에서 갑자기 "DB failover 작업이 필요하다"는 요청을 받았을 때, 데이터베이스 지식이 부족하면 당황스럽기 마련입니다. 이 포스트에서는 실제 업무에서 마주칠 수 있는 DB failover 상황을 통해 개념과 대응 방법을 정리해보겠습니다.
다음과 같은 요청이 왔다고 가정해봅시다:
DNS: userservice-live.mysql.company.net
DB 구성: web-db01(192.168.1.10), web-db02(192.168.1.11) / VIP: 192.168.1.100
위 LIVE DB 장비가 OS 스토리지 교체로 인해서 failover 작업이 필요하다고 합니다.
7월 9일에 failover 진행하여도 되는지 확인 가능하실까요? failover시에 DB 순단 발생합니다..!
위 요청에서 보이는 DB 구성을 분석해보면:
web-db01 (192.168.1.10)web-db02 (192.168.1.11)이는 전형적인 Master-Slave 구성의 고가용성 데이터베이스입니다.
VIP는 가상 IP로, 현재 Primary DB에 연결되어 있습니다. 애플리케이션은 개별 DB 서버가 아닌 이 VIP를 통해 DB에 접속합니다.
애플리케이션 → VIP (10.140.14.147) → Primary DB (gmscms01)
Failover는 Primary DB에서 Secondary DB로 서비스를 전환하는 작업입니다.
작업 전:
애플리케이션 → VIP → Primary DB (gmscms01)
Secondary DB (gmscms02) [대기 상태]
작업 후:
애플리케이션 → VIP → Secondary DB (gmscms02) [새로운 Primary]
Primary DB (gmscms01) [작업 중/복구 중]
| 유형 | 소요 시간 | 특징 |
|---|---|---|
| 자동 Failover | 1~3분 | 잘 구성된 HA 환경 |
| 수동 Failover | 5~15분 | 관리자가 직접 전환 |
요청을 받았을 때 다음 사항들을 확인해야 합니다:
확인 필요 사항:
1. 예상 작업 시간 (DB 순단 시간)
2. 작업 시간대 (새벽/점심/저녁 등)
3. Rollback 계획 (문제 발생 시 복구 방안)
4. 사전 데이터 동기화 상태 확인 완료 여부
안녕하세요.
gamesearch-live DB failover 작업 건 검토 완료했습니다.
**승인 사항:**
- 7월 9일 failover 작업 진행 승인합니다
**확인 사항:**
- 정확한 작업 시간을 알려주시면 관련 팀에 사전 공지하겠습니다
- 예상 순단 시간과 서비스 영향 범위를 미리 안내 부탁드립니다
**협조 요청:**
1. 작업 시작 전 사전 알림 (최소 1시간 전)
2. 작업 진행 중 실시간 상황 공유
3. 작업 완료 후 결과 보고
**우리 쪽 준비사항:**
- 관련 서비스 팀에 사전 공지 예정
- 작업 시간 동안 모니터링 강화
작업 일정이 확정되면 다시 한 번 연락 부탁드립니다.
감사합니다.
DB failover는 고가용성 환경에서 필수적인 작업입니다. 처음에는 복잡해 보일 수 있지만, 기본 개념을 이해하고 체계적으로 접근하면 안전하게 수행할 수 있습니다.
핵심은 언제, 얼마나 오래, 어떻게 복구할지를 명확히 하는 것입니다. 이를 통해 서비스 영향을 최소화하면서도 안정적인 운영을 유지할 수 있습니다.
참고 자료:
태그: #Database #Failover #HighAvailability #MySQL #실무가이드