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

자체 관리형 보조가 기본이 되는 것을 방지

이 페이지의 내용

  • 개요
  • 고려 사항
  • 절차
  • 관련 문서

복제본 세트에서는 기본적으로 모든 세컨더리 멤버가 투표 과정을 통해 프라이머리 멤버가 될 수 있습니다. priority를 사용하여 일부 멤버가 프라이머리가 될 가능성을 높이고 다른 멤버가 프라이머리가 될 가능성을 낮추거나 불가능하게 함으로써 투표 결과에 영향을 줄 수 있습니다.

프라이머리가 될 수 없는 세컨더리는 투표를 트리거할 수 없습니다. 해당 세컨더리는 이 점을 제외하고는 다른 세컨더리와 차이점이 없습니다.

페일오버에서 세컨더리 멤버가 프라이머리가 되지 않도록 하려면 여기에 설명된 대로 세컨더리에 0의 우선 순위를 할당하세요. 세컨더리 멤버와 그 용도에 대한 자세한 설명은 우선순위 0 복제본 세트 멤버를 참조하세요.

복제본 구성 객체를 업데이트할 때 배열 인덱스가 있는 members 배열의 복제본 세트 멤버에 액세스합니다. 배열 인덱스는 0으로 시작합니다. 이 인덱스 값을 members 배열의 각 문서에 있는 members[n]._id 필드 값과 혼동하지 마세요.

참고

MongoDB는 현재 프라이머리0의 우선 순위를 갖는 것을 허용하지 않습니다. 현재의 프라이머리가 다시 프라이머리가 되지 않도록 하려면 먼저 rs.stepDown()을 사용하여 현재 프라이머리를 물러나게 합니다.

이 튜토리얼에서는 멤버가 5개인 샘플 복제본 세트를 사용합니다.

경고

  • rs.reconfig() 2} 셸 메서드는 현재 기본값이 강제로 물러나도록 하여 선거를 실시할 수 있습니다. 기본 연결이 종료되면 mongod 모든 클라이언트 연결을 닫습니다. 일반적으로 10~20초 정도 소요되지만 예약된 유지 관리 기간 동안 이러한 변경을 수행해 보세요.

  • 유효성 검사 규칙은 MongoDB 버전마다 다를 수 있으므로 다른 MongoDB 버전의 멤버를 포함하는 복제본 세트를 다시 구성하지 마십시오.

1

rs.conf() 메서드는 복제본 세트의 현재 구성이 포함된 복제본 세트 구성 문서를 반환합니다.

mongosh 에서 프라이머리에 연결된 경우 rs.conf() 메서드를 실행하고 결과를 변수에 할당합니다.

cfg = rs.conf()

반환된 문서에는 복제본 세트의 각 멤버에 대해 하나의 문서로 구성된 멤버 구성 문서 배열을 포함하는 members 필드가 포함되어 있습니다.

2

세컨더리가 프라이머리가 되는 것을 방지하려면 세컨더리 멤버의 members[n].priority0으로 업데이트합니다.

복제본 세트의 멤버에 우선순위 값을 지정하려면 배열 인덱스를 사용하여 멤버 구성 문서에 액세스합니다. 이 튜토리얼에서 변경할 세컨더리 멤버는 members 배열의 2 위치에 있는 구성 문서에 해당합니다.

cfg.members[2].priority = 0

구성 변경 사항은 복제본 세트를 다시 구성할 때까지 적용되지 않습니다.

3

rs.reconfig() 메서드를 사용하여 업데이트된 복제본 세트 구성 문서로 복제본 세트를 다시 구성합니다.

cfg 변수를 rs.reconfig() 메서드에 전달합니다.

rs.reconfig(cfg)

돌아가기

멤버 우선 순위 조정