定義
埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの移行を開始します。
コマンドの実行時に、バランサーに専用のコンフィギュレーションサーバーへの移行を開始するように指示します。非同期に、バランサーはシャードからクラスター内の他のシャードへのチャンクの移動を開始します。バランサーがこのプロセスを完了し、シャーディングされていないコレクションを別のシャードに手動で移行した後は、データが含まれなくなるため、クラスターから安全に削除できます。詳しくは、moveCollection コマンドを参照してください。
注意
startTransitionToDedicatedConfigServer埋め込みコンフィギュレーションサーバーシャードからチャンクを移動するには、 のバランサーを有効にする必要があります。バランサーを無効にすると、チャンクは移行されず、getTransitionToDedicatedConfigServerStatus はシャード上の残りの作業を引き続き報告します。
このコマンドは、移行が失敗した場合はエラーを返し、そうでない場合は ok を返します。
埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの進行中の移行を停止するには、stopTransitionToDedicatedConfigServer コマンドを参照してください。
埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの移行のステータスを表示するには、getTransitionToDedicatedConfigServerStatus コマンドを参照してください。
埋め込みコンフィギュレーションサーバーから専用コンフィギュレーションサーバーへの移行をコミットするには、commitTransitionToDedicatedConfigServer コマンドを参照してください。
バージョン8.3の新機能。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
注意
このコマンドは MongoDB Atlasではサポートされていません。 「 Atlasシャードクラスタを変更して 、埋め込みコンフィギュレーションサーバーを空にする」を参照してください。
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )
動作
アクセス要件
authorizationを有効にしている場合は、 clusterManagerロールまたはremoveShardアクションを含む任意のロールが必要です。
シャードドレイン中にクラスターのバックアップがありません
移行を開始している間は、 クラスターをバックアップすることはできません。
データベース移行要件
埋め込みコンフィギュレーションサーバーがクラスターのデータベースの 1 つのプライマリでもある場合は、シャードからすべてのデータを移行した後、データベースを新しいシャードに手動で移動する必要があります。詳細については、movePrimary コマンドとシャードクラスタからシャードを削除する を参照してください。
コレクション移行要件
シャーディングされていないコレクションの 1 つが 埋め込みコンフィギュレーションサーバー上にある場合は、まずそのコレクションを別のシャードに移行する必要があります。
シャーディングされていないコレクションを移行するには、moveCollection コマンドをご覧ください。
チャンク バランシング
専用コンフィギュレーションサーバーに移行し、クラスターのチャンク分布が不均一になると、バランサーはまずドレインシャードからチャンクを削除し、次に残りの不均一なチャンク分布のバランスをとります。
書込み保証 (write concern)
"majority"は、 mongosコマンドの書込み保証(write concern)を に変換します。startTransitionToDedicatedConfigServer
変更ストリーム
埋め込みコンフィギュレーションサーバーを空にすると、開いている変更ストリームのカーソルが閉じてしまい、閉じた変更ストリームのカーソルが完全に再開できなくなることがあります。
DDL 操作
startTransitionToDedicatedConfigServerクラスターが DDL操作(reshardCollection などのコレクションを変更する操作)を実行しているときに を実行した場合、トランザクションは同時 DDL操作が完了した後にのみ実行されます。
例
移行を開始するには、db.adminCommand() メソッドを使用します。
db.adminCommand( { startTransitionToDedicatedConfigServer: 1 } )