2017-10-03 8 views
0

mongodumpを実行しても、1秒あたりの書き込み回数が多いサーバでは安全ですか?このように破損したダンプを実行することは可能ですか?バックアップは一貫性のあるデータの状態を反映していることを保証するために、mongodump操作中に入ってくる書き込み操作をキャプチャするために使用--oplog書き込み時のモンゴダンプ

hereから

データベースダンプの書き込み回数にかかわらず、一貫性がありますか?

1AMでmongodump --oplogを実行して2AMで終了した場合、mongorestore --oplogReplayはどの状態になるのですか?

hereより:

しかし、バックアップ戦略としてmongodumpmongorestoreの使用は、かけら、クラスタとレプリカ・セットの問題となり得ます。

なぜですか?私はレプリカが1プライマリと2セカンダリのセットを持っていた。二次的なものに対してmongodumpを実行するには何の問題がありますか?プライマリと同じにする必要があります(レプリケーションの遅延差を除く)。

答えて

1

docsはそれについて非常に明確である:

--oplog

はmongodumpの出力の一部としてoplog.bsonという名前のファイルを作成します。出力ディレクトリの最上位にあるoplog.bsonファイルには、mongodump操作中に発生するoplogエントリが含まれています。このファイルは、mongodインスタンスの状態の有効なポイントインタイムスナップショットを提供します。特定のポイントインタイムバックアップにリストアするには、このオプションで作成した出力をmongorestore --oplogReplayと組み合わせて使用​​します。

--oplogがないと、ダンプ操作中に書き込み操作があると、ダンプは一瞬の時間を反映しません。更新プロセス中にデータベースに加えられた変更は、バックアップの出力に影響する可能性があります。

--oplogは、mongosインスタンスに対してmongodumpを実行して、シャードされたクラスタの内容全体をダンプしても効果がありません。ただし、--oplogを使用して個々のシャードをダンプすることができます。 1 AMと2 AMの間で行わ書き込みの一部が欠落します -

--oplogがなければ、あなたはまだ有効なダンプ、ちょうど少し矛盾を取得します。

--oplogには、午前2時にキャプチャされたoplogファイルがあります。ダンプは矛盾したままで、復元時にoplogを再生することでこの問題が解決されます。

シャードされたクラスタをダンプする問題は、dedicated page in the docsに相当します。基本的にあるため、すべてのノードのバックアップを同期させるための複雑さの:

シャードクラスタのバックアップを作成するには、、クラスタバランサを停止する構成データベースのバックアップを取り、その後に各シャードのバックアップを取りますクラスタ mongodumpを使用してバックアップデータをキャプチャします。より正確なシステムの瞬間スナップショットを取得するには、ファイルシステムのスナップショットを作成する前に、すべてのアプリケーション書き込みを停止する必要があります。それ以外の場合、スナップショットは瞬時に近づくだけです。

レプリカセットをダンプする際に問題はありません。

関連する問題