Docs Menu
Docs Home
/
MongoDB Cloud Manager
/

샤딩된 클러스터 배포

이 페이지의 내용

  • 고려 사항
  • 절차

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

샤딩에 대해 자세히 알아보려면 MongoDB 매뉴얼의 샤딩 소개를 참조하세요.

이 절차에 따라 Cloud Manager가 관리하는 새 샤딩된 클러스터를 배포할 수 있습니다. 나중에 Cloud Manager를 사용하여 샤드를 추가하고 클러스터에서 다른 유지 관리 작업을 수행할 수 있습니다.

Kubernetes 객체를 사용하여 샤드 클러스터를 배포하는 방법을 알아보려면 MongoDB Enterprise Kubernetes Operator 설명서의 샤드 클러스터 배포 를 참조하세요.

참고

Cloud Manager의 새로운 기능

Kubernetes를 사용하여 Cloud Manager로 MongoDB 인스턴스를 배포할 수 있습니다.

MongoDB 클러스터를 배포하려면 해당 클러스터를 서비스할 호스트를 프로비저닝해야 합니다. Cloud Manager에는 이러한 호스트에 대한 액세스가 필요합니다.

중요

MongoDB Enterprise를 실행하고 자체 Linux 호스트를 프로비저닝하는 경우, MongoDB를 설치하기 전에 각 서버에 종속성 세트를 수동으로 설치해야 합니다. MongoDB 매뉴얼에는 종속성 설치에 적합한 명령이 나와 있습니다.

운영 체제의 세부 사항에 대해 자세히 알아보려면 다음을 참조하세요.

새 클러스터와 해당 샤드에 고유한 이름을 사용하세요.

중요

동일한 프로젝트 내에서 복제본 세트, 샤딩된 클러스터, 샤드 이름은 고유해야 합니다. 배포를 위해 이름이 고유하지 않으면 백업 스냅샷이 손상됩니다.

구성 서버 mongod 프로세스에 MongoDB 3.4 이상을 선택하는 경우 Cloud Manager 는 구성 서버를 복제본 세트 로 배포합니다.

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

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

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

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

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

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

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Deployment 페이지가 아직 표시되지 않은 경우 사이드바에서 Deployment를 클릭합니다.

    배포 페이지가 표시됩니다.

2
  1. 페이지 오른쪽 상단에 있는 Add 화살표를 클릭합니다.

  2. 드롭다운 메뉴에서 New Cluster 을 선택하여 Create New Cluster 보기를 엽니다.

3

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

설정
설명

Cluster Name

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

Config Server Replica Set Name

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

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

Shard Name Prefix

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

Process Name

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

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

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

Version

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

  • Version

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

Data Directory

mongod 프로세스가 데이터 파일을 저장하는 디렉토리를 지정합니다. 이 설정은 storage.dbPath mongod 구성 파일 옵션에 해당합니다. Cloud 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 을 클릭하여 샤드 구성 옵션을 엽니다. Cloud Manager는 클러스터의 각 샤드와 해당 샤드와 연결된 mongod 프로세스를 나열합니다. 각 샤드 프로세스에는 다음과 같은 옵션이 있습니다.

설정
설명

Member

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

  • Default

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

  • 중재자

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

  • 숨김

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

  • 지연된 숨김

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

Hostname

메뉴에서 Cloud Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud 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

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

MongoDB 3.2 이상:

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

설정
설명

Member

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

  • Default

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

  • 중재자

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

  • 숨김

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

  • 지연된 숨김

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

Hostname

메뉴에서 Cloud Manager 자동화가 복제본 세트 노드를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud 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

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

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

Port

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

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

6

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

설정
설명

Hostname

메뉴에서 Cloud Manager 자동화가 mongos를 배포할 호스트를 선택합니다. 메뉴에는 Cloud Manager 자동화 아래에 있는 호스트만 나열됩니다. Cloud 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
9
10

Cloud Manager는 사용자를 Deployment 뷰로 리디렉션합니다. 이 뷰에서는 Cloud Manager가 배포를 시작하기 전에 클러스터 구성을 검토해야 합니다.

11
12

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

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

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

돌아가기

복제 세트 배포

이 페이지의 내용