이번 글은 MongoDB를 사용 중일 때 버전을 업데이트 하는 방법을 정리한 문서이며
설정한 버전은 4.2.24 이기 때문에 해당 문서는 4.4 버전으로 업데이트하는 방법이다.
참고 문서: https://www.mongodb.com/docs/v5.3/release-notes/4.4-upgrade-replica-set/
# primary mongo shell
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )
노드들을 한 번에 하나 씩 업그레이드 한다. (secondary부터)
a. MongoDB service 종료 후 rs.remove 명령어로 멤버에서 제거한다.
#secondary mongo shell or linux cli
service mongod stop // db.shutdownServer()로 대체 가능
# primary mongo shell
rs.remove("버전업할 서버") // 멤버 제거
b. MongoDB 설치 repo를 설정해 4.4로 upgrade
#secondary service cli
vim /etc/yum.repos.d/mongodb-org-4.4.repo // yum 4.4 repo 생성
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
repo 설정은 CPU 아키텍처에 따라, 설치된 운영체제에 따라 달라지니 본인에 맞는 설정을 해야한다.
rm -rf /etc/yum.repos.d/mongodb-org-4.2.repo // 기존 repo 삭제
yum install -y mongodb-org // mongodb 업그레이드
service mongod restart // mongodb 재시작
c. MongoDB service 재시작 후 rs.add로 멤버에 추가한다.
# primary mongo shell
rs.add("버전업 진행한 서버")
d. primary upgrade 시 stepDown() 명령어로 secondary 서버를 primary로 선택하도록 설정한 후 기존 primary가 secondary로 변경되면 2번 작업을 수행한다.
#primary mongo shell
rs.stepDown()
featureCompatibilityVersion 4.4로 설정
# primary mongo shell
db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )