ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

자주 묻는 질문

이 페이지에서는 발생한 몇 가지 자주 묻는 질문에 대한 답변을 제공합니다. 추가 질문이 있는 경우 MongoDB 지원팀에 문의하세요.

예, 동기화 중 재구성 의 단계에 따라 마이그레이션 중에 클러스터 워크로드 수준을 조정할 수 있습니다.mongosync

mongosync동기화 중에 소스에서 대상으로의 쓰기를 결합하고 재정렬하고컬렉션 특성을 일시적으로 수정합니다. 따라서 mongosync 는 동기화 가 일시 중지된 경우에도 동기화 실행 중인 어느 점 에서든 대상이 오래된 버전의 소스를 포함하여 소스와 일치한다고 보장할 수 없습니다. 대상 클러스터에 대한 트래픽을 안전하게 허용하려면 commit(으)로 마이그레이션 때까지 기다립니다. 자세한 학습 은 연속 동기화 시 고려 사항을 참조하세요.

동기화 중에 대상 클러스터 에 쓰기를 수행하면 정의되지 않은 동작이 발생합니다. mongosync 은 기본값 으로 대상 클러스터 에 대한 쓰기를 차단합니다. 쓰기 차단에 대해 자세히 학습 쓰기 차단start 를 참조하세요.

커밋 시 canWritetrue인 경우에만 대상 클러스터 에 쓰기 (write) 것이 안전합니다. 의 값을 확인하려면 canWrite progress 엔드포인트를 실행 .

동기화 중 허용되는 읽기 및 쓰기에 대해 자세히 학습 읽기 및 쓰기를 참조하세요.

참고

대상 클러스터 의 인덱스 빌드는 mongosync 가 동기화되는 동안 쓰기로 처리됩니다.

아니요, 현재로서는 로 재해 복구 클러스터 클러스터 mongosync mongosync commit 관리할 수 없습니다. 자세한 내용은 가 동기화되는 동안 대상 클러스터 에 읽기 또는 쓰기를 수행할 수 mongosync 있나요?를 참조하세요.

대상 클러스터의 인덱스 크기 증가에 영향을 미칠 수 있는 요인은 다음과 같습니다.

  • mongosync 은 마이그레이션 중에 데이터를 삽입 및 제거하므로 데이터가 디스크에 비효율적으로 저장될 수 있습니다.

  • 기본값 으로 mongosync 는 데이터를 복사하기 전에 인덱스를 빌드합니다. mongosync 은(는) _id 순서로 데이터를 복사합니다. 인덱스 _id와 상관 관계가 없으면 인덱스 크기가 커질 수 있습니다. 자세한 내용은 MongoDB 매뉴얼 FAQ: 인덱스 페이지를 참조하세요.

인덱스 크기 증가를 완화하려면 다음 방법을 사용하세요.

  • 매개 변수를(으)로 buildIndexes 설정하다 never 하여 마이그레이션 다시 시작합니다. 마이그레이션 이 완료되면 대상 클러스터 에 인덱스를 수동으로 빌드 .

  • 마이그레이션 후 대상 클러스터 에서 롤링 초기 동기화 수행합니다.

  • 마이그레이션 후 대상 클러스터 에서 compact를 실행 . 이렇게 하면 인덱스가 재구축되고 불필요한 디스크 공간이 OS에 해제되지만 클러스터 성능에 영향 수 있습니다.

예, mongosync 는 자체 hardware에서 실행할 수 있습니다. mongosync 를 MongoDB 인스턴스를 호스팅하는 서버에서 실행할 필요가 없습니다. When mongosync runs on its own hardware, it can use an operating system (OS) that is different than the OS on the source or destination clusters.

대부분의 마이그레이션의 경우 대상 클러스터 다음 속성을 포함하여 소스 클러스터 보다 높은 hardware 사양을 가져야 합니다.

  • 중앙처리장치

  • 메모리

  • Disk I/O

이러한 hardware 사양은 대상 클러스터 mongosync 쓰기를 처리하다 할 수 있고 동기화 소스 클러스터의 워크로드 따라잡을 수 있도록 보장합니다.

대상 클러스터 마이그레이션되는 논리적 데이터 크기와 초기 동기화 의 대상 oplog 항목을 수용할 수 있는 충분한 디스크 저장 있어야 합니다. 예시 를 들어 10 GB 의 데이터를 마이그레이션 하려면 대상 클러스터 최소 10 GB 의 데이터 사용 가능 공간이 있어야 하며, 초기 동기화 의 삽입 oplog 항목을 위한 추가 10 GB 있어야 합니다.

내장된 검증을 사용하려면 대상에 더 큰 oplog 있어야 합니다. 내장된 검증자를 활성화 하고 대상 oplog 의 크기를 줄이면 내장된 검증자가 이를 따라잡지 못해 mongosync 오류가 발생할 수 있습니다.

대상 oplog 항목의 오버헤드 줄여야 하고 내장된 검증자가 비활성화된 경우 다음을 수행할 수 있습니다.

  • 설정을 사용하여 대상 클러스터의 oplog 크기를 oplogSizeMB 줄입니다.

  • oplogMinRetentionHours 설정을 사용하여 대상 클러스터의 최소 oplog 보존 기간을 낮추거나 제거 .

은 컬렉션 복사 단계 후에 소스mongosync 클러스터 의 작업을 oplog 대상 클러스터 의 데이터에 적용합니다. mongosync 적용되지 않은 작업이 소스 클러스터 에서 oplog 롤오프되면 동기화 가 실패하고 mongosync 이 종료됩니다.

참고

mongosync 는 대상 클러스터 에 동기화 하는 동안 소스 클러스터 에서 수행된 applyOps 작업을 복제하지 않습니다.

대규모 데이터 세트를 동기화할 예정이거나 장기간 동기화를 일시 중지할 계획인 경우 oplog window 를 초과할 수 있습니다. oplogSizeMB 설정을 사용하여 소스 클러스터에서 oplog 의 크기를 늘립니다.

mongosync 에는 readConcern: "majority"writeConcern: "majority"가 필요합니다.

가 이 readConcern 아닌 경우 majoritymongosync 오류를 반환합니다.

Invalid URI option, read concern must be majority

가 이 writeConcern 아닌 경우 majoritymongosync 오류를 반환합니다.

Invalid URI option, write concern must be majority

mongosync 은(는) 다른 모든 연결 string 옵션을 허용합니다.

mongosync 은(는) 표준 MongoDB 연결 string 을 사용하여 소스 및 대상 클러스터에 연결합니다.

LDAPX509 가 지원됩니다. 사용 가능한 인증 옵션 은 자체 관리 배포서버에 대한 인증을 참조하세요.

mongosync 은(는) 오류 발생 시 자동으로 다시 시작되지 않습니다. 그러나 스크립트 를 쓰기 (write) 하거나 운영 체제의 프로세스 관리자( 예시: systemd )를 사용하여 mongosync 프로세스 를 다시 시작할 수 있습니다.

mongosync 바이너리는 상태를 저장하지 않습니다. 다시 시작하기 위한 메타데이터는 대상 cluster에 저장됩니다.

동기화 중에 mongosync 을 사용할 수 없게 되면 mongosync 작업을 재개할 수 있습니다. mongosync 를 다시 사용할 수 있게 되면 동일한 매개 변수를 사용하여 mongosync 프로세스를 다시 시작합니다. mongosync 은(는) mongosync 을(를) 사용할 수 없게 되었을 때 중지된 위치에서 작업을 재개합니다.

참고

mongosync 1.7.3 부터 시작, 동기화 작업을 재개하거나 다시 시작할 때 mongosync 가 응답하는 데 최소 2분 정도 걸릴 수 있습니다. 이 시간 동안에는 progress 엔드포인트에 대한 모든 호출이 실패할 수 있습니다. progress 호출이 실패해도 안전하게 다시 시도할 수 있습니다.

예, 복제본 세트에는 중재자가 있을 수 있습니다. 소스 복제본 세트에는 2 개 이상의 비중재자 노드가 있어야 하며 비중재자 노드에서 동기화해야 합니다. 소스 클러스터의 연결 string 을 사용하여 중재자가 아닌 데이터 보유 노드에 대한 읽기 설정 을 지정합니다.

소스 cluster에서 느린 읽기 작업 또는 대상 cluster에서 느린 쓰기 작업이 있는 경우 초기 동기화 또는 변경 이벤트 적용 중에 작업 속도 저하 경고가 발생할 수 있습니다. 경고는 소스 또는 대상 cluster의 네트워크 혼잡 또는 리소스 부하를 나타낼 수 있습니다.

이러한 경고가 그 자체로 실패를 나타내는 것은 아니지만 작업이 느리면 mongosync 에서 작업 시간 초과 오류 및 마이그레이션 실패가 발생할 수 있습니다.

느린 작업 경고가 표시되면 소스 및 대상 cluster에서 CPU, 메모리 및 네트워크 사용량을 확인하세요. cluster가 요구 사항에 비해 프로비저닝이 부족한 경우 hardware를 업그레이드하는 것이 좋습니다.

아니요, "오류" 또는 "실패"라는 단어가 포함된 로그는 치명적이지 않은 오류를 표시하며 mongosync 을 조기에 중지해야 함을 나타내지 않습니다. 이러한 로그는 mongosync 에 오류가 발생했거나 데이터가 손상되었음을 나타내지 않습니다. 치명적인 오류가 발생하면 mongosync 는 동기화를 중지하고 치명적인 로그 항목을 기록합니다.

중복 키 오류는 동기화 프로세스 의 정상적인 일부입니다. 이러한 오류는 다음과 같은 경우에 발생할 수 있습니다.

  • mongosync 이(가) 시작된 후 소스 클러스터 에 문서 를 삽입합니다. mongosync 는 문서 를 직접 복사하고 나중에 문서 에 변경 삽입 이벤트 를 중복 적용 할 수 있습니다.

  • mongosync 을(를) 중지했다가 다시 시작합니다. 이로 인해 mongosync 이 다시 시작될 때 중복 삽입이 발생할 수 있습니다.

  • mongosync 에서 일시적인 오류가 발생하여 이미 성공했을 수 있는 삽입을 다시 시도합니다.

치명적 오류는 해결해야 하는 문제를 나타내며 마이그레이션 을 다시 시작해야 합니다. 오류를 해결한 후 mongosync_reserved_for_internal_use 데이터베이스 를 포함하여 대상 클러스터 에서 마이그레이션된 모든 데이터를 삭제 합니다. 그런 다음 mongosync 다시 시작하고 새 마이그레이션 을 시작합니다.

Cluster-to-Cluster Sync는 소스에서 대상 클러스터로의 TTL 인덱스 동기화를 지원합니다.

아니요, 대상 샤딩된 클러스터 에서 청크 배포를 사용자 지정하도록 mongosync 를 구성할 수 없습니다. mongosync 는 마이그레이션 후 대상 클러스터의 샤드 전체에 문서를 효율적으로 배포하는 방법을 결정하기 위해 초기화 중에 각 컬렉션 샘플링합니다.