AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

sh.status() (mongosh 메서드)

sh.status()

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

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

Parameter
유형
설명

verbose

부울

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

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

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

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

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

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

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

출력에는 각 샤딩된 컬렉션 에 대한 데이터 분포 지표 제공하는 shardedDataDistribution 섹션도 포함됩니다. 이 데이터는 $shardedDataDistribution 집계 단계의 출력과 동일합니다.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 M0 및 Flex 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

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

--- 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> }
...

활성 인스턴스 섹션에는 mongos 기본값 mongos 으로 지난 60 초 이내에 활성 상태인 인스턴스의 버전 및 수에 대한 정보가 표시됩니다.

active mongoses:
<version> : <num>

매개 변수를 true로 설정하여 메서드를 실행 verbose 하면 활성 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>, "partitioned" : <boolean>, "version": <document> }
{ "_id" : <dbname2>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> }
...

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

<dbname>.<collection>
shard key: { <shard key> : <1 or hashed> }
unique: <boolean>
balancing: <boolean>
allowMigrations: <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> }
...

샤드 데이터 배포 섹션에는 각 샤딩된 컬렉션 에 대한 데이터 배포 정보가 표시됩니다.

shardedDataDistribution:
[
{
"ns" : "<database>.<collection>",
"shards" : [
{
"shardName" : "<shard name>",
"numOrphanedDocs" : <num>,
"numOwnedDocuments" : <num>,
"ownedSizeBytes" : <num>,
"orphanedSizeBytes" : <num>
}
]
}
]
sh.status.sharding-version._id

는 버전 세부 정보에 대한 _id 식별자입니다.

sh.status.sharding-version.minCompatibleVersion

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

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

sh.status.sharding-version.currentVersion

는 config 서버 의 현재 currentVersion 버전입니다.

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

sh.status.sharding-version.clusterId

는 샤딩된 클러스터 에 대한 clusterId ID입니다.

sh.status.active-mongoses

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

이(가) 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.automerge

AutoMerger가 활성화되어 있는지 여부를 나타냅니다.

참고

automerge 섹션은 AutoMerger를 명시적으로 활성화하거나 비활성화할 때만 나타납니다. AutoMerger는 기본적으로 활성화되어 있습니다.

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

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

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

sh.status.databases._id

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

sh.status.databases.partitioned

MongoDB 6.0 및 기능 호환성 버전(fCV) 6.0부터 partitioned 플래그는 이전 버전과의 역호환성만 유지합니다. 기본적으로 모든 데이터베이스는 partitioned 값에 관계없이 샤딩을 활성화됩니다.

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

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

sh.status.databases.<collection>.balancing

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

sh.status.databases.<collection>.allowMigrations

컬렉션에 대한 마이그레이션 허용 여부를 표시합니다. true인 경우, 컬렉션은 마이그레이션을 허용합니다. false인 경우, 컬렉션이 마이그레이션을 허용하지 않아 이 컬렉션에 대한 청크 마이그레이션이 불가능합니다. sh.enableMigrations()sh.disableMigrations()를 사용하여 이 설정을 제어합니다.

sh.status.databases.<collection>.chunks

chunks 모든 샤드와 각 샤드 에 있는 청크 수를 나열합니다.

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

chunk-details 청크 []의1 세부 정보를 나열합니다.

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

  • 청크가 있는 샤드와

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

sh.status.databases.<collection>.tag

tag은(는) 샤드 키 값 범위 와 연결된 태그의 세부 정보를 나열합니다.

sh.status.shardedDataDistribution

클러스터 의 각 샤딩된 컬렉션 에 대한 데이터 분포 지표 제공하는 문서 배열 입니다. 데이터는 $shardedDataDistribution 집계 단계의 출력과 동일합니다.

sh.status.shardedDataDistribution.ns

<database>.<collection> 형식의 샤딩된 컬렉션 의 네임스페이스 .

sh.status.shardedDataDistribution.shards

각 샤드 에 대한 데이터 분산 지표 보고하는 문서 배열 입니다.

sh.status.shardedDataDistribution.shards.shardName

샤드의 이름입니다.

sh.status.shardedDataDistribution.shards.numOrphanedDocs

샤드 에 있는 고아 문서의 수입니다.

sh.status.shardedDataDistribution.shards.numOwnedDocuments

샤드 가 소유한 문서 수입니다.

sh.status.shardedDataDistribution.shards.ownedSizeBytes

문서가 압축 해제되었을 때 샤드 가 소유한 문서의 예상 크기(바이트)입니다.

sh.status.shardedDataDistribution.shards.orphanedSizeBytes

문서가 압축 해제되어 있을 때 샤드 에 있는 고아 문서의 예상 크기(바이트)입니다.

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