首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongo DB备份与恢复

Mongo DB备份与恢复
EN

Stack Overflow用户
提问于 2014-06-20 07:40:10
回答 2查看 1.3K关注 0票数 0

我有一个数据库,有150 DB的数据。Am使用MongoDump和Mongorestore方法进行备份和恢复。

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

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

有没有最好的方法来采取备份和恢复方法,这样我们就可以节省时间并运行它而不会出错?

你好,瑞西

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-03 07:14:54

您可以为本机备份和还原功能选择几个选项,这些选项在http://docs.mongodb.org/manual/administration/backup/的文档中列出得很好。

简单地说,随着数据的增长,mongodump /mongo还原对于备份/恢复的目的就变得不那么理想了,您应该开始考虑其他选项,比如:

  • 基于文件系统的快照或LVM快照(因为您使用的是EC2,这应该是非常直接的)
  • MMS备份
票数 0
EN

Stack Overflow用户

发布于 2015-02-11 05:58:19

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

创建快照:

代码语言:javascript
复制
lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb

存档快照

代码语言:javascript
复制
umount /dev/vg0/mdb-snap01
dd if=/dev/vg0/mdb-snap01 | gzip > mdb-snap01.gz

还原快照

代码语言:javascript
复制
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

直接从快照恢复

代码语言:javascript
复制
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

远程备份存储:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24322277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档