replSetSyncFrom
설명
replSetSyncFrom
현재
mongod
에 대한 기본 동기화 대상을 일시적으로 재정의합니다. 이 작업은 다양한 패턴을 테스트하거나 세트 멤버가 원하는 호스트에서 복제되지 않는 상황에 유용합니다.팁
mongosh
에서는 이 명령을rs.syncFrom()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.admin
데이터베이스에서replSetSyncFrom
를 실행합니다.replSetSyncFrom
명령의 형식은 다음과 같습니다.db.adminCommand( { replSetSyncFrom: "hostname<:port>" }) replSetSyncFrom
명령에는 다음 필드가 있습니다.필드유형설명replSetSyncFrom
문자열이 멤버가 복제해야 하는 복제본 세트 멤버의 이름 및 포트 번호입니다.
[hostname]:[port]
형식을 사용합니다.1 vote
이 있는 복제본 세트 멤버는0 votes
이 있는 멤버와 동기화할 수 없습니다.
행동
동기화 로직
replSetSyncFrom
를 실행할 때 초기 동기화 작업이 진행 중인 경우, replSetSyncFrom
는 진행 중인 초기 동기화를 중지하고 새 대상과의 동기화 프로세스를 다시 시작합니다.
필요한 경우에만 기본 동기화 로직을 수정하고 항상 주의를 기울입니다.
대상
동기화할 멤버는 세트의 데이터에 대한 유효한 소스여야 합니다. 구성원으로부터 동기화하려면 해당 구성원은 다음을 충족해야 합니다.
데이터가 있습니다. 중재자가 될 수 없으며, 시작 또는 복구 모드 상태가 아니고, 데이터 쿼리에 응답할 수 있어야 합니다.
접근이 가능해야 합니다.
복제본 세트 구성에서 동일한 세트의 멤버여야 합니다.
members[n].buildIndexes
설정으로 인덱스를 빌드합니다.자체 동기화를 방지하기 위해 세트의 다른 구성원이어야 합니다.
현재 구성원보다 10초 이상 뒤처진 멤버로부터 복제를 시도하는 경우 mongod
는 경고를 기록하지만 여전히 뒤처진 구성원으로부터 복제를 수행합니다. 복제 지연 및 흐름 제어를 참조하세요.
지속성
replSetSyncFrom
기본 동작의 임시 재정의를 제공합니다. mongod
는 다음과 같은 상황에서 기본 동기화 동작으로 되돌아갑니다.
replSetSyncFrom
사용에 대한 자세한 내용은 자체 관리형 세컨더리의 동기화 대상 구성을 참조하세요.