|
based on v14 (2011/05/04 追従) - オリジナル MongoDBのデータベースをバックアップするにはいくつかの方法があります。 警告: データベースが稼働中、書き込みが起きているときに、mongodのファイル自体(デフォルトでは、/data/db/) をバックアップするのは安全ではありません。fsyncオプションについて、下記を参照してください。 Journaling (--journal) を有効にした場合のスナップショットバックアップjournal サブディレクトリを含む、dbpath 全体の lvm/ebs スナップショットをとるのが安全です。各時点において、全てのファイルのスナップショットがとられている限り、データベースを fsync-lock する必要はありません。しかし、journal と データファイルが互いに矛盾していないという保証は無いため、例え --journal をつけて起動していたとしても、locking やスナップショットすること無しに、単にファイルをコピーしてしまうのは安全ではありません。 シャットダウン、バックアップ単純に、データベースを停止して、データファイルをバックアップし、再開します。これは安全ですが、もちろんダウンタイムが必要です。 fsync 書き込みロックとバックアップMongoDB v1.3.1から、 書き込みのフラッシュと、データベースの書き込みロック、そしてバックアップという手段が fsync と lock コマンド でサポートされました。 このロックモードでは、すべての書き込みがブロックされます。 もしこれが問題になる場合、下記の方法を考えてください。 例えば,fsync+lockの後で、スナップショットを作成するためにLVM2を使い、そしてそのスナップショット上でバックアップを取ることができるでしょう。これは、サーバがスナップショットを取る間だけロックされることを意味します。バックアップ/スナップショットが終わった後でアンロックするのを忘れないでください。 エクスポートmongodump ユーティリティは、データベースが稼働中でも、データベース全体をdumpします。dumpしたデータは必要に応じて後でリストアができます。 スレーブバックアップもう一つのバックアップのよいテクニックは、スレーブデータベースへのレプリケーションです。 このスレーブはマスタを継続的にポーリングするので、ほぼ最新の状態のmasterのコピーになります。 スレーブにバックアップするにはいくつかの方法があります。
1と2の方法は、バックアップ終了後にレプリケーションを再開し、バックアップ中に更新されたマスタの情報を適用します。 スレーブを使った方法には、常にマスタのフェイルオーバとしてバックアップデータベースマシンに用意されている、というアドバンテージもあります。 コミュニティの成果 |

IF YOU HAVE A QUESTION, POST IT TO THE USER GROUP.
These pages are fine for comments, but for questions, your best bet will always be the MongoDB User Group. blog comments powered by Disqus