Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

shardDrainingStatus(データベースコマンド)

shardDrainingStatus

バランサーがまだチャンクをクラスター内の他のシャードに移動しているか、プロセスが完了しているかにかかわらず、ドレインシャードのステータスを表示します。

コマンドは、シャードが存在しない場合はエラーを返し、そうでない場合はドレイン操作のステータスを返します。

シャードのドレインを開始するには、startShardDraining コマンドを参照してください。

シャードのドレインを停止するには、stopShardDraining コマンドを参照してください。

ドレイン シャードを削除するには、commitShardRemoval コマンドを参照してください。

バージョン8.3の新機能

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

注意

このコマンドは MongoDB Atlasではサポートされていません。See Atlas クラスターからシャードを追加または削除するには、「Atlasシャードクラスタの変更」を参照してください。

このコマンドの構文は、次のとおりです。

db.adminCommand( {
shardDrainingStatus: <shard>
} )

このコマンドは、次の出力を返します。

フィールド
タイプ
説明

msg

string

バランサーによって実行されている現在のドレイン操作を提供します。

state

string

ドレイン操作のステータスを提供します。

shard

string

ドレインシャードを示します。

remaining

ドキュメント

シャードを空にするためにバランサーが実行する必要がある残りのタスクを表示します。

remaining.chunks

long

シャード上にまだ存在するチャンクの数を示します。

remaining.dbs

long

まだシャード上にあるデータベースの数を示します。

remaining.jumboChunks

long

シャード上にまだ存在する大きなチャンクの数を示します。

remaining.collectionsToMove

long

まだシャード上にあるコレクションの数を示します。

note

string

ユーザーに追加のメッセージを提供します。

dbsToMove

配列

ドレインシャード をプライマリシャードとして使用するデータベースを示します。クラスターからシャードを削除する前に、movePrimary コマンドを使用してこれらのデータベースを新しいシャードに手動で移動する必要があります。

collectionsToMove

配列

ドレインされていないコレクションを示します。クラスターからシャードを削除する前に、 コマンドを使用してこれらのコレクションを別のシャードに手動で移動する必要があります。moveCollection

authorizationを有効にしている場合は、 clusterManagerロールまたはremoveShardアクションを含む任意のロールが必要です。

シャーディングされたクラスター内の各データベースにはプライマリシャードがあります。ドレインするシャードが、クラスターのデータベースの 1 つのプライマリでもある場合は、シャードからすべてのデータを移行した後、データベースを新しいシャードに手動で移動する必要があります。詳細については、movePrimary コマンドとシャードクラスタからシャードを削除する を参照してください。

シャーディングされていないコレクションは、個々のシャードに保存されます。これらのコレクションの 1 つが削除するシャード上にある場合は、まずそのコレクションを別のシャードに移行する必要があります。

シャーディングされていないコレクションを移行するには、moveCollection コマンドをご覧ください。

シャードのドレインを開始するには、db.adminCommand() メソッドを使用してstartShardDraining コマンドを実行します。

db.adminCommand( { startShardDraining: "shard04" } )

ドレイン操作のステータスを確認するには、shardDrainingStatus コマンドを使用します。

db.adminCommand( { shardDrainingStatus: "shard04" } )
{
msg: "draining ongoing",
state: "ongoing",
remaining: {
chunks: Long(2),
dbs: Long(2),
jumboChunks: Long(0),
collectionsToMove: Long(2)
},
shard: "shard04",
note: "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove",
dbsToMove: [
"fizz",
"buzz"
],
collectionsToMove: [
"fizz.coll1",
"buzz.coll1"
],
ok: 1,
operationTime: Timestamp(1575399086, 1655),
$clusterTime: {
clusterTime: Timestamp(1575399086, 1655),
signature: {
hash: BinData(0,"XBrTmjMMe82fUtVLRm13GBVtRE8="),
keyId: Long("6766255701040824328")
}
}
}

戻る

shardCollection

項目一覧