정의
버전 8.0에 추가 되었습니다.:
MongoDB 8.0 부터 다음을 수행할 수 있습니다.
일반적인 샤딩된 클러스터 메타데이터 외에도 애플리케이션 데이터를 저장하도록 config 서버를 구성합니다. 애플리케이션 데이터를 저장하는 config 서버를 config 샤드라고 합니다.
config 서버를 config 샤드 와 전용 config 서버 config 서버 간에 전환합니다.
클러스터 에는 config 서버 가 필요하지만 전용 config 서버 대신 config 샤드 가 될 수 있습니다. config 샤드 를 사용하면 필요한 노드 수가 줄어들고 배포서버 가 간소화될 수 있습니다.
전용 config 서버는 그 자체의 복제본 세트로 실행되기 때문에 전용 config 서버보다 config 샤드의 비용이 적습니다. config 샤드는 config 서버 역할을 기존 샤드의 복제본 세트에 결합하므로 클러스터에는 두 개 대신 하나의 복제본 세트가 필요합니다. config 샤드를 사용하면 샤드 수가 적을 때 측정할 수 없는 성능 영향이 없습니다. 특정 기능에 필요한 전용 config 서버는 클러스터 메타데이터를 애플리케이션 데이터와 분리합니다. 클러스터에 적합한 배포서버를 학습하려면 구성 샤드 사용 사례를 참조하세요.
transitionFromDedicatedConfigServer 명령은 config 샤드 로 실행 전용 config 서버 를 구성합니다.
transitionFromDedicatedConfigServer 을(를) 실행 하기 전에 mongos 에 연결하여 관리 데이터베이스 를 사용합니다.
샤딩된 클러스터 에는 featureCompatibilityVersion 이 8.0 이상으로 설정하다 되어 있어야 합니다.
구문
명령 구문:
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )
행동
transitionFromDedicatedConfigServer 명령은 config 서버 클러스터 에 샤드 로 추가합니다. 내부적으로 transitionFromDedicatedConfigServer 은 addShard 명령을 실행합니다.
다음 방법 중 하나를 사용하여 샤딩된 클러스터 config 샤드 사용하는지 확인할 수 있습니다.
mongosh에서sh.isConfigShardEnabled()메서드를 실행합니다.sh.isConfigShardEnabled()출력에enabled: true가 포함되어 있으면 클러스터 config 샤드 사용합니다. 출력에enabled: false가 포함되어 있으면 클러스터 config 샤드 사용하지 않는 것입니다.에
listShardsadminmongos연결된_id"config"상태에서 데이터베이스 대해 명령을 실행하고 가 로 설정하다 문서 의 출력을 검사합니다.listShards출력에_id가"config"로 설정하다 문서 포함되어 있지 않은 경우, 클러스터 구성 샤드 사용하지 않습니다.
자세한내용은 구성 샤드 사용 확인을 참조하세요.
기능 호환성 버전 을 8.0 미만으로 다운그레이드해야 하는 경우 먼저 transitionToDedicatedConfigServer 명령 실행 합니다. 다운그레이드에 대한 자세한 내용은 다운그레이드 기능 호환성 버전을 참조하세요.
액세스 제어
액세스 제어가 활성화된 경우 transitionFromDedicatedConfigServer 명령에는 transitionFromDedicatedConfigServer 클러스터에 대한 권한 부여 조치 이 필요합니다.
{ resource: { cluster : true }, actions: [ "transitionFromDedicatedConfigServer" ] }
clusterManager 역할 에는 transitionFromDedicatedConfigServer 권한 부여 조치 가 있으며 사용자에게 할당할 수 있습니다.
다음 예시 에서는 testUser 이라는 사용자에게 clusterManager 역할 을 할당합니다.
db.grantRolesToUser( "testUser", [ "clusterManager" ] )
예시
다음 예시 에서는 config 샤드 로 실행 전용 config 서버 를 구성합니다.
db.adminCommand( { transitionFromDedicatedConfigServer: 1 } )