rocketchat mongodb migrate (mmap -> wiredTiger)

아래 절차는 major 버전 단계별로 1~5 를 수행한다. (버전 5에서 7로 변경 시, 버전 5 수행 > 버전 6 수행 > 버전 7 수행)

  1. backup

    • docker-compose exec mongo mongodump –archive=/data/mmapdump.gz –gzip
    • container 안의 mmapdump.gz 를 외부로 가져온다.

  2. container down

    • docker-compose down
    • db 디렉토리 rename (만약을 위해)

  3. docker-compose 에서 몽고db 만 재시작 (변경할 버전으로 시작)
  4. 복구

    • container 에 접근
    • docker-compose exec mongo bash
    • 기존 replica 셋으로 초기화 (rocket chat docker-compose 파일은 rs0 로 설정함)
      mongo 실행 : mongo 또는 mongosh
      // init/
      config = { _id : “rs0”, members: [ {_id:0,host : “mongo:27017”} ] }
      rs.initiate(config);

  5. 데이터 복원

    • 컨테이너 안으로 백업한 데이터 전달
    • 데이터 복원

      • mongorestore –drop –archive=./mmapdump.gz –gzip –noIndexRestore

  6. 컨테이너 재시작