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

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

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

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

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

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

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

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

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

1

In mongosh, shut down the mongod instance:

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

경고

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

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

3

While the member is a standalone, use mongosh to perform maintenance:

mongo --port 27218

중요

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

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

4

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

From mongosh, shut down the standalone server after completing the maintenance:

use admin
db.shutdownServer()

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

팁

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

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

When it has started, connect mongosh to the restarted instance.

The secondary takes time to catch up to the primary. From mongosh, use the following command to verify that the member has caught up from the RECOVERING state to the SECONDARY state.

rs.status()
5
  1. To perform maintenance on the primary after completing maintenance tasks on all secondaries, connect mongosh to the primary and use rs.stepDown() to step down the primary and allow one of the secondaries to be elected the new primary. Specify a 300 second waiting period to prevent the member from being elected primary again for five minutes:

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

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

    중요

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

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

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

    팁

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

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

이 페이지 평가하기

이 페이지의 내용