Backup

local.oplog.rs 是否保存 mongodb 複製中的所有數據?

  • December 9, 2019

我正在嘗試進行完整備份和增量備份,我想知道 local.oplog.rs 集合contain all info that I need是否可以進行備份和增量備份?

MongoDB oplog 是一個特殊的上限集合,包括用於複製的所有數據。單獨的 oplog 僅包含數據更改的冪等日誌。您可以將 oplog 用於副本集的增量備份和時間點恢復,但請注意,oplog 備份僅適用於具有公共 oplog 條目的同一副本集的現有完整數據備份。

如果您想oplog.rs獨立於您必須使用的其餘數據文件來備份集合mongodump,這可能會對生產部署產生重大影響,因為所有 oplog 數據都需要讀取到記憶體中mongodump。該oplog.rs集合還有一個關於索引的特殊警告:它被設計為按$natural順序掃描,不支持添加任何索引。

生產系統的典型增量備份方法是使用文件系統快照,假設您的部署(和文件系統)滿足一致備份的要求。文件系統快照擷取自上次快照以來的更改,因此在第一個快照之後是增量的。持續快照對主動部署的影響不如mongodump.

另一種常見的方法是使用基於代理的備份(例如,MongoDB Cloud Manager 或 MongoDB Ops Manager)。基於代理的方法通常也使用 oplog 進行實時備份。有關一些背景資訊,請參閱Cloud Manager 備份準備

MongoDB 手冊是您的 MongoDB 伺服器版本支持的備份方法的最佳參考。僅使用 oplog 進行備份mongodump不是推薦的(或記錄在案的)備份方法。

引用自:https://dba.stackexchange.com/questions/255001