정의
내장된 config 서버 에서 전용 config 서버 로의 전환을 커밋합니다.
이 명령을 실행 하려면 명령을 사용하여 전용 config 서버 startTransitionToDedicatedConfigServer 로 전환해야 합니다. 이 명령은 밸런서 청크를 샤드 에서 클러스터 의 다른 샤드로 이동하도록 지시합니다. 또한 명령을 실행 전에 샤드 프라이머리 샤드 로 사용하는 데이터베이스와 샤드 에 저장된 샤드 해제되지 않은 컬렉션을 수동으로 이동해야 commitTransitionToDedicatedConfigServer 합니다.
전용 config 서버 로의 전환이 완료되지 않았거나 데이터베이스 또는 샤딩되지 않은 컬렉션 포함된 경우 명령은 오류와 함께 ok: 0 를 반환합니다. 전환이 발생하고 모든 데이터베이스와 샤딩되지 않은 컬렉션이 샤드 에서 마이그레이션된 경우 명령은 ok: 1을 반환합니다.
전용 config 서버 로의 전환을 시작하려면 명령을 startTransitionToDedicatedConfigServer 참조하세요.
내장된 config 서버 에서 전용 config 서버 로의 전환 상태를 표시하려면 명령을 getTransitionToDedicatedConfigServerStatus 참조하세요.
내장된 config 서버 에서 전용 config 서버 로 진행 중인 전환을 중지하려면 명령을 stopTransitionToDedicatedConfigServer 실행합니다.
버전 8.3에 추가 되었습니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
참고
이 명령은 MongoDB Atlas 에서 지원되지 않습니다. 내장된 config 서버 배출하도록 Atlas 샤드 클러스터 수정을 참조하세요.
구문
명령은 다음과 같은 구문을 가집니다:
db.adminCommand( { commitTransitionToDedicatedConfigServer: 1 } )
행동
액세스 요구 사항
authorization 을(를) 활성화한 경우 clusterManager 역할 또는 removeShard 작업을 포함하는 역할이 있어야 합니다.
데이터베이스 마이그레이션 요구 사항
샤딩된 클러스터 의 각 데이터베이스 에는 프라이머리 샤드 가 있습니다. 전환하는 샤드 클러스터 데이터베이스 중 하나의 프라이머리 이기도 한 경우, 샤드 에서 모든 데이터를 마이그레이션한 후 프라이머리 샤드 에서 새 샤드 로 데이터베이스를 수동으로 이동해야 합니다.
사용하려는 샤드 프라이머리 로 사용하는 데이터베이스 있는 경우 commitTransitionToDedicatedConfigServer 명령은 오류를 반환합니다.
자세한 내용은 movePrimary 명령 및 샤드 클러스터에서 샤드 제거를 참조하세요.
컬렉션 마이그레이션 요구 사항
샤딩되지 않은 컬렉션은 개별 샤드에 저장됩니다. 이러한 컬렉션 중 하나가 포함된 구성 서버에서 전용 config 서버 로 전환하려는 샤드 에 있는 경우 먼저 컬렉션 다른 샤드 로 마이그레이션 해야 합니다.
포함된 구성 서버에서 전용 config 서버 로 전환하려는 샤드 에 저장된 비샤드형 컬렉션 있는 경우 commitTransitionToDedicatedConfigServer 명령은 오류를 반환합니다.
샤딩되지 않은 컬렉션 마이그레이션 하려면 명령을 moveCollection 참조하세요.
예시
샤드 배출 시작하려면 db.adminCommand() 메서드를 startTransitionToDedicatedConfigServer 사용하여 명령을 실행 .
db.adminCommand( { startTransitionToDedicatedConfigServer: "1" } )
배출 작업의 상태를 확인하려면 명령을 getTransitionToDedicatedConfigServerStatus 사용합니다.
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: "1" } )
{ "state" : "drainingComplete", "msg" : "draining completed successfully", "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772142838, 176), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772142838, 174) }
출력에 dbsToMove 필드 에 movePrimary 데이터베이스가 표시되면 명령을 사용하여 해당 데이터베이스를 다른 샤드 로 이동합니다.
출력에 collectionsToMove 필드 에 샤딩되지 moveCollection 않은 컬렉션이 표시되면 명령을 사용하여 컬렉션을 다른 샤드 로 이동합니다.
에 가 표시되면 밸런서 가 샤드 에서 청크 이동을 완료한 것입니다. 이제 샤드 제거 할 수 getTransitionToDedicatedConfigServerStatus 있습니다.{ state:
"completed" }
db.adminCommand( { commitTransitionToDedicatedConfigServer: "1" } )
{ "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772142839, 19), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772142839, 19) }