자체 관리형 복제본 세트에 중재자 추가
이 페이지의 내용
일부 상황(예: 기본 인스턴스와 보조 인스턴스가 있지만 비용 제약으로 인해 보조 인스턴스를 추가할 수 없는 경우)에서는 선거에서mongod
투표할 중재자 로 복제본 세트에 인스턴스를 추가하도록 선택할 수 있습니다.
중재자는 mongod
복제본 세트의 일부이지만 데이터를 보유하지 않는 개의 인스턴스입니다(즉, 다음과 같습니다. 데이터 중복성을 제공하지 않습니다). 그러나 선거에는 참여할 수 있습니다.
중재자는 최소한의 리소스만 필요하며 전용 하드웨어가 필요하지 않습니다. 애플리케이션 서버 또는 모니터링 호스트에 중재자를 배포할 수 있습니다.
중요
복제본 세트의 주 멤버 또는 보조 멤버를 함께 호스팅하는 시스템에서는 중재자를 실행하지 마십시오.
경고
복제본 세트에 두 개 이상의 중재자를 배치하지 마세요. 복수 중재자 관련 우려 사항을 참조하세요.
기존 레플리카 세트에 중재자를 추가하려면 다음과 같이 하세요:
일반적으로 복제본 세트에 데이터를 보유하는 멤버가 두 개 이하인 경우 먼저 복제본 세트에 대한 클러스터 전체 쓰기 우려를 설정해야 할 수 있습니다.
클러스터 전체 쓰기 우려를 설정해야 하는 이유에 대한 자세한 내용은 클러스터 전체 쓰기 우려를 참조하세요.
중재자로 새로운 복제 세트를 시작하기 전에 클러스터 전체의 쓰기 고려 설정을 변경할 필요는 없습니다.
고려 사항
분기별 빠른 릴리스에서는중재자가 지원되지 않습니다. 배포에 중재자가 포함된 경우 LTS 릴리스만 사용하세요.
기본-보조-아비터 복제본 세트
프라이머리-세컨더리-중재자(PSA) 아키텍처를 사용 중이라면 다음을 고려하세요.
쓰기 고려
"majority"
는 세컨더리를 사용할 수 없거나 지연되는 경우 성능 문제를 일으킬 수 있습니다. 이러한 문제를 완화하는 방법에 대한 조언 은 자체 관리형 PSA 복제본 세트로 성능 문제 완화를 참조하세요.글로벌 기본값
"majority"
를 사용하고 있고, 쓰기 고려가 과반수 크기보다 작으면 쿼리가 오래된 (완전히 복제되지 않은) 부실 데이터를 반환할 수 있습니다.
중재자
중재자는 데이터를 저장하지 않지만 중재자의 mongod
프로세스가 복제본 세트에 추가될 때까지 다른 mongod
프로세스처럼 작동하며 데이터 파일 집합과 전체 크기 저널로 시작합니다.
IP 바인딩
경고
공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.
2} 및mongod
몽고DB mongos
바이너리는 기본적으로 로컬 호스트에 바인딩됩니다. 바이너리에 대해 net.ipv6
구성 파일 설정 또는 --ipv6
명령줄 옵션이 설정되어 있으면 바이너리가 로컬 호스트 IPv6 주소에 추가적으로 바인딩됩니다.
기본적으로 localhost에 바인딩된 mongod
및 mongos
는 동일한 컴퓨터에서 실행 중인 클라이언트의 연결만 허용합니다. 이 바인딩 동작에는 mongosh
와 복제본 세트 또는 샤딩된 클러스터의 다른 노드가 포함됩니다. 원격 클라이언트는 localhost에만 바인딩된 바이너리에는 연결할 수 없습니다.
기본 바인딩을 재정의하고 다른 IP 주소에 바인딩하려면 net.bindIp
구성 파일 설정 또는 --bind_ip
명령줄 옵션을 사용하여 호스트 이름 또는 IP 주소 목록을 지정합니다.
경고
MongDB 부터 5.0 시작, 분할 수평 DNS IP 주소로만 구성된 노드는 시작 유효성 검사에 실패하고 오류를 보고합니다. disableSplitHorizonIPCheck
를 참조하세요.
예를 들어 다음 mongod
인스턴스는 로컬 호스트와 IP 주소 198.51.100.1
와 연결된 호스트명 My-Example-Associated-Hostname
에 모두 바인딩됩니다.
mongod --bind_ip localhost,My-Example-Associated-Hostname
이 인스턴스에 연결하려면 원격 클라이언트가 호스트 이름 또는 관련 IP 주소 198.51.100.1
를 지정해야 합니다.
mongosh --host My-Example-Associated-Hostname mongosh --host 198.51.100.1
중요
변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤드 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.
IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.
중재자 추가
경고
복제본 세트에 두 개 이상의 중재자를 배치하지 마세요. 복수 중재자 관련 우려 사항을 참조하세요.
기존 레플리카 세트에 중재자를 추가하려면 다음과 같이 하세요:
일반적으로 복제본 세트에 데이터를 보유하는 멤버가 두 개 이하인 경우 먼저 복제본 세트에 대한 클러스터 전체 쓰기 우려를 설정해야 할 수 있습니다.
클러스터 전체 쓰기 우려를 설정해야 하는 이유에 대한 자세한 내용은 클러스터 전체 쓰기 우려를 참조하세요.
중재자로 새로운 복제 세트를 시작하기 전에 클러스터 전체의 쓰기 고려 설정을 변경할 필요는 없습니다.
중요
변경된 IP 주소로 인해 구성이 업데이트되는 것을 방지하려면 IP 주소 대신 DNS 호스트 이름을 사용하세요. 특히 복제본 세트 구성원 또는 샤드 클러스터 구성원을 구성할 때 IP 주소 대신 DNS 호스트 이름을 사용하는 것이 중요합니다.
IP 주소 대신 호스트 이름을 사용하여 스플릿 네트워크 호라이즌 전반에 걸쳐 클러스터를 구성하세요. MongoDB 5.0부터 IP 주소로만 구성된 노드는 스타트업 유효성 검사에 실패하며 시작되지 않습니다.
데이터 디렉터리를 만듭니다(예
storage.dbPath
) 중재자의 경우. 5} 인스턴스는 구성 데이터에 디렉터리를mongod
사용합니다. 디렉토리는 데이터 세트를 보유 하지 않습니다. 예를 들어/var/lib/mongodb/arb
디렉터리를 만듭니다.mkdir /var/lib/mongodb/arb 조인할 복제본 세트의 데이터 디렉터리와 이름을 지정하여 중재자를 시작합니다. 다음은
/var/lib/mongodb/arb
을 복제본 집합 이름의dbPath
및rs
로 사용하여 중재자를 시작합니다.경고
공개적으로 액세스할 수 있는 IP 주소에 인스턴스를 바인딩하기 전에 무단 액세스로부터 클러스터를 보호해야 합니다. 보안 권장 사항의 전체 목록은 자체 관리 배포서버를 위한 보안 체크리스트를 참조하세요. 최소한 인증을 활성화 하고 네트워크 인프라를 강화하는 것을 고려하세요.
mongod --port 27017 --dbpath /var/lib/mongodb/arb --replSet rs --bind_ip localhost,<hostname(s)|ip address(es)> 기본 설정에 연결하고 중재자를 복제본 세트에 추가합니다.
m1.example.net
가 중재자의 지정된 IP 주소와 연결된 호스트 이름이라고 가정하는 다음 예와 같이rs.addArb()
메서드를 사용합니다.rs.addArb("m1.example.net:27017") 이 작업은
m1.example.net
호스트의 포트27017
에서 실행 중인 중재자를 추가합니다.