自己管理型シャーディングされたクラスターのスケジュール バックアップ ウィンドウ
Overview
の シャーディングされたクラスターでは、バランサー プロセスがクラスター全体にシャーディングされたデータを分散する役割を果たします。これにより、各シャードのデータ量はほぼ同じになります。
ただし、シャーディングされたクラスターからバックアップを作成する場合は、バックアップを取得している間にバランサーを無効にして、チャンクの移行がバックアップ手順によってキャプチャされたバックアップの内容に影響を与えないようにすることが重要です。
注意
バランサーを無効にするのは、 を呼び出すか、特定の時間に呼び出すタスクをスケジュールして、バックアップを 手動でmongodump
mongodump
取得する場合にのみ必要です。
協調したバックアップと復元のプロセスを使用する場合、バランサーを無効にする必要はありません。
「 バランサーを無効にする 」セクションに記載されている手順を使用して、バランサー プロセスを一時的に手動で停止できます。 あるいは、次の手順でバランシング ウィンドウを定義し、自動バックアップ操作中にバランサーが常に無効になるようにすることもできます。
Tip
mongodump
とmongorestore
をシャーディングされたクラスターのバックアップ戦略として使用するには、「データベース ダンプを使用した自己管理型シャーディングされたクラスターのバックアップ 」を参照してください。
シャーディングされたクラスターではバックアップと復元に次のいずれかの連携的なプロセスも利用できます。これによりシャード間のトランザクションはアトミック性が継続的に保証されます。
手順
自動バックアップ スケジュールの場合は、すべてのバランシング操作を一定期間無効にできます。 例えば、次のコマンドについて考えてみます。
use config db.settings.updateOne( { _id : "balancer" }, { $set : { activeWindow : { start : "06:00", stop : "23:00" } } }, true )
この操作では、バランサーがサーバー時間の午前 6 時から午前 11 時 00 分の間で実行されるように構成されます。 バックアップ操作はこの時間外で実行、完了するようにスケジュールします。 バランサーが実行中にバックアップがウィンドウ外で完了すること、およびバランサーがそれぞれに割り当てられたウィンドウのシャード間でコレクションを効果的に分散できることを確認します。