簡體   English   中英

如何為單節點設置獲取一致的MongoDB備份

[英]How to get a consistent MongoDB backup for a single node setup

我在一個非常簡單的設置中使用MongoDB,需要一致的備份策略。 我發現將mongodump包裝在鎖定/解鎖中的困難方法是一個壞主意。 然后我讀到--oplog選項應該能夠提供一致性而無需鎖定/解鎖。 但是,當我嘗試這個時,它說我只能在“完全轉儲”上使用--oplog選項。 我已經開始討論文檔和大量文章,但似乎還不清楚如何從單個時間點轉儲mongo數據庫。

現在我只是進行正常的轉儲,但我假設如果轉儲期間有寫入,那么備份不會來自單個時間點,對嗎?

mongodump -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE -o ./${EXPORT_FILE} -u backup -p password --authenticationDatabase admin

在生產環境中,MongoDB通常作為副本集部署,以確保冗余和高可用性。 如果您運行的是獨立的mongod實例,則有一些選項可用於即時備份。

您提到的一個選項是使用-oplog選項執行mongodump。 但是,此選項僅在運行副本集時可用。 您可以輕松地將獨立的mongod實例轉換為單個節點副本集,而無需添加任何新的副本集成員。 有關詳細信息,請查看以下文檔。

http://docs.mongodb.org/manual/tutorial/convert-standalone-to-replica-set/

這樣,如果在mongodump運行時有寫入,它們將成為備份的一部分。 請參閱以下鏈接中的“使用Oplogs進行時間點操作”部分。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-binary-database-dumps/#point-in-time-operation-using-oplogs

請注意,使用mongodump和mongorestore備份和恢復MongodDB可能會很慢。

文件系統快照是另一種選擇。 以下鏈接中的信息詳細說明了用於執行MongoDB熱備份的兩個快照選項。

http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/

您還可以查看MongoDB備份服務。

http://www.10gen.com/products/mongodb-backup-service

此外,具有oplog選項的mongodump目前不適用於單個db / collection。 有計划實施該功能。 您可以關注故障單並在“更多操作”按鈕下為該功能投票。

https://jira.mongodb.org/browse/SERVER-4273

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM