在EBS快照之前截断MongoDB oplog

时间:2017-01-19 20:42:20

标签: mongodb amazon-web-services amazon-ec2 backup

我目前有一个MongoDB(在AWS上)备份策略,涉及在一个节点上自动执行数据/日志卷的每日快照。这个过程是:

  1. fsyncLock()
  2. 触发AWS快照(并等待成功)
  3. fsyncUnlock()
  4. 更换RS成员时,我从快照启动一个新实例并将其添加到副本集。我唯一的问题是在mongo进程启动时,在新节点跳转到SECONDARY并从另一个成员的oplog重放之前,有一个很长的延迟(〜500GB数据约20-30分钟)。我在mongodb.log文件中看到的所有内容都是这样的:

    [initandlisten] Starting WiredTigerRecordStoreThread local.oplog.rs
    [initandlisten] The size storer reports that the oplog contains 659681 records totaling to 4196461664 bytes
    [initandlisten] Sampling from the oplog between Dec 20 05:29:14:2 and Jan 18 06:00:00:8 to determine where to place markers for truncation
    [initandlisten] Taking 335 samples and assuming that each section of oplog contains approximately 19672 records totaling to 125140475 bytes
    
    1. Mongo究竟在这做什么
    2. 除了确定最后一次运行时间(我启用了日记功能)之外,oplog是否在启动时(从快照)对MongoDB有用?
    3. 我可以通过在拍摄快照之前截断除最新条目之外的所有内容来解决这个问题吗?

0 个答案:

没有答案