MongoDB를 4.2에서 6.0 버전으로 업그레이드하는 과정은 아래와 같습니다.
이 문서는 Amazon Linux2에서의 단계별 업그레이드 과정을 설명합니다.
MongoDB는 4.2에서 바로 6.0으로 업그래이드를 할 수 있는 것은 아니고, 4.2 → 4.4 → 5.0 → 6.0으로 순차 적으로 진행해야합니다.


1. 백업

여러가지 백업 방법이 있지만 AWS 에서 진행한는 상황이기때문에 AWS 콘솔에서 EC2 이미지를 생성하여 백업을 진행합니다.(AMI 생성)


2. Replica Set 업그레이드 순서

업그레이드를 진행할 때, SECONDARY 노드부터 시작하고, 두번째로 ARBITER 노드를 진행하고,  마지막으로 PRIMARY 노드를 업그레이드합니다.


3. MongoDB 4.2에서 4.4로의 업그레이드:

전체 서버에 저장소 추가

mongodb 4.4 repo 추가

`echo` `"[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" > /etc/yum.repos.d/mongodb-org-4.4.repo`

SECONDARY 노드에서 업그레이드

업데이트 콘솔 명령


`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-4.4.24 mongodb-org-server-4.4.24 mongodb-org-shell-4.4.24 mongodb-org-mongos-4.4.24 mongodb-org-tools-4.4.24`
`sudo` `systemctl start mongod.service`

ARBITER 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-4.4.24 mongodb-org-server-4.4.24 mongodb-org-shell-4.4.24 mongodb-org-mongos-4.4.24 mongodb-org-tools-4.4.24`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-4.4.24 mongodb-org-server-4.4.24 mongodb-org-shell-4.4.24 mongodb-org-mongos-4.4.24 mongodb-org-tools-4.4.24`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 호환성 버전 변경

몽고db에 접속하여 상태 확인 및 호환성 버전 변경

호환성 버전 변경

`mongo -u USER -p`

`rs.status()`

`db.adminCommand({ setFeatureCompatibilityVersion: "4.4"` `})`

`db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })`


4. MongoDB 4.4에서 5.0로의 업그레이드:

전체 서버에 저장소 추가

mongodb 5.0 repo 추가

`echo` `"[mongodb-org-5.0]`
`name=MongoDB Repository`
`baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/5.0/x86_64/`
`gpgcheck=1`
`enabled=1`
`gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc" > /etc/yum.repos.d/mongodb-org-5.0.repo`

SECONDARY 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-5.0.20 mongodb-org-database-5.0.21 mongodb-org-server-5.0.20 mongodb-org-shell-5.0.20 mongodb-org-mongos-5.0.20 mongodb-org-tools-5.0.20`
`sudo` `systemctl start mongod.service`

ARBITER 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-5.0.20 mongodb-org-database-5.0.21 mongodb-org-server-5.0.20 mongodb-org-shell-5.0.20 mongodb-org-mongos-5.0.20 mongodb-org-tools-5.0.20`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-5.0.20 mongodb-org-database-5.0.21 mongodb-org-server-5.0.20 mongodb-org-shell-5.0.20 mongodb-org-mongos-5.0.20 mongodb-org-tools-5.0.20`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 호환성 버전 변경

몽고db에 접속하여 상태 확인 및 호환성 버전 변경

호환성 버전 변경

`mongo -u USER -p`

`rs.status()`

`db.adminCommand( { setFeatureCompatibilityVersion: "5.0"` `} )`

`db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })`

5. MongoDB 5.0에서 6.0으로의 업그레이드:

전체 서버에 저장소 추가

mongodb 6.0 repo 추가

`echo` `"[mongodb-org-6.0]`
`name=MongoDB Repository`
`baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/6.0/x86_64/`
`gpgcheck=1`
`enabled=1`
`gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc" > /etc/yum.repos.d/mongodb-org-6.0.repo`

SECONDARY 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-6.0.10 mongodb-org-database-6.0.10 mongodb-org-server-6.0.10 mongodb-org-mongos-6.0.10 mongodb-org-tools-6.0.10`
`sudo` `systemctl start mongod.service`

ARBITER 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-6.0.10 mongodb-org-database-6.0.10 mongodb-org-server-6.0.10 mongodb-org-mongos-6.0.10 mongodb-org-tools-6.0.10`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 업그레이드

업데이트 콘솔 명령

`sudo` `systemctl stop mongod.service`
`sudo` `yum update -y mongodb-org-6.0.10 mongodb-org-database-6.0.10 mongodb-org-server-6.0.10 mongodb-org-mongos-6.0.10 mongodb-org-tools-6.0.10`
`sudo` `systemctl start mongod.service`

PRIMARY 노드에서 호환성 버전 변경

몽고db에 접속하여 상태 확인 및 호환성 버전 변경

호환성 버전 변경

`mongo -u USER -p`

`rs.status()`

`db.adminCommand( { setFeatureCompatibilityVersion: "6.0"` `} )`

`db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })`


6. 최종 검증

6.0 버전이 정상적으로 동작하는지 확인합니다.

주의사항:

  • 항상 백업을 먼저 수행하세요.(이미지 생성)
  • 가능하면 스테이징 환경에서 먼저 업그레이드를 테스트하세요.
profile
Technical Project Manager / DevOps Engineer / System Engineer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN