mongosync 과 버전을 업그레이드 방법에 대한 mongosync 지침은 최신 문서를 참조하세요.mongosync 프로그램은 변경 스트림 을 사용하여 소스 클러스터와 대상 클러스터 간에 데이터를 동기화합니다. mongosync 는 oplog 직접 액세스 하지 않지만 변경 스트림 과거의 이벤트를 반환하는 경우 이벤트는 oplog 시간 범위 내에 있어야 합니다.
mongosync 소스 클러스터의 oplog 에 있는 작업을 대상 클러스터의 데이터에 적용합니다. mongosync 적용되지 않은 작업이 소스 cluster의 oplog 롤오프되면 동기화가 실패하고 mongosync 가 종료됩니다.
참고
mongosync 대상 클러스터에 동기화하는 동안 소스 클러스터에서 수행된 applyOps 작업을 복제하지 않습니다.
초기 동기화 중에 mongosync 에서 문서를 동시에 복사하기 때문에 더 느린 속도로 작업을 적용할 수 있습니다. 초기 동기화 후 mongosync 는 변경 사항을 더 빠르게 적용하고 oplog 에서 소스 클러스터에서 발생하는 실시간 쓰기에 가까운 위치를 유지할 가능성이 높습니다.
대규모 데이터 세트를 동기화할 예정이거나 장기간 동기화를 일시 중지할 계획인 경우 oplog window 를 초과할 수 있습니다. oplogSizeMB 설정을 사용하여 소스 클러스터에서 oplog 의 크기를 늘립니다.
초기 동기화에 필요한 oplog 크기 모니터링
oplog window 결정
oplog 에서 첫 번째 항목과 마지막 항목의 차이를 초 단위로 확인하려면 db.getReplicationInfo() 를 실행합니다. 샤드 클러스터를 복제하는 경우 각 샤드에서 명령을 실행합니다.
db.getReplicationInfo().timeDiff
반환되는 값은 cluster의 최소 oplog 창입니다. 여러 개의 샤드가 있는 경우 가장 작은 숫자가 최소 oplog 윈도우입니다.
mongosync 복제 지연 확인
lagTimeSeconds 값을 가져오려면 /progress 명령을 실행합니다. 지연 시간은 mongosync 에서 적용한 마지막 이벤트와 소스 클러스터의 현재 최신 이벤트 시간 사이의 시간(초)입니다.
소스 클러스터 mongosync 가 얼마나 뒤쳐져 있는지를 측정한 값입니다.
oplog 크기 유효성 검사
지연 시간이 최소 oplog 창에 근접하면 다음 중 하나를 변경합니다.
oplog창을 늘립니다.replSetResizeOplog를 사용하여minRetentionHours를 현재oplog창보다 크게 설정합니다.mongosync인스턴스를 확장합니다. CPU 또는 메모리를 추가하여 복사 속도가 빨라지도록mongosync노드를 확장합니다.
참고
oplog window와 복제 지연에 대한 변경 속도는 동기화 중에 달라질 수 있습니다. 마이그레이션 중에 이 단계를 반복하여 진행 상황을 모니터링합니다.