MongoDB Enterprise(샤딩된 클러스터)로 업그레이드
이 페이지의 내용
MongoDB Enterprise는 다음과 같이 MongoDB Community 에디션에서 사용할 수 없는 다양한 기능을 제공합니다.
다음 단계는 샤딩된 클러스터를 MongoDB Community Edition에서 MongoDB Enterprise으로 업그레이드하는 절차를 간략하게 설명합니다. 예를 들어 MongoDB 7.0 Community를 MongoDB 7.0 Enterprise로 업그레이드하는 데 단계를 사용할 수 있습니다.
고려 사항
경고
해당 지침을 사용하여 다른 릴리스 버전으로 업그레이드하지 않도록 합니다. 릴리스 버전을 업그레이드하려면 MongoDB 8.0으로 업그레이드와 같은 적절한 릴리스 업그레이드 지침을 참조하세요.
엔터프라이즈 바이너리 다운로드
운영 체제에 따라 패키지 관리자를 사용하거나 수동으로 바이너리를 다운로드하여 MongoDB Enterprise 바이너리를 설치할 수 있습니다.
패키지 관리자를 사용하여 MongoDB Community를 설치한 경우, 운영 체제별 패키지 관리자 지침을 따르세요.
설치하는 동안 패키지 관리자가 커뮤니티 패키지를 제거하지만, 다시 시작할 때까지 실행 중인 배포에는 영향을 미치지 않습니다.
패키지 관리자를 사용하여 MongoDB 를 설치하지 않은 경우 MongoDB 다운로드 센터 에서 MongoDB 바이너리를 수동으로 다운로드 할 수 있습니다. 운영 체제에 맞는 MongoDB Enterprise 에 대한 특정 전제 조건을 포함한 수동 지침을 따르세요.
중요
현재 MongoDB Community Edition과 다른 위치에 설치합니다.
업그레이드 절차에서는 기존 데이터 디렉토리와 해당하는 경우 기존 구성 파일을 사용합니다.
중요
동일한 출시하다 시리즈의 MongoDB Community Edition 이 동일한 머신에 설치되어 있는 경우 .msi
를 사용하여 Enterprise 에디션을 설치할 수 없습니다. 즉, 버전이 4.4.0 인 경우 MongoDB Community Edition 이 설치되어 있으면 .msi
를 사용하여 4.4.0 또는 4을(를) 설치할 수 없습니다.4.1 엔터프라이즈 에디션.
MongoDB 다운로드 센터에서 아카이브 파일 을 수동으로 다운로드 합니다.
설치하려면 현재 MongoDB Community Edition이 아닌 다른 위치에 파일을 추출/압축 해제합니다.
업그레이드 절차에서는 기존 데이터 디렉토리와 해당하는 경우 기존 구성 파일을 사용합니다.
바이너리를 설치합니다:
MongoDB 다운로드 센터에서 아카이브 파일 을 수동으로 다운로드 합니다.
현재 MongoDB Community Edition 이 아닌 다른 위치 에 파일을 추출합니다. 파일 추출에 대한 자세한 내용은 macOS를 참조하세요.
업그레이드 절차에서는 기존 데이터 디렉토리와 해당하는 경우 기존 구성 파일을 사용합니다.
시작하기 전에
MongoDB 8.0 부터는 directShardOperations
역할 을 사용하여 샤드 에 대해 직접 명령을 실행해야 하는 유지 관리 작업을 수행할 수 있습니다.
경고
directShardOperations
역할 을 사용하여 명령을 실행하면 클러스터 가 올바르게 작동하지 않고 데이터가 손상될 수 있습니다. directShardOperations
역할 은 유지 관리 목적으로만 사용하거나 MongoDB 지원 의 지침 에 따라 사용하세요. 유지 관리 작업 수행이 완료되면 directShardOperations
역할 사용을 중지합니다.
절차
다운타임을 최소화하기 위해 '롤링' 업그레이드를 사용하여 다른 멤버를 사용할 수 있는 동안 멤버를 개별적으로 업그레이드하여 MongoDB Community에서 엔터프라이즈 에디션으로 업그레이드할 수 있습니다.
밸런서를 비활성화합니다.
mongosh
를 샤드된 클러스터의 mongos
인스턴스에 연결하고 sh.stopBalancer()
를 실행하여 밸런서를 사용하지 않도록 설정합니다.
sh.stopBalancer()
참고
마이그레이션이 진행 중인 경우 시스템은 밸런서를 중지하기 전에 진행 중인 마이그레이션을 완료합니다. sh.isBalancerRunning()
을 실행하여 밸런서의 현재 상태를 확인할 수 있습니다.
밸런서가 비활성화되었는지 확인하려면 sh.getBalancerState()
를 실행하면 밸런서가 비활성화된 경우 false를 반환합니다.
sh.getBalancerState()
MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.
MongoDB 6.0.3 이전 버전에서 sh.stopBalancer()
는 샤딩된 클러스터에 대한 자동 분할도 비활성화합니다.
밸런서 비활성화에 대한 자세한 내용은 밸런서 비활성화를 참조하세요.
config 서버를 업그레이드합니다.
복제본 세트의 보조 멤버를 한 번에 하나씩 업그레이드합니다.
세컨더리
mongod
인스턴스를 종료합니다.동일한 구성 옵션(예: 동일한 데이터 디렉터리, 구성 파일 등)을 지정하여 엔터프라이즈
mongod
로 멤버를 다시 시작합니다.노드가
SECONDARY
상태로 복구될 때까지 기다렸다가 다음 세컨더리 노드를 업그레이드하세요. 노드의 상태를 확인하려면mongosh
에서rs.status()
를 실행합니다.
나머지 세컨더리 멤버에 이 과정을 반복합니다.
복제본 세트 기본값을 내려놓습니다.
프라이머리에
mongosh
를 연결하고rs.stepDown()
을 사용하여 기존 프라이머리를 우선 순위에서 내려오게 하고 강제로 새 프라이머리에 대한 투표를 진행합니다.rs.stepDown() rs.status()
에서 프라이머리가 중단되고 다른 멤버가 프라이머리인 것으로 표시되면 중단된 프라이머리를 업그레이드합니다.스텝다운된 프라이머리를 종료합니다.
Enterprise
mongod
로 다시 시작하여 동일한 구성 옵션(예: 동일한 데이터 디렉터리, 구성 파일 등)을 지정합니다.
샤드를 업그레이드합니다.
샤드를 한 번에 하나씩 업그레이드합니다.
각 샤드 복제본 세트에 대해:
복제본 세트의 보조 멤버를 한 번에 하나씩 업그레이드합니다.
세컨더리
mongod
인스턴스를 종료합니다.동일한 구성 옵션(예: 동일한 데이터 디렉터리, 구성 파일 등)을 지정하여 엔터프라이즈
mongod
로 멤버를 다시 시작합니다.노드가
SECONDARY
상태로 복구될 때까지 기다렸다가 다음 세컨더리 노드를 업그레이드하세요. 노드의 상태를 확인하려면mongosh
에서rs.status()
를 실행합니다.
나머지 세컨더리 멤버에 이 과정을 반복합니다.
복제본 세트 기본값을 내려놓습니다.
프라이머리에
mongosh
를 연결하고rs.stepDown()
을 사용하여 기존 프라이머리를 우선 순위에서 내려오게 하고 강제로 새 프라이머리에 대한 투표를 진행합니다.rs.stepDown() rs.status()
에서 프라이머리가 중단되고 다른 멤버가 프라이머리인 것으로 표시되면 중단된 프라이머리를 업그레이드합니다.스텝다운된 프라이머리를 종료합니다.
Enterprise
mongod
로 다시 시작하여 동일한 구성 옵션(예: 동일한 데이터 디렉터리, 구성 파일 등)을 지정합니다.
밸런서 다시 활성화
mongosh
를 사용하여 클러스터의 mongos
에 연결하고 sh.startBalancer()
를 실행하여 밸런서를 다시 활성화합니다.
sh.startBalancer()
MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.
MongoDB 6.0.3 이전 버전에서 sh.startBalancer()
는 샤딩된 클러스터에 대한 자동 분할도 활성화합니다.
밸런서에 대한 자세한 내용은 밸런서 활성화에서 확인하세요.
중요
엔터프라이즈 기능을 사용하기 전에 모든 멤버가 엔터프라이즈 에디션으로 업그레이드되었는지 확인합니다.