문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

체인 복제 관리

이 페이지의 내용

  • 체인 복제 비활성화
  • 체인 복제 재활성화

버전 2.0부터 MongoDB는 체인 복제를 지원합니다. 체인 복제는 한 세컨더리 멤버가 프라이머리 멤버가 아닌 다른 세컨더리 멤버로부터 복제할 때 발생합니다. 예를 들어 세컨더리 멤버가 핑 시간을 기준으로 복제 대상을 선택하고 가장 가까운 멤버가 다른 세컨더리 멤버인 경우가 이에 해당할 수 있습니다.

체인 복제는 프라이머리의 로드를 줄일 수 있습니다. 그러나 체인 복제는 네트워크 토폴로지에 따라 복제 지연이 증가할 수도 있습니다.

복제본 세트 구성settings.chainingAllowed 설정을 사용하여 체인 복제로 인해 지연이 발생하는 경우 체인 복제를 비활성화할 수 있습니다.

MongoDB는 기본적으로 체인 복제를 활성화합니다. 이 절차에서는 이 기능을 비활성화하는 방법과 다시 활성화하는 방법을 설명합니다.

참고

체인 복제가 비활성화된 경우에도 replSetSyncFrom을 사용하여 세컨더리가 다른 세컨더리로부터 복제하도록 지정할 수 있습니다. 그러나 해당 구성은 세컨더리가 동기화할 멤버를 다시 계산할 때까지만 지속됩니다.

체인 복제를 비활성화하려면 복제본 세트 구성settings.chainingAllowed 필드를 false로 설정합니다.

다음 명령 순서를 사용하여 settings.chainingAllowedfalse로 설정할 수 있습니다.

  1. 구성 설정을 cfg 객체에 복사합니다.

    cfg = rs.config()
  2. 현재 구성 설정에 settings 내장 문서가 포함되어 있는지 확인하세요. 포함된 경우 이 단계를 건너뛰세요.

    경고

    구성 설정에 settings 내장 문서가 포함되어 있는 경우 데이터 손실을 방지하려면 이 단계를 건너뛰세요.

    현재 구성 설정에 settings 내장 문서가 없는 경우 다음 명령을 실행하여 내장된 문서를 생성합니다.

    cfg.settings = { }
  3. 다음 명령 순서를 실행하여 settings.chainingAllowedfalse로 설정합니다.

    cfg.settings.chainingAllowed = false
    rs.reconfig(cfg)

체인 복제를 다시 활성화하려면 settings.chainingAllowedtrue로 설정합니다. 다음 명령 순서를 사용할 수 있습니다.

cfg = rs.config()
cfg.settings.chainingAllowed = true
rs.reconfig(cfg)
← 사용할 수 없는 구성원이 있는 복제본 세트 재구성하기