피드로 돌아가기
Dev.toDatabase
원문 읽기
Hard Fork 기반 호환성을 활용한 Near-Zero Downtime 마이그레이션
Migrate from Crunchy Data PostgreSQL Operator to Percona PostgreSQL Operator: The Standby Cluster Method
AI 요약
Context
Crunchy Data PGO에서 Percona PGO로의 전환 필요성 대두. 두 Operator가 Patroni 및 pgBackRest 등 동일한 핵심 컴포넌트를 공유하는 Hard Fork 관계임을 활용하여 데이터 무결성을 유지하며 전환하는 구조 설계.
Technical Solution
- pgBackRest S3 저장소를 공유하여 소스와 타겟 클러스터 간 데이터 동기화 기반 마련
- pgBackRest Repo-based Standby 설정을 통한 최신 Base Backup 기반의 초기 데이터 시딩
- Streaming Replication 병행 적용으로 Primary와 Standby 간의 실시간 데이터 갭 최소화
- 최종 Cutover 시점에 Standby를 Primary로 Promote하여 서비스 다운타임을 최소화하는 전략 채택
- Async Archive 모드에서 발생하는 Timeline history 파일 누락 문제를 해결하기 위한 수동 Synchronous Push 로직 적용
- S3 호환 스토리지인 SeaweedFS를 도입하여 인클러스터 데이터 저장소의 독립성 확보
실천 포인트
1. 마이그레이션 전 소스와 타겟의 PostgreSQL Major Version 일치 여부 확인
2. pgBackRest의 repo1-path 설정이 양측 Operator Spec에서 동일하게 구성되었는지 검증
3. S3 endpoint의 TLS 통신 가능 여부 및 인증 자격 증명 일치 확인
4. Promote 이후 Timeline history 파일의 정합성을 위한 archive-push 명령 실행 검토