자체 관리형 샤드 클러스터를 복제본 세트로 변환
이 튜토리얼에서는 샤딩된 클러스터 를 비샤드 복제본 세트 로 변환하는 프로세스 를 설명합니다. 복제본 세트 를 샤딩된 클러스터 로 변환하려면 자체 관리 복제본 세트를 샤드 클러스터로 변환합니다. 샤딩된 클러스터에 대한 자세한 내용은 샤딩 문서를 참조하세요.
단일 샤드가 있는 클러스터를 복제본 세트로 변환하기
샤드가 하나뿐인 샤딩된 클러스터의 경우 해당 샤드에 전체 데이터 세트가 포함됩니다. 다음 절차를 사용하여 해당 클러스터를 샤딩되지 않은 복제본 세트로 변환합니다.
시스템이 새 복제본 세트가 될 단일 샤드를 호스팅하는 복제본 세트의 프라이머리 멤버에 연결하도록 애플리케이션을 재구성합니다.
mongod
에서--shardsvr
옵션을 제거합니다팁
--shardsvr
옵션을 변경하면mongod
의 수신 연결 포트가 변경됩니다.
단일 샤드 클러스터는 이제 데이터 세트에 읽기 및 쓰기 작업을 허용하는 비샤드형 복제본 세트 입니다.
이제 나머지 샤딩 인프라를 폐기할 수 있습니다.
샤딩된 클러스터를 복제본 세트로 변환
다음 절차에 따라 샤드가 두 개 이상인 샤딩된 클러스터에서 완전히 새로운 복제본 세트로 전환할 수 있습니다.
샤딩된 클러스터가 실행 중인 상태에서 샤딩된 클러스터 외에 새로운 복제본 세트를 배포합니다. 복제본 세트는 반드시 현재 모든 샤드의 데이터 파일을 다 저장할 정도의 용량이 있어야 합니다. 데이터 전송이 완료될 때까지는 애플리케이션이 새 복제본 세트에 연결하도록 구성하지 마세요.
샤딩된 클러스터에 대한 모든 쓰기를 중지합니다. 애플리케이션을 재구성하거나 모든
mongos
인스턴스를 중지할 수 있습니다.mongos
인스턴스를 모두 중지하면 애플리케이션이 데이터베이스에서 데이터를 읽을 수 없습니다. 모든mongos
인스턴스를 중지하는 경우 애플리케이션이 데이터 마이그레이션 절차를 위해 액세스할 수 없는 임시mongos
인스턴스를 시작합니다.mongodump 및 mongorestore를 사용하여
mongos
인스턴스의 데이터를 새 복제본 세트로 마이그레이션합니다.참고
모든 데이터베이스의 모든 컬렉션이 반드시 샤드되는 것은 아닙니다. 샤드 된 컬렉션만 마이그레이션하지 않습니다. 데이터베이스와 컬렉션 모두가 올바르게 마이그레이션되는지 확인합니다.
이제 애플리케이션은 샤딩되지 않은 복제본 세트를 읽기 및 쓰기에 사용합니다. 사용하지 않는 나머지 샤드 클러스터 인프라를 폐기할 수 있습니다.