Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

자체 관리형 샤드 클러스터를 복제본 세트로 변환

이 페이지의 내용

  • 시작하기 전에
  • 단일 샤드가 있는 클러스터를 복제본 세트로 변환하기
  • 샤딩된 클러스터를 복제본 세트로 변환

이 튜토리얼에서는 샤딩된 클러스터 를 비샤드 복제본 세트 로 변환하는 프로세스 를 설명합니다. 복제본 세트 를 샤딩된 클러스터 로 변환하려면 자체 관리 복제본 세트를 샤드 클러스터로 변환합니다. 샤딩된 클러스터에 대한 자세한 내용은 샤딩 문서를 참조하세요.

MongoDB 8.0 부터 directShardOperations 역할을 사용하여 샤드에 대해 직접 명령을 실행해야 하는 유지 관리 작업을 수행할 수 있습니다.

경고

directShardOperations 역할 을 사용하여 명령을 실행하면 클러스터 가 올바르게 작동하지 않고 데이터가 손상될 수 있습니다. directShardOperations 역할 은 유지 관리 목적으로만 사용하거나 MongoDB 지원 의 지침 에 따라 사용하세요. 유지 관리 작업 수행이 완료되면 directShardOperations 역할 사용을 중지합니다.

샤드가 하나뿐인 샤딩된 클러스터의 경우 해당 샤드에 전체 데이터 세트가 포함됩니다. 다음 절차를 사용하여 해당 클러스터를 샤딩되지 않은 복제본 세트로 변환합니다.

  1. 시스템이 새 복제본 세트가 될 단일 샤드를 호스팅하는 복제본 세트의 프라이머리 멤버에 연결하도록 애플리케이션을 재구성합니다.

  2. mongod 에서 --shardsvr 옵션을 제거합니다

    --shardsvr 옵션을 변경하면 mongod의 수신 연결 포트가 변경됩니다.

단일 샤드 클러스터는 이제 데이터 세트에 읽기 및 쓰기 작업을 허용하는 비샤드형 복제본 세트 입니다.

이제 나머지 샤딩 인프라를 폐기할 수 있습니다.

다음 절차에 따라 샤드가 두 개 이상인 샤딩된 클러스터에서 완전히 새로운 복제본 세트로 전환할 수 있습니다.

  1. 샤딩된 클러스터가 실행 중인 상태에서 샤딩된 클러스터 외에 새로운 복제본 세트를 배포합니다. 복제본 세트는 반드시 현재 모든 샤드의 데이터 파일을 다 저장할 정도의 용량이 있어야 합니다. 데이터 전송이 완료될 때까지는 애플리케이션이 새 복제본 세트에 연결하도록 구성하지 마세요.

  2. 샤딩된 클러스터에 대한 모든 쓰기를 중지합니다. 애플리케이션을 재구성하거나 모든 mongos 인스턴스를 중지할 수 있습니다. mongos 인스턴스를 모두 중지하면 애플리케이션이 데이터베이스에서 데이터를 읽을 수 없습니다. 모든 mongos 인스턴스를 중지하는 경우 애플리케이션이 데이터 마이그레이션 절차를 위해 액세스할 수 없는 임시 mongos 인스턴스를 시작합니다.

  3. mongodump 및 mongorestore를 사용하여 mongos 인스턴스의 데이터를 새 복제본 세트로 마이그레이션합니다.

    참고

    모든 데이터베이스의 모든 컬렉션이 반드시 샤드되는 것은 아닙니다. 샤드 된 컬렉션만 마이그레이션하지 않습니다. 데이터베이스와 컬렉션 모두가 올바르게 마이그레이션되는지 확인합니다.

  4. mongos 인스턴스 대신 샤딩되지 않은 복제본 세트를 사용하도록 애플리케이션을 다시 구성합니다.

    샤딩된 클러스터를 복제본 세트로 변환한 후 애플리케이션에서 사용하는 연결 문자열 복제본 세트의 연결 문자열로 업데이트합니다. 그런 다음 애플리케이션을 다시 시작합니다.

이제 애플리케이션은 샤딩되지 않은 복제본 세트를 읽기 및 쓰기에 사용합니다. 사용하지 않는 나머지 샤드 클러스터 인프라를 폐기할 수 있습니다.

돌아가기

클러스터 메타데이터 백업