AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

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

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

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

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

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

  • mongod 인스턴스를 독립형으로 다시 시작합니다.

  • 독립형 인스턴스에서 작업을 수행합니다.

  • mongod 인스턴스를 복제본 세트의 멤버로 다시 시작합니다.

1

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

db.shutdownServer()
2

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

구성 파일을 사용하는 경우 다음 구성 업데이트를 수행합니다.

예를 들어, 유지 관리를 위해 샤드/config 서버 복제본 세트 멤버에 대한 유지 관리를 수행하는 경우, 업데이트된 구성 파일에는 다음 예시와 같은 내용이 포함됩니다.

net:
bindIp: localhost,<hostname(s)|ip address(es)>
port: 27218
# port: 27018
#replication:
# replSetName: shardA
#sharding:
# clusterRole: shardsvr
setParameter:
skipShardingConfigurationChecks: true
disableLogicalSessionCacheRefresh: true

명령줄 옵션을 사용하는 경우 다음 구성을 업데이트하여 다시 시작합니다.

예를 예시 , 샤딩된 클러스터 의 일부가 아닌 복제본 세트 멤버를 다시 시작하려면 다음을 수행합니다.

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter disableLogicalSessionCacheRefresh=true

예를 들어 유지 관리를 위해 샤드/구성 서버 복제본 세트 멤버를 다시 시작하려는 경우입니다.

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter skipShardingConfigurationChecks=true --setParameter disableLogicalSessionCacheRefresh=true

경고

인스턴스를 공개적으로 접근 가능한 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() 합니다.300 멤버가 5분 동안 다시 프라이머리 선출되지 않도록 초의 대기 기간을 지정합니다.

    rs.stepDown(300)

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

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

구성 파일을 사용하는 경우 다음 구성 업데이트를 수행합니다.

예를 들어, 유지 관리를 위해 샤드/config 서버 복제본 세트 멤버에 대한 유지 관리를 수행하는 경우, 업데이트된 구성 파일에는 다음 예시와 같은 내용이 포함됩니다.

net:
bindIp: localhost,<hostname(s)|ip address(es)>
port: 27218
# port: 27018
#replication:
# replSetName: shardA
#sharding:
# clusterRole: shardsvr
setParameter:
skipShardingConfigurationChecks: true
disableLogicalSessionCacheRefresh: true

경고

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

명령줄 옵션을 사용하는 경우 다음과 같이 구성을 업데이트합니다.

예를 예시 , 샤딩된 클러스터 의 일부가 아닌 복제본 세트 멤버를 다시 시작하려면 다음을 수행합니다.

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter disableLogicalSessionCacheRefresh=true

예를 들어 유지 관리를 위해 샤드/구성 서버 복제본 세트 멤버를 다시 시작하려는 경우입니다.

mongod --port 27218 --dbpath /srv/mongodb --bind_ip localhost,<hostname(s)|ip address(es)> --setParameter skipShardingConfigurationChecks=true --setParameter disableLogicalSessionCacheRefresh=true

경고

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

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

    중요

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

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

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

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

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

이 페이지 평가하기

이 페이지의 내용