【问题标题】:Mongo DB Backup & restoreMongodb备份和恢复
【发布时间】:2014-08-10 22:00:21
【问题描述】:

我有一个包含 150GB 数据的数据库。我正在使用 MongoDump 和 Mongorestore 方法来备份和恢复。

我的生产服务器使用 Mongo 2.2 运行,测试服务器使用 2.6.1

当我从生产服务器 Mongo2.2 备份时,需要很长时间才能完成 150GB 数据的备份。恢复需要 6-8 小时。它没有正确完成,有时会自动删除还原,我们需要再次运行还原或还原错过的集合。

有没有最好的备份和恢复方法,我们可以节省时间并在没有错误的情况下运行它?

问候, 里士

【问题讨论】:

  • 您应该在 dba.stackexchange.com 上询问

标签: mongodb


【解决方案1】:

您可以使用几个选项来实现本机备份和恢复功能,这些选项在 http://docs.mongodb.org/manual/administration/backup/ 的文档中列出得非常好。

总结一下,随着数据的增长,mongodump / mongorestore 对于备份/恢复目的变得不太理想,您应该开始考虑其他选项,例如:

  • 基于文件系统的快照或 LVM 快照(由于您在 EC2 中,这应该相当简单)
  • 彩信备份

【讨论】:

    【解决方案2】:

    最好的方法是在 Linux 系统上使用 LVM 备份和恢复

    创建快照:

    lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb
    

    存档快照

    umount /dev/vg0/mdb-snap01
    dd if=/dev/vg0/mdb-snap01 | gzip > mdb-snap01.gz
    

    恢复快照

    lvcreate --size 1G --name mdb-new vg0
    gzip -d -c mdb-snap01.gz | dd of=/dev/vg0/mdb-new
    mount /dev/vg0/mdb-new /srv/mongodb
    

    直接从快照恢复

    umount /dev/vg0/mdb-snap01
    lvcreate --size 1G --name mdb-new vg0
    dd if=/dev/vg0/mdb-snap01 of=/dev/vg0/mdb-new
    mount /dev/vg0/mdb-new /srv/mongodb
    

    远程备份存储:

    umount /dev/vg0/mdb-snap01
    dd if=/dev/vg0/mdb-snap01 | ssh username@example.com gzip > /opt/backup/mdb-snap01.gz
    lvcreate --size 1G --name mdb-new vg0
    ssh username@example.com gzip -d -c /opt/backup/mdb-snap01.gz | dd of=/dev/vg0/mdb-new
    mount /dev/vg0/mdb-new /srv/mongodb
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2021-03-09
      • 2012-01-14
      • 2011-07-02
      相关资源
      最近更新 更多