문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

클러스터에 샤드 추가

이 페이지의 내용

  • 고려 사항
  • 클러스터에 샤드 추가

클러스터를 생성한 후 또는 클러스터에 용량을 추가해야 할 때마다 샤드 클러스터에 샤드를 추가합니다. 샤드 클러스터를 생성하지 않은 경우 샤딩된 클러스터 배포를 참조하세요.

프로덕션 환경에서는 모든 샤드가 복제본 세트여야 합니다.

샤드 클러스터에 샤드를 추가하면 기존의 모든 샤드 컬렉션에 대한 클러스터의 샤드 간 청크 밸런스에 영향을 줍니다. 밸런서가 청크 마이그레이션을 시작하여 클러스터가 균형을 이룰 수 있도록 합니다. 자세한 내용은 밸런서 내부를 참조하세요.

클러스터에 샤드를 추가할 때는 항상 클러스터에 적법한 프로덕션 트래픽에 영향을 주지 않으면서 클러스터 밸런싱에 필요한 마이그레이션을 지원할 수 있는 충분한 용량이 있는지 확인합니다.

mongos 인스턴스에 연결하여 샤드 클러스터와 상호 작용합니다.

  1. mongosh 에서 mongos 인스턴스에 연결합니다. 예를 들어 포트 27017mongos0.example.net 에서 mongos 에 액세스할 수 있는 경우 다음 명령을 실행합니다.

    mongosh --host mongos0.example.net --port 27017
  2. 아래 예와 같이 sh.addShard() 메서드를 사용하여 클러스터에 샤드를 추가합니다. 각 샤드에 대해 sh.addShard()를 별도로 발행합니다. 샤드가 복제본 세트인 경우 복제본 세트의 이름을 지정하고 세트의 멤버를 지정합니다. 프로덕션 배포에서는 모든 샤드가 복제본 세트여야 합니다.

    참고

    옵션

    대신 addShard 데이터베이스 명령을 사용하여 샤드의 이름과 최대 크기를 지정할 수 있습니다. 이를 지정하지 않으면 MongoDB가 자동으로 이름과 최대 크기를 할당합니다. 데이터베이스 명령을 사용하려면 addShard를 참조하세요.

    다음은 sh.addShard()를 사용하여 샤드를 추가하는 예입니다.

    • mongodb0.example.net의 포트 27018에서 실행되는 멤버와 함께 이름이 rs1인 복제본 세트 샤드를 추가하려면 다음 명령을 실행합니다.

      sh.addShard( "rs1/mongodb0.example.net:27018" )
    • mongodb0.example.net의 포트 27018에서 실행 중인 독립형 mongod 샤드를 추가하려면 다음 명령을 실행합니다:

      sh.addShard( "mongodb0.example.net:27018" )

    참고

    청크가 새 샤드로 마이그레이션되는 데 시간이 걸릴 수 있습니다.

← 분할된 클러스터를 다른 하드웨어로 마이그레이션Migrate a Sharded Cluster to Different Hardware