Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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 つのプライマリでもある場合は、シャードからすべてのデータを移行した後、データベースを新しいシャードに手動で移動する必要があります。See the movePrimary command and the シャードからクラスターを削除する for more information.

シャーディングされていないコレクションは、個々のシャードに保存されます。これらのコレクションの 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

項目一覧