バックアップ

based on v5

MongoDBのデータベースをバックアップするにはいくつかの方法があります。  警告: データベースが稼働中、書き込みが起きているときに、mongodのファイル自体(デフォルトでは、/data/db/) をバックアップするのは安全ではありません。fsyncオプションについて下記を参照してください。

fsync 書き込みロックとバックアップ

MongoDB v1.3.1から、 書き込みのフラッシュと、データベースの書き込みロック、そしてバックアップという手段が fsync and lock command でサポートされました。

このロックモードでは、すべての書き込みがブロックされます。 もしこれが問題になる場合、下記の方法を考えてください。

シャットダウン、バックアップ

単純に、データベースを停止して、データファイルをバックアップし、再開します。これは安全ですが、もちろんダウンタイムが必要です。

エキスポート

mongodump ユーティリティは、データベースが稼働中でも、データベース全体をdumpします。dumpしたデータは必要に応じて後でリストアができます。

スレーブバックアップ

もう一つのバックアップのよいテクニックは、スレーブデータベースへのレプリケーションです。  このスレーブはマスタを継続的にポーリングするので、ほぼ最新の状態のmasterのコピーになります。

スレーブにバックアップするにはいくつかの方法があります。

  1. スレーブでfsyncし、書き込みロックし、バックアップ
  2. シャットダウン、バックアップ、リスタート
  3. スレーブからエキスポート

1と2の方法は、バックアップ終了後にレプリケーションを再開し、バックアップ中に更新されたマスタの情報を適用します。

スレーブを使った方法には、常にマスタのフェイルオーバとしてバックアップデータベースマシンに用意されている、というアドバンテージもあります。
また、スレーブを使った方法は、マスターのパフォーマンスに影響を与えずにフルバックアップが取れる方法を提供します。


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

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