移行検証子による検証
Migration Verifier は、ソースクラスターと宛先クラスターに接続し、ドキュメント、ビュー、インデックスを比較して同期が成功したことを確認する一連の検証チェックを実行します。
他の検証方法と違い、移行検証ツールは mongosync
と同時に実行でき、同期ごとに宛先クラスター上のドキュメントをチェックします。 これにより、アプリケーションの負荷をソースクラスターから宛先クラスターに転送する前に、同期の成功を確認するために必要な時間を短縮できます。
このタスクについて
注意
Migration Verifier は DDL 操作をサポートしていません。 Migration Verifier でデータを検証している間は、ソースクラスターで DDL 操作を実行しないでください。
Migration Verifier は実験的なツールであり、サポートされていないツールです。
インストール手順と使用制限については、 GitHub を参照してください。
手順
同期クラスター
mongosync
を使用してソースクラスターと宛先クラスターを同期します。 詳しくは、「 Cluster-to-Cluster Sync クイックスタート 」を参照してください。
mongosync
が CEA に達するのを待ちます
Migration Verifier による検証チェックを開始する前に、 mongosync
が 変更イベント アプリケーション(CEA)フェーズに達するまで待つ必要があります。
mongosync
が CEA フェーズに達したことを確認するには、 /progressコマンドを送信し、 progress.info
フィールドがchange event application
を返すことを確認します。
curl localhost:27182/api/v1/progress -XGET
{ "progress": { "state":"RUNNING", "canCommit":true, "canWrite":false, "info":"change event application", "lagTimeSeconds":0, "collectionCopy": { "estimatedTotalBytes":694, "estimatedCopiedBytes":694 }, "directionMapping": { "Source":"cluster0: localhost:27017", "Destination":"cluster1: localhost:27018" } } }
進行状況の確認
結果を表示するには、cURL を使用してprogress
コマンドを移行検証子に送信します。
curl -H "Content-Type: application/json" \ -X GET http://127.0.0.1:27020/api/v1/progress
{ "progress": { "phase": "idle", "error": null, "verificationStatus": { "totalTasks": 1, "addedTasks": 0, "processingTasks": 0, "failedTasks": 0, "completedTasks": 0, "metadataMismatchTasks": 0, "recheckTasks": 0 } } }
phase
フィールドがidle
の場合、検証チェックは完了します。 failedTasks
フィールドが 0 を返す場合、同期は成功しました。