샤딩된 클러스터 배포
샤딩된 클러스터 대규모 데이터 세트에 대한 수평적 확장을 제공하며, 여러 서버 그룹에 데이터 세트를 분산하여 높은 처리량의 작업을 가능하게 합니다.
샤딩에 대해 자세히 알아보려면 MongoDB 매뉴얼의 샤딩 소개를 참조하세요.
이 절차를 사용하여 Ops Manager가 managed하는 새 cluster를 배포합니다. 나중에 Ops Manager를 사용하여 cluster에서 샤드를 추가하고 기타 유지 관리 작업을 수행할 수 있습니다.
참고
Ops Manager 4.0에 추가됨
Kubernetes를 사용하여 Ops Manager 버전 4.0 이상에서 MongoDB 인스턴스를 배포할 수 있습니다.
Kubernetes 객체를 사용하여 샤드 클러스터를 배포하는 방법을 알아보려면 MongoDB Enterprise Kubernetes Operator 설명서의 샤드 클러스터 배포 를 참조하세요.
전제 조건
MongoDB 클러스터를 배포 하려면 해당 클러스터를 제공호스트 를 프로비저닝해야 합니다. MongoDB Ops Manager 는 이러한 호스트에 액세스 가 필요합니다.
중요
MongoDB Enterprise를 실행하고 자체 Linux 호스트를 프로비저닝하는 경우, MongoDB를 설치하기 전에 각 서버에 종속성 세트를 수동으로 설치해야 합니다. MongoDB 매뉴얼에는 종속성 설치에 적합한 명령이 나와 있습니다.
운영 체제의 세부 사항에 대해 자세히 알아보려면 다음을 참조하세요.
고려 사항
샤딩된 클러스터의 고유 이름
새 클러스터와 해당 샤드에 고유한 이름을 사용하세요.
중요
동일한 프로젝트 내에서 복제본 세트, 샤딩된 클러스터, 샤드 이름은 고유해야 합니다. 배포를 위해 이름이 고유하지 않으면 백업 스냅샷이 손상됩니다.
Kubernetes 내부 및 외부에 모니터링 에이전트 배포하지 않기
동일한 프로젝트에서 Kubernetes 외부의 MongoDB 배포서버와 Kubernetes 내부의 MongoDB 배포서버를 혼합하지 않도록 합니다.
Kubernetes 네트워크 변환으로 인해, Kubernetes 외부의 모니터링 에이전트는 Kubernetes 내부의 MongoDB 인스턴스를 모니터링할 수 없습니다. 이러한 이유로 동일한 프로젝트에서 k8과 k8이 아닌 배포는 지원되지 않습니다. 별도의 프로젝트를 사용합니다.
구성 서버 배포 아키텍처
버전 Ops : Manager 4.0의 새로운 기능
MongoDB 3.2 이상 버전의 구성 서버 mongod
프로세스부터 MongoDB Ops Manager 는 구성 서버를 복제본 세트 로 배포합니다.
CSRS 및 미러링된 구성 서버(SCCC)에 대해 자세히 알아보려면 구성 서버를 참조하세요.
샤드 제거
샤드를 제거하면 해당 샤드의 모든 샤딩되지 않은 데이터베이스가 movePrimary 명령을 사용하여 나머지 샤드로 이동합니다.
샤드 제거 프로세스 중에도 모든 샤딩된 컬렉션은 온라인 상태로 유지되며 사용할 수 있습니다. 그러나 movePrimary
작업 중에 샤딩되지 않은 컬렉션에 대한 읽기 또는 쓰기 작업을 수행하면 마이그레이션 실패 또는 데이터 손실과 같은 예기치 않은 동작이 발생할 수 있습니다.
샤드를 제거하기 전에 샤드되지 않은 컬렉션이 포함된 데이터베이스의 프라이머리 샤드를 이동하는 것이 좋습니다.
샤드 제거에 학습 보려면 기존 샤드 클러스터에서 샤드 제거를 참조하세요.
절차
클러스터 전체 설정을 구성합니다.
Cluster Configuration 섹션에는 다음과 같은 클러스터 전체 구성 설정이 포함되어 있습니다. Ops Manager UI에서 * 별표로 표시된 설정이 필요합니다.
설정 | 설명 |
---|---|
Cluster Name | 샤딩된 클러스터 배포서버 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다. |
Config Server Replica Set Name | 구성 서버 복제본 세트 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다. 이 설정은 Ops Manager는 구성 서버의 Version 로 MongoDB 3.2 이상을 선택한 경우에만 이 옵션을 표시합니다. |
Shard Name Prefix | 클러스터 에 있는 각 샤드 의 접두사를 지정합니다. MongoDB Ops Manager 는 |
Process Name | 샤드 클러스터에 연결된 MongoDB Ops Manager는 MongoDB 3.0 이하 버전을 실행하는 클러스터의 경우, MongoDB Ops Manager 는 config 서버 |
Version |
Ops Manager는 배포에 사용할 수 있는 MongoDB 버전만 나열합니다. 이 필터링을 비활성화하려면 |
Data Directory |
각 |
Log File | 로그 파일 이름과 확장자를 포함하여 예를 예시
|
클러스터의 각 샤드를 구성합니다.
Member Configuration 섹션에서 Shard Settings 을 클릭하여 샤드 구성 옵션을 엽니다. MongoDB Ops Manager는 클러스터의 각 샤드와 해당 샤드와 연결된 mongod
프로세스를 나열합니다. 각 샤드 프로세스에는 다음과 같은 옵션이 있습니다.
설정 | 설명 |
---|---|
Member | 메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.
|
Hostname | 메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요. 이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다. |
Port | |
Votes | |
Priority | |
Delay | 프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은 |
Build Indexes |
|
Tags | |
Add a Mongod |
클러스터에 샤드를 추가하려면 다음을 수행합니다.
Add a Shard를 클릭합니다.
Cluster Configuration 섹션에서 샤드의 각
mongod
에 다음 매개 변수를 설정합니다.Version
Data Directory
Log File
클러스터의 각 구성 서버를 구성합니다.
Ops Manager는 구성 서버에 대해 선택한 MongoDB 버전에 따라 구성 서버 설정에 대해 다른 제목을 표시합니다.
- MongoDB 3.2 이상:
Member Configuration 섹션에서 Config Server Replica Set Settings 을 클릭하여 CSRS 구성 옵션을 엽니다. 각 config 서버 복제본 세트 멤버에는 다음과 같은 옵션이 있습니다.
설정설명Member메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.
Default
복제본 세트의 데이터 보유 노드로, 프라이머리 노드가 되어 투표할 수 있습니다.
투표할 수 있는 복제본 세트의 데이터 미보유 노드입니다.
arbiterOnly
복제본 구성 옵션에 해당합니다.투표할 수 있는 복제본 세트의 데이터 보유 노드입니다.
hidden
복제본 구성 옵션에 해당합니다.투표할 수 있는 복제본 세트의 데이터 보유 멤버입니다.
secondaryDelaySecs
및hidden
복제본 구성 옵션에 해당합니다.
Hostname메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요.
이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.
PortVotesPriorityDelay프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은
secondaryDelaySecs
mongod
복제본 세트 구성 옵션에 해당합니다.Build Indexesmongod
가 인덱스를 빌드하도록 지시하려면true
를 지정합니다. 이 설정은buildIndexes
mongod
복제본 세트 구성 옵션에 해당합니다.TagsAdd a Mongod- MongoDB 3.0 이전 버전
Member Configuration 섹션에서 Config Server Settings를 클릭하여 구성 서버 옵션을 엽니다. 각 구성 서버에는 다음과 같은 옵션이 있습니다.
설정설명Hostname메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요.
이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.
Port
클러스터에서 각 를 구성합니다.mongos
Member Configuration 섹션에서 Mongos Settings을 클릭하여 mongos
구성 옵션을 엽니다. 각 mongos
프로세스에는 다음과 같은 옵션이 있습니다.
설정 | 설명 |
---|---|
Hostname | 메뉴에서 MongoDB Ops Manager 자동화가 이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다. |
Port | |
Add a Mongos | 추가 |
클러스터에서 각 복제본 세트를 구성합니다.
Replication Settings 섹션에는 클러스터 의 각 복제본 세트 에 대한 다음 구성 옵션이 포함되어 있습니다.
설정 | 설명 |
---|---|
Protocol Version | 복제본 세트에서 사용하는 복제 프로토콜 버전을 선택합니다. 이 설정은 자세한 내용은 복제본 세트 프로토콜 버전을 참조하세요. |
Chaining Allowed | 세컨더리 노드가 다른 세컨더리 노드로부터 복제할 수 있도록 하려면 |
Write Concern Majority Journal Default | 쓰기 고려가 저널 옵션 |
Heartbeat Timeout (secs) | 복제본 세트 노드가 서로에게 성공적인 하트비트를 기다리는 시간(초)을 지정합니다. 이 설정은 |
Election Timeout (ms) | 복제본 세트의 프라이머리 설정에 연결할 수 없는 경우를 감지하기 위한 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 |
CatchUp Timeout (ms) | 새로 선출된 프라이머리 가 더 최근 쓰기가 있을 수 있는 다른 복제본 세트 노드와 동기화하거나 따라잡는 데 걸리는 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 |
CatchUp Takeover Delay (ms) | 노드가 현재 프라이머리보다 앞서 있다고 판단한 후 캐치업 인계를 시작하기 위해 노드가 기다리는 시간(밀리초)을 지정합니다. 이 설정은 |
Last Error Defaults | 복제본 세트에 대한 기본 쓰기 고려를 지정합니다. 복제본 세트는 쓰기 작업이나 getLastError가 다른 쓰기 고려를 지정하지 않는 경우에만 이 쓰기 고려를 사용합니다. 이 옵션을 설정하지 않으면 복제본 세트에 대한 기본 쓰기 고려는 프라이머리의 확인만 필요합니다. 이 옵션을 문서 형식(예: |
Force Reconfigure | 복제본 세트의 재구성을 강제로 수행하도록 지정합니다. 경고: 복제본 세트 를 강제로 재구성하면 과반수가 커밋된 쓰기가 롤백 될 수 있습니다. 진행 시 유의하세요. 이 작업의 잠재적 영향에 대한 질문이 있는 경우 MongoDB 지원에 문의하세요. 학습 내용은 MongoDB Server 매뉴얼의 사용할 수 없는 멤버가 있는 복제본 세트 재구성 을 참조하세요. |
MongoDB 복제본 세트에 대한 기본 읽기 및 쓰기 고려를 설정합니다.
Default Read Concerns/Write Concerns 카드에서는 이 클러스터의 읽기 및 쓰기 작업에 대해 MongoDB에서 요청하는 기본 승인 수준을 구성합니다. 기본 읽기 및 쓰기 고려를 설정하면 중재자를 사용하는 MongoDB 5.0 이상의 배포에 도움이 될 수 있습니다.
Default Read Concerns 섹션에서 클러스터의 데이터 읽기에 대한 일관성 및 격리 속성을 설정할 수 있습니다.
Level 드롭다운 메뉴에서 기본 읽기 고려를 선택합니다. 다음 값 중에서 선택할 수 있습니다.
Default Write Concerns 섹션에서 클러스터의 쓰기 작업에 대해 MongoDB에서 요청하는 기본 승인 수준을 구성합니다. 세 가지 매개변수를 설정할 수 있습니다.
Parameter | 값 |
---|---|
w 옵션 | |
j 옵션 | 쓰기 승인을 온디스크 저널에 기록해야 하는지 여부를 나타내는 플래그입니다. |
w 시간 초과 |
MongoDB 샤딩된 클러스터에 대한 고급 구성 옵션을 설정합니다.
Advanced Configuration Options 섹션에서는 배포의 각 MongoDB 프로세스에 대한 MongoDB 런타임 옵션을 설정할 수 있습니다.
옵션을 추가하려면 다음을 수행합니다.
Add Advanced Options를 클릭합니다.
Select a Startup Option을 클릭하고 구성 옵션을 선택합니다.
Ops Manager는 선택한 옵션에 대해 허용 가능한 값을 구성하기 위해 상황에 맞는 입력을 표시합니다.
선택한 옵션과 해당 값을 클러스터에서 선택한 프로세스 유형의 모든 프로세스에 추가하려면 Add를 클릭합니다.
Ops Manager는 cluster의 각 프로세스를 논리적으로 그룹화하여 나열합니다. 논리적 그룹 왼쪽에 있는 회색 화살표를 클릭하면 해당 하위 그룹과 프로세스가 표시됩니다. 필요에 따라 각 프로세스의 고급 옵션을 개별적으로 수정할 수 있습니다.
사용 가능한 Advanced Configuration Options에 대한 설명은 MongoDB deployment를 위한 고급 옵션을 참조하세요.