Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

sh.status()

이 페이지의 내용

  • 정의
  • 출력 예시
  • 출력 필드
sh.status()

mongos 인스턴스 에서 실행 하면 샤딩 구성에 대한 형식화된 보고서와 샤딩된 클러스터 의 기존 청크에 관한 정보를 인쇄합니다. 기본값 동작은 총 청크 수가 20 이상이면 자세한 청크 정보를 억제합니다.

sh.status() 메서드에는 다음과 같은 매개 변수가 있습니다.

Parameter
유형
설명
verbose
부울

선택 사항. 상세도 수준을 결정합니다.

true면 메서드가 표시됩니다.

  • 20개 이상의 청크가 있는 경우에도 샤드의 청크 분포와 각 샤드의 청크 수에 대한 전체 세부 정보입니다.

  • 활성 mongos 인스턴스의 세부 정보입니다.

false면 메서드가 표시됩니다.

  • 청크가 20개 미만인 경우에만 샤드의 청크 분포에 대한 전체 세부 정보입니다. 청크가 20개 이상인 경우 메서드는 대신 각 샤드의 청크 수만 표시하는 too many chunks to print ... 메시지를 반환합니다.

  • 활성 mongos 인스턴스의 버전과 수만 표시됩니다.

기본 상세 정보 값은 false입니다.

다음도 참조하세요.

샤딩 버전 섹션에는 config 데이터베이스에 대한 정보가 표시됩니다.

--- Sharding Status ---
sharding version: {
"_id" : <num>,
"minCompatibleVersion" : <num>,
"currentVersion" : <num>,
"clusterId" : <ObjectId>
}

샤드 섹션에는 샤드에 대한 정보가 나열됩니다. 이 섹션의 각 샤드에 이름, 호스트, 관련 태그(있는 경우)가 표시됩니다.

shards:
{ "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> }
{ "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> }
...

Active mongos Instances(활성 인스턴스) 섹션에는 기본적으로 지난 60초 동안 활성 상태였던 mongos 인스턴스의 버전 및 수에 대한 정보가 표시됩니다.

active mongoses:
<version> : <num>

verbose 매개 변수를 true로 설정하여 메서드를 실행하는 경우 활성 mongos 인스턴스 섹션에 추가 정보가 표시됩니다.

active mongoses:
{ "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }

자동 분할은 자동 분할의 활성화 여부에 대한 정보를 표시합니다.

autosplit:
Currently enabled: <yes|no>

밸런서 섹션에는 밸런서의 상태에 대한 정보가 나열됩니다. 이를 통해 현재 밸런서 작업에 대한 통찰력을 얻을 수 있으며, 분할되지 않은 샤딩된 클러스터의 문제를 해결할 때 유용할 수 있습니다.

balancer:
Currently enabled: yes
Currently running: yes
Collections with active migrations:
config.system.sessions started at Fri May 15 2020 17:38:12 GMT-0400 (EDT)
Failed balancer rounds in last 5 attempts: 0
Migration Results for the last 24 hours:
416 : Success
1 : Failed with error 'aborted', from shardA to shardB

데이터베이스 섹션에는 데이터베이스에 대한 정보가 나열됩니다. 데이터베이스 이름과 각 데이터베이스의 프라이머리 샤드가 표시됩니다.

databases:
{ "_id" : <dbname1>, "primary" : <string>, "version": <document> }
{ "_id" : <dbname2>, "primary" : <string>, "version": <document> }
...

샤딩된 컬렉션 섹션에서는 샤딩된 컬렉션의 샤딩 세부 정보에 대한 정보를 제공합니다. 각 샤딩된 컬렉션에 대해 이 섹션에는 샤드 키, 샤드당 청크 수, 샤드 간 청크 분포 [1], 샤드 키 범위에 대한 태그 정보(있는 경우)가 표시됩니다.

<dbname>.<collection>
shard key: { <shard key> : <1 or hashed> }
unique: <boolean>
balancing: <boolean>
chunks:
<shard name1> <number of chunks>
<shard name2> <number of chunks>
...
{ <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp>
{ <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp>
...
tag: <tag1> { <shard key> : <min range1> } -->> { <shard key> : <max range1> }
...
sh.status.sharding-version._id

_id는 버전 세부 사항의 식별자입니다.

sh.status.sharding-version.minCompatibleVersion

minCompatibleVersion은 config 서버의 최소 호환 버전입니다.

6.2 이전의 MongoDB 버전에서는 이 필드가 config.version 컬렉션에 포함되지만 mongosh 2.0.0 이상에서는 sh.status() 출력에 필드가 반환되지 않습니다. MongoDB 6.2부터 이 필드는 제거되며 mongosh 버전이나 다른 클라이언트 애플리케이션에서 반환되지 않습니다. 대신 버전 정보를 얻으려면 기능 호환성 버전 (fcv) 을 참조하십시오.

sh.status.sharding-version.currentVersion

currentVersion은 구성 서버의 현재 버전입니다.

6.2 이전의 MongoDB 버전에서는 이 필드가 config.version 컬렉션에 포함되지만 mongosh 2.0.0 이상에서는 sh.status() 출력에 필드가 반환되지 않습니다. MongoDB 6.2부터 이 필드는 제거되며 mongosh 버전이나 다른 클라이언트 애플리케이션에서 반환되지 않습니다. 대신 버전 정보를 얻으려면 기능 호환성 버전 (fcv) 을 참조하십시오.

sh.status.sharding-version.clusterId

clusterId는 샤딩된 클러스터의 식별자입니다.

sh.status.active-mongoses

verbosefalse인 경우 sh.status.active-mongoses는 활성 mongos 인스턴스의 버전과 개수를 나열합니다. 활성 mongos 인스턴스는 지난 60초 이내에 핑된 mongos 인스턴스입니다.

verbosetrue이면 sh.status.active-mongoses는 다음 필드를 포함하는 각 활성 mongos 인스턴스에 대한 문서를 반환합니다.

필드
데이터 유형
설명
_id
문자열
mongos 실행 중인 호스트 이름 및 포트입니다. 형식은 _id <hostname>:<port>로 지정됩니다.
advisoryHostFQDNs
문자열 배열
mongos의 정규화된 도메인 이름 (FQDN) 의 배열.
created
날짜

mongos가 시작된 시간입니다.

버전 5.2에 추가되었습니다.

mongoVersion
문자열
mongos가 실행 중인 MongoDB 버전입니다.
ping
날짜
mongos 인스턴스는 30초마다 구성 서버에 ping을 보냅니다. 이 필드는 마지막 핑 시간을 나타냅니다.
up
NumberLong
마지막 핑을 기준으로 mongos가 작동한 시간 (초) 입니다.
waiting
부울
이 필드는 항상 true이며 이전 버전과의 호환성을 위해서만 포함됩니다.
active mongoses:
{
"_id" : "<hostname:port>",
"advisoryHostFQDNs" : [ "<name>" ],
"created" : <ISODate>,
"mongoVersion" : <string>,
"ping" : <ISODate>,
"up" : <long>,
"waiting" : <boolean>
}
...
sh.status.autosplit

sh.status.autosplit 현재 자동 분할이 활성화되어 있는지 여부를 나타냅니다.

참고

MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.

6.1 이전 MongoDB 버전에서는 다음과 같습니다.

mongo sh.enableBalancing(namespace) 0}sh.disableBalancing(namespace) 메서드 및 은 자동 분할에 영향을 주지 않습니다.

sh.status.shards._id

_id는 샤드의 이름을 표시합니다.

sh.status.shards.host

host는 샤드의 호스트 위치를 표시합니다.

sh.status.shards.tags

tags에는 샤드에 대한 모든 태그가 표시됩니다. 이 필드는 샤드에 태그가 있는 경우에만 표시됩니다.

sh.status.shards.state

state 디스플레이는 다음과 같습니다.

  • 0 샤드가 샤드를 인식하지 못하는 경우.

  • 1 샤드가 샤드를 인식하는 경우.

참고

MongoDB 6.0.3부터 자동 청크 분할이 수행되지 않습니다. 이는 밸런싱 정책 개선 때문입니다. 자동 분할 명령이 여전히 존재하지만 작업을 수행하지 않습니다.

6.1 이전 MongoDB 버전에서는 다음과 같습니다.

mongo sh.enableBalancing(namespace) 0}sh.disableBalancing(namespace) 메서드 및 은 자동 분할에 영향을 주지 않습니다.

sh.status.balancer.currently-enabled

currently-enabled는 현재 샤딩된 클러스터에서 밸런서가 활성화되어 있는지 여부를 나타냅니다.

sh.status.balancer.currently-running

currently-running밸런서가 현재 실행 중인지 나타냅니다. 즉, 밸런서가 현재 클러스터의 균형을 맞추고 있는지 여부를 나타냅니다.

sh.status.balancer.collections-with-active-migrations

collections-with-active-migrations는 마이그레이션이 활성화된 컬렉션의 이름을 나열하고 마이그레이션이 시작된 시점을 지정합니다. 활성 마이그레이션이 없는 경우 이 필드는 sh.status() 출력에 나타나지 않습니다.

sh.status.balancer.failed-balancer-rounds-in-last-5-attempts

failed-balancer-rounds-in-last-5-attempts는 지난 5번의 밸런싱 시도 중 실패한 밸런서 라운드의 수를 표시합니다. 청크 마이그레이션이 실패하면 밸런서 라운드가 실패합니다.

sh.status.balancer.last-reported-error

last-reported-error는 가장 최근의 밸런서 오류 메시지를 나열합니다. 오류가 없는 경우 이 필드는 sh.status() 출력에 나타나지 않습니다.

sh.status.balancer.time-of-reported-error

time-of-reported-error 는 가장 최근에 보고된 오류의 날짜와 시간을 제공합니다.

sh.status.balancer.migration-results-for-the-last-24-hours

지난 24 시간 동안의 마이그레이션 횟수와 실패한 마이그레이션의 오류 메시지를 migration-results-for-the-last-24-hours에 표시합니다. 최근 마이그레이션이 없으면 migration-results-for-the-last-24-hours No recent migrations를 표시합니다.

migration-results-for-the-last-24-hours에는 밸런서에 의해 시작되지 않은 마이그레이션을 포함한 모든 마이그레이션이 포함됩니다.

sh.status.databases._id

_id는 데이터베이스의 이름을 표시합니다.

sh.status.databases.primary

primary는 데이터베이스의 프라이머리 샤드를 표시합니다.

sh.status.databases.version

version는 데이터베이스의 버전 정보를 표시합니다.

{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 }

where:

  • uuid 는 데이터베이스 식별자입니다.

  • lastMod 은 데이터베이스 버전입니다.

sh.status.databases.<collection>.shard-key

shard-key는 샤드 키 사양 문서를 표시합니다.

sh.status.databases.<collection>.unique

unique는 MongoDB가 샤드 키 값에 고유성을 시행하는지 여부를 표시합니다(즉, 기본 샤드 키 인덱스가 고유한지 여부).

sh.status.databases.<collection>.balancing

밸런서 가 컬렉션 의 밸런싱을 수행할 수 있는지 여부를 표시합니다. 밸런서 가 활성화되어 있고 이 상태가 true 을 반환하면 밸런서 는 이 컬렉션 을 밸런싱 작업에 포함합니다. 상태가 false 을 반환하면 밸런서 가 이 컬렉션 의 데이터 밸런싱을 수행하지 않음 을 나타냅니다.

sh.status.databases.<collection>.chunks

chunks에는 모든 샤드와 각 샤드에 있는 청크의 수가 나열됩니다.

sh.status.databases.<collection>.chunk-details

chunk-details에는 청크 [1]의 세부 정보가 나열되어 있습니다.

  • 청크를 정의하는 샤드 키 값의 범위입니다,

  • 청크가 있는 샤드와

  • 청크의 마지막 수정 타임스탬프입니다.

sh.status.databases.<collection>.tag

tag는 다양한 샤드 키 값과 연결된 태그의 세부 정보를 나열합니다.

다음도 참조하세요.

[1](1, 2) 전체 청크 수가 20개 미만인 경우 기본적으로 샤드 컬렉션 섹션에는 청크 정보가 표시됩니다. 청크가 20개 이상일 때 정보를 표시하려면 verbose 매개 변수를 true, 즉 sh.status(true)로 설정한 상태에서 sh.status() 메서드를 호출합니다.

돌아가기

sh.startBalancer

이 페이지의 내용