定義
getTransitionToDedicatedConfigServerStatus埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの移行のステータスを表示。
コマンドは、移行が失敗した場合はエラーとともに
ok: 0を返しますが、それ以外の場合はok: 1を返します。専用のコンフィギュレーションサーバーへの移行を開始するには、
startTransitionToDedicatedConfigServerコマンドを参照してください。埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの進行中の移行を停止するには、
stopTransitionToDedicatedConfigServerコマンドを参照してください。埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの移行をコミットするには、
commitTransitionToDedicatedConfigServerコマンドを参照してください。Tip
In
mongosh, this command can also be run through thesh.shardDrainingStatus()and.Helper methods are convenient for
mongoshusers, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.バージョン8.3の新機能。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
注意
This command is not supported in MongoDB Atlas. See Modify your Atlas Sharded Cluster to drain the embedded config server.
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
出力フィールド
このコマンドは、次の出力を返します。
フィールド | タイプ | 説明 |
|---|---|---|
| string | バランサーによって実行されている現在のドレイン操作を提供します。 |
| string | 専用のコンフィギュレーションサーバーへの移行のステータスを提供します。 |
| ドキュメント | 専用コンフィギュレーションサーバーに完全に移行する前に、バランサーがシャードを空にするために実行する必要がある残りのタスクを表示します。 |
| long | シャード上にまだ存在するチャンクの数を示します。 |
| long | まだシャード上にあるデータベースの数を示します。 |
| long | シャード上にまだ存在する大きなチャンクの数を示します。 |
| long | まだシャード上にあるコレクションの数を示します。 |
| long | 削除実行中のシャード上に残っているバイト数の推定値。 |
| string | ユーザーに追加のメッセージを提供します。 |
| 配列 | ドレインシャードをプライマリシャードとして使用するデータベースを示します。専用コンフィギュレーションサーバーに完全に移行する前に、 |
| 配列 | ドレイン中のシャードに保存されているシャーディングされていないコレクションを示します。専用コンフィギュレーションサーバーに完全に移行する前に、 |
| long | 削除中のシャードに残っている保留中の範囲削除の数。バランサーがすべてのチャンクとデータベースをコンフィギュレーションサーバーから移動した後の、 |
| string | 削除中のシャード上の最初の空でないコレクション。バランサーがすべてのチャンクとデータベースをコンフィギュレーションサーバーから移動した後の |
動作
アクセス要件
authorizationを有効にしている場合は、 clusterManagerロールまたはremoveShardアクションを含む任意のロールが必要です。
データベース移行要件
埋め込みコンフィギュレーションサーバーがクラスターのデータベースの 1 つのプライマリでもある場合は、シャードからすべてのデータを移行した後、データベースを新しいシャードに手動で移動する必要があります。See the movePrimary command and the シャードからクラスターを削除する for more information.
コレクション移行要件
シャーディングされていないコレクションの 1 つが 埋め込みコンフィギュレーションサーバー上にある場合は、まずそのコレクションを別のシャードに移行する必要があります。
シャーディングされていないコレクションを移行するには、moveCollection コマンドをご覧ください。
例
専用のコンフィギュレーションサーバーへの移行を開始するには、db.adminCommand() メソッドを使用して startTransitionToDedicatedConfigServer コマンドを実行する:
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
ドレイン操作のステータスを確認するには、getTransitionToDedicatedConfigServerStatus コマンドを使用します。
db.adminCommand( { getTransitionToDedicatedConfigServerStatus: 1 } )
{ "state" : "ongoing", "remaining" : { "chunks" : NumberLong(2), "collectionsToMove" : NumberLong(1), "dbs" : NumberLong(1), "jumboChunks" : NumberLong(0), "estimatedRemainingBytes" : NumberLong(18) }, "msg" : "draining ongoing", "dbsToMove" : [ "testDB" ], "note" : "you need to call moveCollection for collectionsToMove and afterwards movePrimary for the dbsToMove", "collectionsToMove" : [ "testDB.testCollUnsharded" ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1772210444, 27), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }, "operationTime" : Timestamp(1772210444, 27) }