Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

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

이 페이지의 내용

  • 개요
  • 절차

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

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

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

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

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()을 사용하여 프라이머리가 우선순위를 내려놓게 하고 세컨더리 중 하나가 새 프라이머리로 선택되도록 합니다. 멤버가 5분 동안 다시 프라이머리로 선출되지 않도록 대기 시간을 300초로 지정합니다.

    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 매개 변수를 제거해야 합니다.

돌아가기

oplog 크기 변경

이 페이지의 내용