Docs Menu
Docs Home
/
MongoDB Ops Manager
/

샤딩된 클러스터 배포

이 페이지의 내용

  • 전제 조건
  • 고려 사항
  • 절차

샤딩된 클러스터 대규모 데이터 세트에 대한 수평적 확장을 제공하며, 여러 서버 그룹에 데이터 세트를 분산하여 높은 처리량의 작업을 가능하게 합니다.

샤딩에 대해 자세히 알아보려면 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 외부의 MongoDB 배포서버와 Kubernetes 내부의 MongoDB 배포서버를 혼합하지 않도록 합니다.

Kubernetes 네트워크 변환으로 인해, Kubernetes 외부의 모니터링 에이전트는 Kubernetes 내부의 MongoDB 인스턴스를 모니터링할 수 없습니다. 이러한 이유로 동일한 프로젝트에서 k8과 k8이 아닌 배포는 지원되지 않습니다. 별도의 프로젝트를 사용합니다.

버전 Ops : Manager 4.0의 새로운 기능

MongoDB 3.2 이상 버전의 구성 서버 mongod 프로세스부터 MongoDB Ops Manager 는 구성 서버를 복제본 세트 로 배포합니다.

CSRS 및 미러링된 구성 서버(SCCC)에 대해 자세히 알아보려면 구성 서버를 참조하세요.

샤드를 제거하면 해당 샤드의 모든 샤딩되지 않은 데이터베이스가 movePrimary 명령을 사용하여 나머지 샤드로 이동합니다.

샤드 제거 프로세스 중에도 모든 샤딩된 컬렉션은 온라인 상태로 유지되며 사용할 수 있습니다. 그러나 movePrimary 작업 중에 샤딩되지 않은 컬렉션에 대한 읽기 또는 쓰기 작업을 수행하면 마이그레이션 실패 또는 데이터 손실과 같은 예기치 않은 동작이 발생할 수 있습니다.

샤드를 제거하기 전에 샤드되지 않은 컬렉션이 포함된 데이터베이스의 프라이머리 샤드를 이동하는 것이 좋습니다.

샤드 제거에 학습 보려면 기존 샤드 클러스터에서 샤드 제거를 참조하세요.

1
  1. 이미 표시되어 있지 않은 경우 탐색 모음의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 이미 표시되어 있지 않은 경우 Projects 탐색 모음의 프로젝트 메뉴에서 원하는 프로젝트를 선택합니다.

  3. 아직 표시되지 않은 경우 사이드바에서 Deployment 클릭하세요.

2

Deployment 페이지 오른쪽 상단에 있는 Add 화살표를 클릭합니다. 드롭다운 메뉴에서 New Cluster를 선택하여 Create New Cluster 뷰를 엽니다.

3

Cluster Configuration 섹션에는 다음과 같은 클러스터 전체 구성 설정이 포함되어 있습니다. Ops Manager UI에서 * 별표로 표시된 설정이 필요합니다.

설정
설명

Cluster Name

샤딩된 클러스터 배포서버 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다.

Config Server Replica Set Name

구성 서버 복제본 세트 의 이름을 지정합니다. 한 번 설정하다 하면 변경할 수 없습니다. 이 설정은 _id 복제본 구성 옵션에 해당합니다.

Ops Manager는 구성 서버의 Version 로 MongoDB 3.2 이상을 선택한 경우에만 이 옵션을 표시합니다.

Shard Name Prefix

클러스터 에 있는 각 샤드 의 접두사를 지정합니다. MongoDB Ops Manager 는 <prefix_n> 형식을 사용하여 클러스터 의 각 샤드 에 이름을 지정하며, 여기서 n 는 0인덱싱되고 단조 증가하는 정수입니다.

Process Name

샤드 클러스터에 연결된 mongod 또는 mongos 의 호스트 이름 및 포트입니다. 이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소일 수 있습니다.

MongoDB Ops Manager는 mongod 프로세스를 상위 복제본 세트 이름 아래에, mongos 프로세스를 mongoses 아래에 그룹화합니다. 그런 다음 MongoDB Ops Manager는 모든 클러스터 구성 요소를 클러스터 이름으로 그룹화합니다. 다음을 클릭합니다. 하위 그룹 또는 프로세스를 나열하려면 그룹 왼쪽에 있습니다. 그룹화에 사용할 수 있는 설정을 수정하면 하위 그룹 및 프로세스에서 해당 값이 변경됩니다.

MongoDB 3.0 이하 버전을 실행하는 클러스터의 경우, MongoDB Ops Manager 는 config 서버 mongod 프로세스를 configServers 아래에 그룹화합니다.

Version

mongod 또는 mongos 프로세스의 MongoDB 서버 버전을 선택합니다.

Ops Manager는 배포에 사용할 수 있는 MongoDB 버전만 나열합니다.

이 필터링을 비활성화하려면 automation.versions.download.baseUrl.allowOnlyAvailableBuilds 를 참조하세요.

Data Directory

mongod 프로세스가 데이터 파일을 저장하는 디렉토리를 지정합니다. 이 설정은 storage.dbPath mongod 구성 파일 옵션에 해당합니다. MongoDB Ops Manager 자동화에는 지정된 디렉토리의 모든 파일과 폴더를 읽고, 쓰고, 실행할 수 있는 파일 시스템 권한이 있어야 합니다.

mongod 프로세스에는 자체 데이터베이스 디렉토리가 있어야 합니다. 동일한 호스트에 여러 mongod 프로세스를 배포하는 경우 각 프로세스에 고유한 디렉토리가 있어야 합니다.

Log File

로그 파일 이름과 확장자를 포함하여 mongod 또는 mongos 로그 파일 의 전체 경로를 지정합니다. 이 설정은 systemLog.path 구성 파일 옵션에 해당합니다. mongod 또는 mongos 에는 지정된 파일 에 대한 읽기 및 쓰기 (write) 권한이 있어야 합니다.

예를 예시 /var/log/mongodb/mongo.log 을 지정하면 mongod 또는 mongos 가 로그 파일을 /var/log/mongodb/mongo.log 로 저장 하도록 지시합니다.

mongod 또는 mongos 에는 고유한 로그 파일 이 있어야 합니다. 동일한 호스팅하다 에 여러 mongod 또는 mongos 프로세스를 배포하는 경우 각 mongod 또는 mongos 에 고유한 로그 파일이 있어야 합니다.

4

Member Configuration 섹션에서 Shard Settings 을 클릭하여 샤드 구성 옵션을 엽니다. MongoDB Ops Manager는 클러스터의 각 샤드와 해당 샤드와 연결된 mongod 프로세스를 나열합니다. 각 샤드 프로세스에는 다음과 같은 옵션이 있습니다.

설정
설명

Member

메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.

  • Default

    복제본 세트의 데이터 보유 노드로, 프라이머리 노드가 되어 투표할 수 있습니다.

  • 중재자

    투표할 수 있는 복제본 세트의 데이터 미보유 노드입니다. arbiterOnly 복제본 구성 옵션에 해당합니다.

  • 숨김

    투표할 수 있는 복제본 세트의 데이터 보유 노드입니다. hidden 복제본 구성 옵션에 해당합니다.

  • 지연된 숨김

    투표할 수 있는 복제본 세트의 데이터 보유 멤버입니다. secondaryDelaySecshidden 복제본 구성 옵션에 해당합니다.

Hostname

메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요.

이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.

Port

프로세스에 대한 mongod IANA포트 번호를 지정합니다. 이 설정은 net.port 구성 파일 옵션에 해당합니다. 기본값은 27017 입니다.

mongod는 지정된 포트에 배타적 액세스 권한이 있어야 합니다. 단일 호스트에 여러 mongod 프로세스를 배포하는 경우 각 프로세스에 사용하지 않는 고유한 포트를 선택해야 합니다.

Votes

투표 기간 동안 복제본 세트 멤버가 가질 수 있는 투표 수를 지정합니다. 이 설정은 votes mongod 복제본 세트 구성 옵션에 해당합니다.

Priority

투표 시 노드의 우선순위를 지정합니다. 우선 순위가 0인 복제본 세트 노드는 프라이머리 노드가 될 수 없으며 투표를 트리거할 수 없습니다. 이 설정은 priority mongod 복제본 세트 구성 옵션에 해당합니다.

Delay

프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은 secondaryDelaySecs mongod 복제본 세트 구성 옵션에 해당합니다.

Build Indexes

mongod인덱스를 빌드하도록 지시하려면 true를 지정합니다. 이 설정은 buildIndexes mongod 복제본 세트 구성 옵션에 해당합니다.

Tags

복제본 세트에 연결된 태그를 지정합니다. 이 설정은 tags mongod 복제본 세트 구성 옵션에 해당합니다.

복제본 세트 태그에 대한 전체 문서는 복제본 세트 태그를 참조하세요.

Add a Mongod

복제본 세트 멤버로 추가 mongod 프로세스를 추가합니다.

mongod 프로세스를 추가하면 Cluster Configuration 섹션의 프로세스 목록도 업데이트됩니다. 새 프로세스의 Version, Data DirectoryLog File 을 구성해야 합니다.

클러스터에 샤드를 추가하려면 다음을 수행합니다.

  1. Add a Shard를 클릭합니다.

  2. Cluster Configuration 섹션에서 샤드의 각 mongod에 다음 매개 변수를 설정합니다.

    • Version

    • Data Directory

    • Log File

5

드롭다운 메뉴에서 DedicatedEmbedded 구성 서버 유형 중에서 선택합니다. 3 개보다 큰 샤드의 클러스터는 Dedicated 유형을 사용해야 합니다.

Ops Manager는 구성 서버에 대해 선택한 MongoDB 버전에 따라 구성 서버 설정에 대해 다른 제목을 표시합니다.

MongoDB 3.2 이상:

Member Configuration 섹션에서 Config Server Replica Set Settings 을 클릭하여 CSRS 구성 옵션을 엽니다. 각 config 서버 복제본 세트 멤버에는 다음과 같은 옵션이 있습니다.

설정
설명

Member

메뉴에서 다음 복제본 세트 노드 역할 중 하나를 선택합니다.

  • Default

    복제본 세트의 데이터 보유 노드로, 프라이머리 노드가 되어 투표할 수 있습니다.

  • 중재자

    투표할 수 있는 복제본 세트의 데이터 미보유 노드입니다. arbiterOnly 복제본 구성 옵션에 해당합니다.

  • 숨김

    투표할 수 있는 복제본 세트의 데이터 보유 노드입니다. hidden 복제본 구성 옵션에 해당합니다.

  • 지연된 숨김

    투표할 수 있는 복제본 세트의 데이터 보유 멤버입니다. secondaryDelaySecshidden 복제본 구성 옵션에 해당합니다.

Hostname

메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요.

이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.

Port

프로세스에 대한 mongod IANA포트 번호를 지정합니다. 이 설정은 net.port 구성 파일 옵션에 해당합니다. 기본값은 27017 입니다.

mongod는 지정된 포트에 배타적 액세스 권한이 있어야 합니다. 단일 호스트에 여러 mongod 프로세스를 배포하는 경우 각 프로세스에 사용하지 않는 고유한 포트를 선택해야 합니다.

Votes

투표 기간 동안 복제본 세트 멤버가 가질 수 있는 투표 수를 지정합니다. 이 설정은 votes mongod 복제본 세트 구성 옵션에 해당합니다.

Priority

투표 시 노드의 우선순위를 지정합니다. 우선 순위가 0인 복제본 세트 노드는 프라이머리 노드가 될 수 없으며 투표를 트리거할 수 없습니다. 이 설정은 priority mongod 복제본 세트 구성 옵션에 해당합니다.

Delay

프라이머리 노드보다 '뒤처지는' 시간을 초 단위로 지정합니다. 이 노드는 '지연'이어야 합니다. 이 설정은 secondaryDelaySecs mongod 복제본 세트 구성 옵션에 해당합니다.

Build Indexes

mongod인덱스를 빌드하도록 지시하려면 true를 지정합니다. 이 설정은 buildIndexes mongod 복제본 세트 구성 옵션에 해당합니다.

Tags

복제본 세트에 연결된 태그를 지정합니다. 이 설정은 tags mongod 복제본 세트 구성 옵션에 해당합니다.

복제본 세트 태그에 대한 전체 문서는 복제본 세트 태그를 참조하세요.

Add a Mongod

복제본 세트 멤버로 추가 mongod 프로세스를 추가합니다.

mongod 프로세스를 추가하면 Cluster Configuration 섹션의 프로세스 목록도 업데이트됩니다. 새 프로세스의 Version, Data DirectoryLog File 을 구성해야 합니다.

MongoDB 3.0 이전 버전

Member Configuration 섹션에서 Config Server Settings를 클릭하여 구성 서버 옵션을 엽니다. 각 구성 서버에는 다음과 같은 옵션이 있습니다.

설정
설명

Hostname

메뉴에서 Ops Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Ops Manager 자동화 아래에 있는 호스트만 나열됩니다. Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화 를 위한 서버 프로비저닝을 참조하세요.

이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.

Port

프로세스에 대한 mongod IANA포트 번호를 지정합니다. 이 설정은 net.port 구성 파일 옵션에 해당합니다. 기본값은 27017 입니다.

mongod는 지정된 포트에 배타적 액세스 권한이 있어야 합니다. 단일 호스트에 여러 mongod 프로세스를 배포하는 경우 각 프로세스에 사용하지 않는 고유한 포트를 선택해야 합니다.

6

Member Configuration 섹션에서 Mongos Settings을 클릭하여 mongos 구성 옵션을 엽니다. 각 mongos 프로세스에는 다음과 같은 옵션이 있습니다.

설정
설명

Hostname

메뉴에서 MongoDB Ops Manager 자동화가 mongos 를 배포할 호스팅하다 를 선택합니다. 메뉴에는 MongoDB Ops Manager 자동화 아래의 호스트만 나열됩니다. MongoDB Ops Manager 자동화에 서버를 추가하는 방법에 대한 전체 설명서는 자동화를 위한 서버 프로비저닝을 참조하세요.

이 호스트 이름은 호스트 이름, FQDN, IPv4 주소 또는 IPv6 주소가 될 수 있습니다.

Port

프로세스에 대한 mongos IANA포트 번호를 지정합니다. 이 설정은 net.port 구성 파일 옵션에 해당합니다. 기본값은 27017 입니다.

mongos는 지정된 포트에 배타적 액세스 권한이 있어야 합니다. 단일 호스트에 여러 mongos 프로세스를 배포하는 경우 각 프로세스에 사용하지 않는 고유한 포트를 선택해야 합니다.

Add a Mongos

추가 mongos 프로세스를 추가하려면 클릭하세요.

7

Replication Settings 섹션에는 클러스터 의 각 복제본 세트 에 대한 다음 구성 옵션이 포함되어 있습니다.

설정
설명

Protocol Version

복제본 세트에서 사용하는 복제 프로토콜 버전을 선택합니다. 이 설정은 protocolVersion 복제본 세트 구성 옵션에 해당합니다.

자세한 내용은 복제본 세트 프로토콜 버전을 참조하세요.

Chaining Allowed

세컨더리 노드가 다른 세컨더리 노드로부터 복제할 수 있도록 하려면 true를 지정합니다. 이 설정은 chainingAllowed 복제본 세트 구성 옵션에 해당합니다.

Write Concern Majority Journal Default

쓰기 고려가 저널 옵션 j를 명시적으로 지정하지 않은 경우 {w:"majority"} 쓰기 고려의 동작을 결정합니다. 이 설정은 writeConcernMajorityJournalDefault 복제본 세트 구성 옵션에 해당합니다.

Heartbeat Timeout (secs)

복제본 세트 노드가 서로에게 성공적인 하트비트를 기다리는 시간(초)을 지정합니다. 이 설정은 heartbeatTimeoutSecs 복제본 세트 구성 옵션에 해당합니다.

Election Timeout (ms)

복제본 세트의 프라이머리 설정에 연결할 수 없는 경우를 감지하기 위한 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 electionTimeoutMillis 복제본 세트 구성 옵션에 해당합니다.

CatchUp Timeout (ms)

새로 선출된 프라이머리 가 더 최근 쓰기가 있을 수 있는 다른 복제본 세트 노드와 동기화하거나 따라잡는 데 걸리는 시간 제한을 밀리초 단위로 지정합니다. 이 설정은 catchUpTimeoutMillis 복제본 세트 구성 옵션에 해당합니다.

CatchUp Takeover Delay (ms)

노드가 현재 프라이머리보다 앞서 있다고 판단한 후 캐치업 인계를 시작하기 위해 노드가 기다리는 시간(밀리초)을 지정합니다. 이 설정은 catchUpTakeoverDelayMillis 복제본 세트 구성 옵션에 해당합니다.

Last Error Defaults

복제본 세트에 대한 기본 쓰기 고려를 지정합니다. 복제본 세트는 쓰기 작업이나 getLastError가 다른 쓰기 고려를 지정하지 않는 경우에만 이 쓰기 고려를 사용합니다.

이 옵션을 설정하지 않으면 복제본 세트에 대한 기본 쓰기 고려는 프라이머리의 확인만 필요합니다.

이 옵션을 문서 형식(예: {"w":2})으로 지정합니다.

Force Reconfigure

복제본 세트의 재구성을 강제로 수행하도록 지정합니다. Yes로 설정하면 대부분의 노드를 사용할 수 없는 경우에도 복제본 세트가 새 구성을 수락하도록 MongoDB Agent가 강제합니다.

경고: 복제본 세트 를 강제로 재구성하면 과반수가 커밋된 쓰기가 롤백 될 수 있습니다.

진행 시 유의하세요. 이 작업의 잠재적 영향에 대한 질문이 있는 경우 MongoDB 지원에 문의하세요.

학습 내용은 MongoDB Server 매뉴얼의 사용할 수 없는 멤버가 있는 복제본 세트 재구성 을 참조하세요.

8

Default Read Concerns/Write Concerns 카드에서는 이 클러스터의 읽기 및 쓰기 작업에 대해 MongoDB에서 요청하는 기본 승인 수준을 구성합니다. 기본 읽기 및 쓰기 고려를 설정하면 중재자를 사용하는 MongoDB 5.0 이상의 배포에 도움이 될 수 있습니다.

Default Read Concerns 섹션에서 클러스터의 데이터 읽기에 대한 일관성 및 격리 속성을 설정할 수 있습니다.

Level 드롭다운 메뉴에서 기본 읽기 고려를 선택합니다. 다음 값 중에서 선택할 수 있습니다.

Default Write Concerns 섹션에서 클러스터의 쓰기 작업에 대해 MongoDB에서 요청하는 기본 승인 수준을 구성합니다. 세 가지 매개변수를 설정할 수 있습니다.

Parameter

w 옵션

쓰기 작업을 승인해야 하는 mongod 인스턴스의 요구되는 수입니다. 다음 값중 하나를 입력할 수 있습니다.

  • majority, MongoDB 5.0 이상 기본값 또는

  • 양의 정수. MongoDB 4.4의 기본값은 1입니다.

j 옵션

쓰기 승인을 온디스크 저널에 기록해야 하는지 여부를 나타내는 플래그입니다.

w 시간 초과

밀리초 단위로 표시되는 쓰기 고려에 대한 원하는 시간 제한입니다. w1(majority 포함)보다 큰 값으로 설정할 때 이 값을 설정합니다.

9

Advanced Configuration Options 섹션에서는 배포의 각 MongoDB 프로세스에 대한 MongoDB 런타임 옵션을 설정할 수 있습니다.

옵션을 추가하려면 다음을 수행합니다.

  1. Add Advanced Options를 클릭합니다.

  2. Select a Startup Option을 클릭하고 구성 옵션을 선택합니다.

  3. Ops Manager는 선택한 옵션에 대해 허용 가능한 값을 구성하기 위해 상황에 맞는 입력을 표시합니다.

  4. 선택한 옵션과 해당 값을 클러스터에서 선택한 프로세스 유형의 모든 프로세스에 추가하려면 Add를 클릭합니다.

Ops Manager는 cluster의 각 프로세스를 논리적으로 그룹화하여 나열합니다. 논리적 그룹 왼쪽에 있는 회색 화살표를 클릭하면 해당 하위 그룹과 프로세스가 표시됩니다. 필요에 따라 각 프로세스의 고급 옵션을 개별적으로 수정할 수 있습니다.

사용 가능한 Advanced Configuration Options에 대한 설명은 MongoDB deployment를 위한 고급 옵션을 참조하세요.

10

Ops Manager가 Deployment 보기로 리디렉션하면 Ops Manager가 배포를 시작하기 전에 클러스터 구성을 검토해야 합니다.

11
12

Ops Manager가 제안된 변경 사항을 표시합니다.

  1. 만족하면 Confirm & Deploy을(를) 클릭합니다.

  2. 구성을 추가로 변경하려면 Cancel을(를) 클릭합니다. 클러스터를 추가 변경하려면 Modify을(를) 클릭합니다.

돌아가기

복제본 세트 배포

이 페이지의 내용