피드로 돌아가기
Migrating a ScyllaDB Cluster the “Brain Transplant” Way
Dev.toDev.to
Database

네트워크 제약을 극복한 ScyllaDB 데이터 파일 기반의 Brain Transplant 마이그레이션

Migrating a ScyllaDB Cluster the “Brain Transplant” Way

Ara2026년 5월 17일7advanced

Context

Managed Kubernetes 환경 내 네트워크 제약으로 인해 기존 ScyllaDB의 sstableloader나 클러스터 간 Replication 사용이 불가능한 상황. 소스-타겟 클러스터 간 양방향 연결 불가라는 제약 조건 하에서 데이터 일관성을 유지하며 이전해야 하는 기술적 과제 직면.

Technical Solution

  • 동일한 노드 수와 설정 및 Cluster Name을 가진 타겟 클러스터 구축을 통한 환경 동기화
  • Source Cluster 운영 중 rsync를 활용한 raw data files의 1:1 복제로 가동 중단 시간 최소화
  • 데이터 변경분을 지속적으로 반영하는 Incremental rsync 수행을 통한 최종 컷오버 시점의 데이터 갭 축소
  • Seed Node 우선 기동 후 나머지 노드를 순차적으로 부팅하여 클러스터 상태 안정화 도모
  • nodetool repair 실행을 통해 복제본 간 데이터 일관성을 보장하고 정합성 검증
  • nodetool removenode 및 system.scylla_local 상태 삭제를 통한 이전 클러스터의 잔류 메타데이터(Phantom memories) 제거

- 마이그레이션 대상 간 네트워크 단절 시 Raw Data 파일 복제 가능성 검토 - Incremental Sync 전략을 통해 컷오버 직전까지의 데이터 델타 최소화 - 타겟 클러스터 기동 후 반드시 nodetool repair를 통한 데이터 정합성 확보 - Raft Group Registry 등 시스템 메타데이터에 남은 이전 노드 정보 제거 절차 확인

원문 읽기