MongoDB Version Upgrade

nagang·2023년 7월 10일
0

MongoDB

목록 보기
3/3
post-thumbnail

MongoDB 설정 참고

MongoDB 설치
Replica set 설정

이번 글은 MongoDB를 사용 중일 때 버전을 업데이트 하는 방법을 정리한 문서이며
설정한 버전은 4.2.24 이기 때문에 해당 문서는 4.4 버전으로 업데이트하는 방법이다.

참고 문서: https://www.mongodb.com/docs/v5.3/release-notes/4.4-upgrade-replica-set/

MongoDB Version Upgrade

MongoDB Upgrade 시 주의사항

  • 버전은 순차적으로 Upgrade 해야한다. (ex. 4.2에서 5.0으로 업그레이드 해야 하는 경우 두 단계를 거쳐야 한다. 4.2 → 4.4, 4.4 → 5.0)
  • 호환성 변경 문서를 참조하여 애플리케이션 및 배포가 해당 버전과 호환되는지 확인해야 한다.
  • 예기치 못한 상황으로 다운그레이드를 하는 상황에서 4.4 → 4.2로 변경하는 경우라면 4.2.6 이상 버전으로 만 다운그레이드 할 수 있다.
  • MongoDB 3.0 메타데이터가 포함된 MongoDB 4.2 시리즈 배포를 4.4 시리즈 배포로 업그레이드하는 경우 MongoDB 4.4.1 이상 으로 업그레이드해야 한다 .

4.4 Upgrade 시작 조건

Upgrade start

  1. featureCompatibilityVersion 4.2로 설정한다.
# primary mongo shell
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } )
  1. 노드들을 한 번에 하나 씩 업그레이드 한다. (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()
  2. featureCompatibilityVersion 4.4로 설정

# primary mongo shell 
db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } )
profile
backend 개발자입니다.

0개의 댓글