피드로 돌아가기
Migrate from Crunchy Data PostgreSQL Operator to Percona PostgreSQL Operator: The Standby Cluster Method
Dev.toDev.to
Database

Hard Fork 기반 호환성을 활용한 Near-Zero Downtime 마이그레이션

Migrate from Crunchy Data PostgreSQL Operator to Percona PostgreSQL Operator: The Standby Cluster Method

Viacheslav(Slava) Sarzhan2026년 5월 27일14intermediate

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 명령 실행 검토

원문 읽기