문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

복제본 세트 멤버에 대한 유지 관리 수행

이 페이지의 내용

  • 개요
  • 절차

복제본 세트를 사용하면 대부분의 유지 관리 기간 동안 MongoDB 배포를 계속 사용할 수 있습니다.

이 문서에서는 복제본 세트의 각 멤버에 대한 유지 관리를 수행하기 위한 기본 절차를 간략하게 설명합니다. 또한, 이 특정 시퀀스는 프라이머리 배포를 사용할 수 없는 시간을 최소화하고 전체 배포에 미치는 영향을 제어합니다.

해당 단계를 일반적인 복제 세트 작업, 특히 최신 버전의 MongoDB로 업그레이드하는 등 절차의 기반으로 사용합니다.

복제본 세트의 각 멤버에 대해 세컨더리 멤버부터 시작하여 프라이머리 멤버로 끝나는 다음 이벤트 시퀀스를 수행합니다.

1

mongosh 에서 mongod 인스턴스를 종료합니다.

db.shutdownServer()
2

운영 체제 셸 프롬프트에서 mongod를 독립형 인스턴스로 다시 시작하세요.

경고

공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 보안 검사 목록을 참조하세요. 최소한으로 인증을 활성화하고 네트워크 인프라를 강화하는 것을 고려하세요.

복제본 세트 멤버를 독립형 인스턴스로 다시 시작하는 경우에도 항상 동일한 사용자로 mongod를 시작하세요.

3

멤버가 독립형인 동안 mongosh 을 사용하여 유지 관리를 수행합니다.

mongo --port 27218

중요

멤버가 독립형인 동안에는 이 멤버에 대한 쓰기가 복제되지 않으며 이 멤버에 대한 쓰기가 복제본 세트의 다른 멤버에 복제되지 않습니다.

이 독립형의 모든 쓰기가 복제본 세트에 다시 합류할 때 멤버에 적용될 oplog 쓰기와 충돌하지 않는지 확인하세요.

4

모든 유지 보수 작업을 수행한 후 다음 절차를 사용하여 일반 포트에서 복제본 세트의 멤버로 mongod를 재시작합니다.

mongosh 에서 유지 관리를 완료한 후 독립형 서버를 종료합니다.

use admin
db.shutdownServer()

mongod 인스턴스를 원래 구성의 복제본 세트 멤버로 다시 시작합니다. 즉, 독립형으로 시작할 때 변경한 구성을 취소합니다.

반드시 disableLogicalSessionCacheRefresh 매개 변수를 제거합니다.

샤드 또는 구성 서버 멤버의 경우 skipShardingConfigurationChecks 매개 변수를 제거해야 합니다.

시작되면 mongosh 를 다시 시작된 인스턴스에 연결합니다.

세컨더리는 프라이머리를 따라잡는 데 시간이 걸립니다. mongosh 에서 다음 명령을 사용하여 멤버가 RECOVERING 상태에서 SECONDARY 상태로 따라잡았는지 확인합니다.

rs.status()
5
  1. 모든 세컨더리에 대한 유지 관리 작업을 완료한 후 프라이머리에 대한 유지 관리를 수행하려면 mongosh 를 프라이머리에 연결하고 rs.stepDown() 를 사용하여 프라이머리를 물러나게 하고 세컨더리 중 하나가 새 프라이머리로 선출되도록 합니다. 멤버가 5분 동안 다시 프라이머리로 선출되지 않도록 300 초의 대기 시간을 지정합니다.

    rs.stepDown(300)

    프라이머리가 우선 순위를 내려놓으면 복제본 세트는 새로운 프라이머리를 선출합니다.

  2. mongod를 독립형 인스턴스로 다시 시작하여 다음과 같이 구성을 업데이트합니다.

  1. 이제 독립형에서 유지 관리 작업을 수행합니다.

    중요

    멤버가 독립형인 동안에는 이 멤버에 대한 쓰기가 복제되지 않으며 이 멤버에 대한 쓰기가 복제본 세트의 다른 멤버에 복제되지 않습니다.

    이 독립형의 모든 쓰기가 복제본 세트에 다시 합류할 때 멤버에 적용될 oplog 쓰기와 충돌하지 않는지 확인하세요.

  2. 모든 유지 관리 작업을 수행한 후 mongod 인스턴스를 원래 구성의 복제본 세트 멤버로 다시 시작합니다. 즉, 독립형으로 시작할 때 수행한 구성 변경을 실행 취소합니다.

    반드시 disableLogicalSessionCacheRefresh 매개 변수를 제거합니다.

    샤드 또는 구성 서버 멤버의 경우 skipShardingConfigurationChecks 매개 변수를 제거해야 합니다.

← Oplog의 크기 변경

이 페이지의 내용