연결이 끊어진 기본 복제본 세트가 다시 복제본 세트에 추가됨

연결이 끊어진 기본 복제본 세트가 다시 복제본 세트에 추가됨

데이터베이스를 사용하는 애플리케이션에 대한 복원 서비스를 위해 보조 복제본 중 하나를 기본 복제본으로 승격하는 정도까지 네트워크 연결이 끊어진(예: 데이터 센터 네트워크 중단) 기본 복제본 세트를 어떻게 처리해야 하는지에 대한 조언을 찾고 있습니다. .

네트워크를 다시 연결하기 전에 보조로 다시 추가할 수 있도록 상자에서 실행 중인 mongodb를 종료해야 합니까? 아니면 설정된 변경 모드에서 기본 연결이 끊어졌습니까?

다시 연결될 때까지 격리되어 있지만 mongodb가 기본으로 실행되는 네트워크에서 mongodb 서버를 다시 허용하면 어떻게 될까요?

내가 찾아보려고 시도한 다른 문서에서 이에 대한 답변이 나온 경우 사과드립니다. 하지만 올바른 용어를 검색하지 않았을 수도 있습니다.

답변1

데이터베이스를 사용하는 애플리케이션에 대한 복원 서비스를 위해 보조 복제본 중 하나를 기본 복제본으로 승격하는 정도까지 네트워크 연결이 끊어진(예: 데이터 센터 네트워크 중단) 기본 복제본 세트를 어떻게 처리해야 하는지에 대한 조언을 찾고 있습니다. .

자동 장애 조치는 MongoDB의 고유 기능 중 하나입니다.복제 세트 디자인, 따라서 의도적으로 기본값에서 구성을 변경하지 않는 한 보조로 수동으로 장애 조치할 필요가 없습니다. primary와 둘 secondary회원 상태(또는 역할)을 복제 세트 내에 포함하며 일반적으로 장애 조치를 위해 수동 개입이 필요한 마스터/슬레이브 토폴로지와 구별됩니다.

MongoDB 복제본 세트의 구성된 투표 구성원 대다수가 현재 기본 데이터베이스에 연결할 수 없는 경우 예상되는 결과는 다음과 같습니다.

  • 격리된 기본이 물러나고 보조가 됩니다.
  • 투표 회원의 대다수가 여전히 서로 연결되어 있고 선출할 자격이 있는 회원이 있는 경우 새로운 예비 선거가 선출될 수 있습니다.

보다복제본 세트 선택자세한 내용은 MongoDB 매뉴얼을 참조하세요.

네트워크를 다시 연결하기 전에 보조로 다시 추가할 수 있도록 상자에서 실행 중인 mongodb를 종료해야 합니까? 아니면 설정된 변경 모드에서 기본 연결이 끊어졌습니까?

복제 세트의 격리된 데이터 보유 구성원은 보조 상태로 유지되지만 rs.status()복제 세트의 다른 구성원을 확인하면 "정상/연결 불가능"으로 표시됩니다. 일반적으로 모든 선택 가능한 데이터 보유 멤버를 동일하게 프로비저닝하여 필요한 경우 모든 멤버가 기본 멤버의 역할을 맡을 수 있도록 하는 것이 좋습니다(특별히 프로비전된 기본 멤버를 갖는 것과 반대).

복제본 세트를 자동으로 복구하려면 모든 구성원을 그대로 실행해야 하며 연결이 복원되면 동기화가 재개됩니다(가능한 경우). 기본 구성에서는 이전에 기본이었던 격리된 구성원이 보조 구성원으로 동기화를 다시 시작합니다. 어떤 회원을 기본으로 선출할지에 대한 선호도가 높은 경우(예: 데이터 센터 위치 기준) 다음을 수행할 수 있습니다.우선순위를 조정하다복제 세트 구성원의 경우. 기본 기본이 격리된 경우 복제본 세트에 보조로 다시 가입하고 기본이 될 수 있을 만큼 충분히 따라잡아 선택을 트리거할 때까지 동기화를 다시 시작합니다.

동기화를 재개할 때 주의할 점은 격리된 구성원이 여전히 해당 구성원과 충분히 중복되어야 한다는 것입니다.복제 oplog구성원이 격리된 동안 발생한 모든 쓰기 활동을 따라잡기 위해 정상적인 복제 세트 구성원의 정보를 수집합니다. oplog가 더 이상 복제 세트의 다른 구성원과 겹치지 않는 보조는 "stale"로 표시되며다시 동기화됨.

다시 연결될 때까지 격리되어 있지만 mongodb가 기본으로 실행되는 네트워크에서 mongodb 서버를 다시 허용하면 어떻게 될까요?

다른 투표 구성원이 없도록 복제 세트를 강제로 재구성하지 않는 한 격리된 기본 데이터베이스를 갖는 것은 불가능합니다. 복제본 세트에는 두 개의 기본 데이터베이스가 있을 수 없습니다. 격리된 이전 기본이 대다수의 복제본 세트 구성원에 전파되지 않은 쓰기를 허용한 경우 이러한 쓰기는 다음과 같습니다.복구하다(관리 개입을 위해 디스크로 내보냄) 이전 기본 데이터베이스가 복제 세트의 다른 구성원과의 연결을 재개할 때. 추가 조치를 취할 수 있습니다.롤백 방지, 사용 포함majority우려를 쓰다.

MongoDB 복제본 세트를 처음 사용하는 경우 기본 구성 및 프로비저닝을 사용하여 자동 장애 조치 및 복구를 활성화하는 것이 좋습니다. 수동 개입은 예외적인 상황에서만 필요합니다.

관련 정보