mongo備份索引 MogoDB 備份方法

2021-10-12 19:43:07 字數 3664 閱讀 1127

本次我們將給大家介紹下方幾個mongodb備份方法。

當在生產環境中部署 mongodb 時,應該制定一種策略,以備在發生資料丟失事件時捕獲和還原備份。

mongodb 官方雲服務 mongodb atlas 提供2種完全託管的備份方法

連續備份,它對群集中的資料進行增量備份,從而確保備份通常僅比作業系統落後幾秒鐘。利用 atlas 連續備份,您可以從儲存的快照或最近24小時內的選定時間點還原。您還可以查詢連續備份快照。

雲提供商快照,使用集群的雲服務提供商的原生快照功能提供的本地化的備份儲存。

mongodb cloud manager 是針對 mongodb 的託管備份,監控和自動化服務。mongodb cloud manager 支援使用者在圖形化介面操作備份和還原 mongodb 副本集和分片集群。

mongodb cloud manager 支援 mongodb 部署的備份和恢復

通過從 mongodb 部署中讀取操作日誌資料,mongodb cloud manager 持續備份 mongodb 副本集和分片群集。mongodb cloud manager 會按設定的時間間隔建立資料快照,還可以提供 mongodb 副本集和分片群集的時間點恢復。

使用其他 mongodb 備份方法很難實現分片群集快照。

開始使用 mongodb cloud manager 備份之前,請註冊 mongodb cloud manager。有關 mongodb cloud manager 的文件,請參閱 mongodb cloud manager 的文件。

借助 ops manager,mongodb 使用者可以在自己的基礎架構上安裝和執行驅動 mongodb cloud manager 的相同核心軟體。ops manager 是一種本地解決方案,具有與 mongodb cloud manager 相似的功能,可與訂閱的企業版高階功能一起使用。

有關更多 ops manager,請看mongodb 企業版高階高階功能 和 ops manager 操作手冊.

使用 aes256-gcm 的加密儲存引擎的注意事項

對於使用aes256-gcm加密模式的加密儲存引擎,aes256-gcm 要求每個程序都使用唯一的計數器塊值和金鑰。

對於配置了aes256-gcm密碼加密儲存引擎:

您可以通過複製mongodb的基礎資料檔案來建立mongodb部署的備份。

如果 mongodb 儲存資料檔案的卷支援時間點快照,則可以使用這些快照在確切的時間建立 mongodb 系統的備份。檔案系統快照是作業系統卷管理器功能,並非特定於 mongodb。借助檔案系統快照,作業系統可以獲取卷的快照以用作資料備份的基準。快照的機制取決於基礎儲存系統。例如,在 linux 上,邏輯卷管理器(lvm)可以建立快照。同樣,amazon 的 ec2 ebs 儲存系統支援快照。

要獲取正在執行的 mongod 程序的正確快照,您必須啟用日記功能,並且日記必須與其他mongodb 資料檔案位於同一邏輯卷上。如果未啟用日記功能,則無法保證快照將保持一致或有效。

要獲得分片群集的一致快照,必須禁用平衡器並在大約同一時間從每個分片以及配置伺服器捕獲快照。

如果儲存系統不支援快照,可以直接使用cp,rsync或類似的工具拷貝檔案。由於複製多個檔案不是原子操作,因此必須mongod在複製檔案之前停止對的所有寫操作。否則,您將以無效狀態複製檔案。

通過複製基礎資料生成的備份不支援副本集的時間點恢復,並且對於較大的分片群集很難管理。此外,這些備份更大,因為它們包括索引以及重複的基礎儲存填充和碎片。mongodump相反,建立的備份較小。

mongodump從 mongodb 資料庫讀取資料,並建立高保真 bson 檔案,該mongorestore工具可用於填充 mongodb 資料庫。mongodumpmongorestore是用於備份和還原小型 mongodb 部署的簡單高效的工具,但是對於捕獲大型系統的備份而言並不是理想的選擇。

mongodumpmongorestore針對正在執行的mongod程序進行操作,並且可以直接操作基礎資料檔案。預設情況下,mongodump不捕獲本地資料庫的內容。

mongodump僅捕獲資料庫中的文件。生成的備份是節省空間的,但是mongorestoremongod恢復資料後,必須重建索引。

當連線乙個 mongodb 例項時,mongodump可能會對mongod的效能產生不利影響。如果您的資料大於系統記憶體,則查詢會將工作集推出記憶體,從而導致頁面錯誤。

應用程式可以在mongodump捕獲輸出的同時繼續修改資料,對於副本集,當進行mongodump操作時,mongodump提供--oplog選項來包括它輸出的oplog 實體。這允許響應的mongorestore恢復捕獲的 oplog。要恢復建立時帶了--oplog選項的備份,進行mongorestore操作是需要有--oplogreplay選項。

但是對於副本集,請考慮使用 mongodb cloud manager 或 ops manager。

注意!mongodumpmongorestore不能作為正在進行分片事務的4.2+版本分片群集的備份策略的一部分,因為使用建立的備份不會保持跨分片事務的原子性保證。

有關更多資訊請參閱back up and restore with mongodb tools 和 back up a sharded cluster with database dumps

譯者:謝偉成mongodb中文社群翻譯小組成員

往期翻譯:

the mongo shell

mongodb crud操作

事務

索引

安全

—— 配置審計

—— 配置審計過濾器

—— 系統事件審計訊息

複製

分片

管理

儲存

—— wiredtiger儲存引擎

—— 記憶體儲存引擎

喜歡我們,

分享、點讚、在看三連哦~

mongo 備份恢復

在mongo2.2.2版本中,mongodump的collections檔案,會同步生成乙個metadata.json檔案。這與之前的版本不同。目前檢視到的該json檔案中只包含了索引資訊。該資訊在mongorestore時會使用到,恢復完畢資料後,會建立索引。但該json檔案中不包含分片資訊,所以...

mongo索引命令

mongodb全新建立索引使用ensureindex 方法,對於已存在的索引可以使用reindex 進行重建。1.1 建立索引ensureindex mongodb建立索引使用ensureindex 方法。語法結構 db.collection name.ensureindex keys option...

Mongo索引優化

單索引 復合索引 復合索引必須完全按照建索引的順序來查 db.events.createindex 只能利用username 1的排序 db.events.find sort 完全無法利用索引 db.events.find sort 多key索引 針對資料型別為陣列的情況來建立索引 unique 用...