MongoDB 의 최신 자체 관리 패치 릴리스로 업그레이드
MongoDB 버전 관리 는 X.Y.Z
형식을 가지며, 여기서 Z
는 수정본/패치 번호를 나타냅니다. 수정본은 보안 패치, 버그 수정, 신규 또는 변경된 기능을 제공하며, 일반적으로 이전 버전에 대한 호환성이 손상되는 변경은 포함하지 않습니다. 항상 릴리스 시리즈의 최신 수정본으로 업그레이드하세요.
버전 관리에 대한 자세한 내용은 MongoDB 버전 관리를 참조하세요.
업그레이드 전
백업
데이터 세트 의 최신 백업 이 있는지 확인합니다. 자체 관리 배포서버를 위한 백업 방법을 참조하세요.
호환성 고려 사항
MongoDB 릴리스와 관련된 특별한 고려 사항 또는 호환성 문제에 대해서는 다음 문서를 참조하세요.
중요
MongODB 4.2부터 MongoDB는 Ubuntu 16.04 PPCLE에 대한 지원을 제거합니다.
MongoDB 3.6.13부터는 MongoDB 3.6 시리즈는 Ubuntu 16.04 PPCLE에 대한 지원을 제거합니다.
MongoDB 3.4.21부터, MongoDB 3.4 시리즈는 Ubuntu 16.04 PPCLE에 대한 지원을 제거합니다.
유지 관리 기간
설치에 복제본 세트 가 포함된 경우 사전 정의된 유지 관리 기간에 업그레이드를 계획하세요.
변경 스트림
MongoDB 4.0.7부터 change stream 버전 1 v1
재개 토큰을 사용합니다. 4.0.7 이전의 MongoDB 버전에서는 v0
재개 토큰을 사용합니다.
MongoDB 4.0.6 이하 버전에서 MongoDB 4.0.7 이상으로 업그레이드하는 경우, 클라이언트가 업데이트되지 않은 멤버에 연결될 때 v1
즉, v0
또는 BinData 토큰만 허용), 실패합니다. 이러한 경우 클라이언트는 변경 스트림을 재개하기 전에 업그레이드가 완료될 때까지 기다려야 합니다.
스테이징 환경 확인
프로덕션 환경을 업그레이드하기 전에 이 문서의 절차를 사용하여 프로덕션 환경을 재현하는 스테이징 환경을 업그레이드하여 프로덕션 구성이 모든 변경 사항과 호환되는지 확인합니다.
업그레이드 절차
중요
MongoDB를 업그레이드하기 전에 항상 모든 데이터를 백업하세요.
여기에 설명된 절차에 따라 각 mongod
및 mongos
바이너리를 개별적으로 업그레이드합니다. 바이너리를 업그레이드할 때는 MongoDB 인스턴스 업그레이드 절차를 따르세요.
다음 업그레이드 절차를 따르세요.
인증을 사용하는 배포서버의 경우 먼저 모든 MongoDB 드라이버를 업그레이드합니다. 업그레이드하려면 드라이버 설명서를 참조하세요.
샤딩된 클러스터 업그레이드에 설명된 대로 샤딩된 클러스터를 업그레이드합니다.
모든 독립형 인스턴스를 업그레이드합니다. MongoDB 인스턴스 업그레이드를 참조하세요.
복제본 세트 업그레이드에 설명된 대로 샤딩된 클러스터의 일부가 아닌 모든 복제본 세트를 업그레이드합니다.
MongoDB 인스턴스 업그레이드
mongod
또는 mongos
인스턴스를 업그레이드하려면 다음 접근 방식 중 하나를 사용합니다.
운영 체제의 패키지 관리 도구와 공식 MongoDB 패키지를 사용하여 인스턴스를 업그레이드합니다. 이 방법이 선호되는 방식입니다. MongoDB 설치를 참조하세요.
기존 바이너리를 새 바이너리로 교체하여 인스턴스를 업그레이드합니다. 기존 바이너리 교체를 참조하세요.
인스턴스를 다시 시작하기 전에 필요한 구성 파일을 변경합니다.
기존 바이너리 교체
중요
MongoDB를 업그레이드하기 전에 항상 모든 데이터를 백업하세요.
이 섹션에서는 기존 바이너리를 교체하여 MongoDB를 업그레이드하는 방법을 설명합니다. 업그레이드에 선호되는 방식은 MongoDB 설치에 설명된 대로 운영 체제의 패키지 관리 도구와 공식 MongoDB 패키지를 사용하는 것입니다.
기존 바이너리를 교체하여 mongod
또는 mongos
인스턴스를 업그레이드하려면 다음과 같이 하세요.
MongoDB 다운로드 페이지 에서 최신 MongoDB 수정본에 대한 바이너리를 다운로드하고 바이너리를 임시 위치에 저장합니다. 바이너리는 MongoDB 설치에서 사용하는 디렉토리 구조로 압축 해제되는 압축 파일로 다운로드됩니다.
인스턴스를 종료합니다.
기존 MongoDB 바이너리를 다운로드한 바이너리로 교체합니다.
필요한 구성 파일을 변경합니다.
인스턴스를 다시 시작합니다.
복제본 세트 업그레이드
복제본 세트를 업그레이드하려면 세컨더리 부터 프라이머리 까지 각 멤버를 개별적으로 업그레이드합니다. 사전 정의된 유지 관리 기간에 업그레이드를 계획하세요.
중요
복제본 세트를 업그레이드하거나 다운그레이드하기 전에 모든 복제본 세트 멤버가 실행 중인지 확인하세요. 그렇지 않으면 모든 구성원이 시작될 때까지 업그레이드 또는 다운그레이드가 완료되지 않습니다.
참고
MongoDB 4.0.7부터 change stream은 버전 1 v1
재개 토큰 을 사용합니다. 4.0.7 이전의 MongoDB 버전에서는 v0
재개 토큰 또는 BinData 재개 토큰을 사용합니다.
MongoDB v1
에서 MongoDB 4.0.7 이상으로 업그레이드할 때, 클라이언트가 업데이트되지 않은 멤버에 연결되어 있을 때(예: v0
토큰 또는 BinData만 허용) 실패합니다. 이러한 경우 클라이언트는 change stream을 재개하기 전에 업그레이드가 완료될 때까지 기다려야 합니다.
세컨더리 업그레이드
다음과 같이 각 세컨더리를 개별적으로 업그레이드합니다.
MongoDB 인스턴스 업그레이드 지침에 따라 세컨더리의
mongod
바이너리를 업그레이드합니다.세컨더리를 업그레이드한 후 세컨더리가
SECONDARY
상태로 복구될 때까지 기다렸다가 다음 인스턴스를 업그레이드합니다. 멤버의 상태를 확인하려면mongosh
에서rs.status()
를 실행합니다.세컨더리는 잠시
STARTUP2
또는RECOVERING
(으)로 들어갈 수 있습니다. 이는 정상입니다. 업그레이드를 계속하기 전에 세컨더리가SECONDARY
(으)로 완전히 복구될 때까지 기다려야 합니다.
프라이머리 업그레이드
일반 페일오버 절차를 시작하려면 프라이머리를 단계적으로 낮춥니다. 다음 중 하나를 사용합니다.
mongosh
의rs.stepDown()
도우미입니다.replSetStepDown
데이터베이스 명령.
페일오버 중에는 세트에서 쓰기 (write)를 허용할 수 없습니다. 일반적으로 10~20초 정도 걸립니다. 사전 정의된 유지 관리 기간에 업그레이드를 계획하세요.
참고
프라이머리를 직접 종료하는 것보다 프라이머리를 단계적으로 낮추는 것이 좋습니다. 단계적으로 종료하면 페일오버 절차가 빨라집니다.
프라이머리가 강등되면 다른 멤버가
PRIMARY
상태를 맡을 때까지mongosh
에서rs.status()
메서드를 호출합니다.원본 프라이머리를 종료하고 MongoDB 인스턴스 업그레이드 지침에 따라 해당 인스턴스를 업그레이드합니다.
샤딩된 클러스터 업그레이드
버전 3.4에서 변경됨: 절차는 6.0에 적용됩니다. 다른 버전의 MongoDB 샤드 클러스터에 대한 리비전 업그레이드는 해당 버전의 매뉴얼을 참조하세요.
참고
MongoDB 4.0.7부터 change stream은 버전 1 v1
재개 토큰 을 사용합니다. 4.0.7 이전의 MongoDB 버전에서는 v0
재개 토큰 또는 BinData 재개 토큰을 사용합니다.
MongoDB 4.0.6 이하 버전에서 4.0.7 이상 버전으로 업그레이드하는 경우, 샤딩된 cluster의 구성원은 mongos
인스턴스가 업데이트될 때까지 v0
또는 BinData 재개 토큰을 계속 생성합니다. 업그레이드된 mongos
instances가 v1
change stream 재개 토큰을 생성하기 시작합니다. 이러한 토큰은 아직 4.0.7 이상으로 업그레이드되지 않은 mongos
에서 스트림을 재개하는 데 사용할 수 없습니다.
6.0 샤드 cluster를 업그레이드하려면 다음을 수행하세요.
밸런서 비활성화에 설명된 대로 cluster의 밸런서를 비활성화합니다.
config 서버를 업그레이드합니다.
config 서버 복제본 세트를 업그레이드하려면 복제본 세트 업그레이드 절차를 따르세요.
각 샤드를 업그레이드합니다.
샤드가 복제본 세트인 경우 복제본 세트 업그레이드 절차에 따라 샤드를 업그레이드합니다.
샤드가 독립형 인스턴스인 경우 MongoDB 인스턴스 업그레이드 절차에 따라 샤드를 업그레이드합니다.
config 서버와 샤드가 업그레이드되면 MongoDB 인스턴스 업그레이드 지침에 따라 각
mongos
인스턴스를 업그레이드합니다.mongos
인스턴스는 어떤 순서로든 업그레이드할 수 있습니다.밸런서 활성화에 설명된 대로 밸런서를 다시 활성화합니다.