Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

startShardDraining(데이터베이스 명령)

startShardDraining

샤딩된 클러스터 에서 제거할 준비를 하기 위해 샤드 에서 청크를 배출 프로세스 를 시작합니다.

명령이 실행되면 지정된 샤드 비우고 싶다고 밸런서 알립니다. 그런 다음 밸런서 비동기적으로 청크를 샤드 에서 클러스터 의 다른 샤드로 이동하기 시작합니다. 밸런서 이 프로세스 완료하면 샤드 데이터가 포함되지 않으므로 클러스터 에서 안전하게 제거할 수 있습니다.

참고

청크를 샤드 밖으로 이동하려면 에 대해 밸런서 활성화해야 합니다. 밸런서 비활성화되면 청크가 마이그레이션되지 않으며 startShardDraining shardDrainingStatus 는 샤드 에 남아 있는 작업을 계속 보고합니다.

이 명령은 샤드 존재하지 않으면 오류를 반환하고, 그렇지 않으면 ok을 반환합니다.

배출 샤드 의 상태를 확인하려면 명령을 shardDrainingStatus 사용합니다.

샤드 드레이닝을 중지하려면 명령을 stopShardDraining 참조하세요.

드레이닝된 샤드 제거 하려면 명령을 commitShardRemoval 참조하세요.

버전 8.3에 추가 되었습니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

참고

이 명령은 MongoDB Atlas에서 지원되지 않습니다. Atlas 클러스터에 샤드를 추가하거나 제거 하려면 Modify your Atlas Sharded Atlas cluster 샤드 클러스터 수정)를 참조하세요.

명령은 다음과 같은 구문을 가집니다:

db.adminCommand( {
startShardDraining: <shardToDrain>
} )

authorization 을(를) 활성화한 경우 clusterManager 역할 또는 removeShard 작업을 포함하는 역할이 있어야 합니다.

샤드 배출 동안에는 클러스터 를 백업할 수 없습니다.

한 번에 둘 이상의 샤드 배출 작업이 진행 중일 수 있습니다.

샤딩된 클러스터 의 각 데이터베이스 에는 프라이머리 샤드 가 있습니다. 드레이닝하려는 샤드 클러스터 데이터베이스 중 하나의 프라이머리 이기도 한 경우, 샤드 에서 모든 데이터를 마이그레이션한 후 데이터베이스를 새 샤드 로 수동으로 이동해야 합니다. 자세한 내용은 movePrimary 명령 및 샤드 클러스터에서 샤드 제거를 참조하세요.

샤딩되지 않은 컬렉션은 개별 샤드에 저장됩니다. 이러한 컬렉션 중 하나가 제거 하려는 샤드 에 있는 경우 먼저 컬렉션 다른 샤드 로 마이그레이션 해야 합니다.

샤딩되지 않은 컬렉션 마이그레이션 하려면 명령을 moveCollection 참조하세요.

청크 분포가 고르지 않은 클러스터 에서 샤드 배출하는 경우, 밸런서 는 먼저 배출 샤드 에서 청크를 제거한 다음 나머지 고르지 않은 청크 분포의 균형을 맞춥니다.

"majority" 명령의mongos 쓰기 고려 (write concern)로 변환합니다.startShardDraining

샤드 비우면 열려 있는 변경 스트림 커서 닫힐 수 있으며, 닫힌 변경 스트림 커서 완전히 재개되지 않을 수 있습니다.

startShardDraining 클러스터 가 DDL 작업(예:reshardCollection 컬렉션 수정하는 작업)을 실행하는 동안 를 실행 동시 DDL 작업이 완료된 후에만 샤드 배출 실행됩니다.

샤드 배출 시작하려면 메서드를 db.adminCommand() 사용합니다.

db.adminCommand( {
startShardDraining: "shard04"
} )

돌아가기

split

이 페이지의 내용