【问题标题】:What is the good strategy to backup mongodb's data without locking it (fsync & lock)?备份 mongodb 数据而不锁定(fsync & lock)的好策略是什么?
【发布时间】:2012-09-21 09:45:54
【问题描述】:

我们只有一个 AWS EC2 上运行 mongodb(没有主从,没有副本集)。数据文件存储在单独的 EBS 卷中。那么,在不锁定写入(同步和锁定)的情况下备份和恢复数据的最佳方法是什么?还是必须要有主从才能实现?

【问题讨论】:

    标签: mongodb amazon-ec2 backup amazon-ebs database


    【解决方案1】:

    只要您启用了日志记录(MongoDB 2.0+ 中的默认设置),您就可以利用 EBS 快照 获得一致的数据文件转储,而无需 fSyncLock()

    这在 MongoDB 网站上的 EC2 Backup & Restore 文档中有更详细的介绍。

    【讨论】:

    • 谢谢。顺便说一句,在执行 ebs 快照时,我仍然对 db 性能有些担心。对性能影响大吗?如果是,有没有更好的解决方案?
    • 根据我的经验,EBS 性能总体上是不一致的,但 EBS 快照是 Amazon Web Services 支持的时间点备份策略。实际影响将根据您的系统利用率、文件系统、数据目录的大小、快照的频率和 EBS 的天气模式而有所不同:)。
    • 至于替代方案,MongoDB Backup and Restoration Strategies 中有很好的概述。值得考虑使用副本集,因为您将拥有具有完整数据备份的热备份,并且与单个服务器相比还有其他管理优势。例如,您可以在不影响主服务器的情况下从辅助服务器进行备份。您还可以在其他可用区域中拥有节点以进行故障转移。副本集不能替代存档备份策略,但可以作为很好的补充。
    【解决方案2】:

    在 MongoDirector.com,我们使用 LVM 快照来备份我们的 MongoDB 数据库。随着您的数据库大小变大,它确实是唯一的选择。如果您使用 MongoDump 并尝试使用 MongoRestore 进行恢复,则可能需要数小时。在 2.0+ 中,fsyncLock() 是可选的,但无论如何我们都会这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2012-02-15
      • 2011-09-22
      • 1970-01-01
      • 2017-05-20
      相关资源
      最近更新 更多