0

MongoDB 2.2 のレプリケートされたシャード クラスターで mongodump と mongorestore を使用しています。バックアップを取得して復元します。

まず、mongodump を使用してすべてのシステムのダンプを作成します。次に、具体的なコレクションを削除し、mongorestore を使用して mongodump の出力を使用して復元します。その後、コレクションは正しい (含まれるデータとインデックスも正しい) が、このコレクションがシャーディングされているかどうかに関する情報は失われます。ドロップする前に、コレクションはシャーディングされました。ただし、復元後、コレクションはシャーディングされなくなりました。

この情報をバックアップに保持する方法が存在するかどうか疑問に思っていました。コレクションの断片化された情報が管理データベースに保持されている可能性があると考えていましたが、ダンプでは管理フォルダーが空であり、このデータベースのコレクションを表示しても何も得られません。次に、メタデータに保持できると思ったのですが、メタデータにはインデックスに関する情報が保存され、インデックスが正しく復元されることがわかっているため、これは奇妙です。

次に、mongodump + mongorestore の代わりにファイルシステムのスナップショットを使用して、この情報を保持できるかどうかを知りたいです。または、まだmongodumpとmongorestoreを使用しているが、システムを停止しているか、書き込みをロックしている可能性があります。ロックしていなくても復元中に書き込み操作を実行しているのではなく、アイデアを提供するためだけに、この最後のオプションが理由であるとは思いません。

また、現在のバージョンでこの機能がまだ利用できないかどうかについて、誰かが完全に確信しているかどうかも知りたい.

何か案は?

4

1 に答える 1

1

シャードされたコレクションをバックアップするために mongodump を使用している場合、本当にシャードする必要がありますか? 通常、シャードされたコレクションは非常に大きく、mongodump はそれをバックアップするのに時間がかかりすぎます。

大規模なシャード コレクションをバックアップするためにできることは、ここで説明されています。

重要な部分は、構成サーバーと各シャードをバックアップすることです。これは、バランス調整を停止した後、できるだけ「同時に」行うことです。Config DB は小さいので、とにかく頻繁にバックアップする必要があります。大きなシャードをバックアップする最善の方法は、ファイル スナップショットを使用することです。

于 2013-02-28T00:10:30.197 に答える