急急急急,求教,。。。各位大神,公司的 mongodb 挂了半个月没发现,现在 oplog 已经跟不上了

2018-02-06 09:55:03 +08:00
 Mrzhang0320

请教如何恢复数据,官档看了一下,说是要停止实例;或者自动全量同步; 这里大概问一下,自动全量同步 initial sync 1T 数据要多久

7784 次点击
所在节点    MongoDB
27 条回复
tvboxme
2018-02-06 15:23:27 +08:00
@Mrzhang0320 主要问题在于你家服务能不能停机,能停多久。 官网就提供了两种思路,按照你们的数据量,rsync 一份完整的存储需要多久,这个可以先自己生成一个 100G 的大文件来测试。如果网速是瓶颈,可以先在本地镜像一份,避免停机时间过长。
如果不能接受这个程度的停机,你们的服务本来也正常运行着,初始化同步是最优的,反正已经 15d 了,再同步个 2-3d 也无所谓。
goodryb
2018-02-06 16:31:45 +08:00
挂掉半个月都没出问题,我觉得还是重新全量同步比较靠谱,万一贸然停机导致预期外的故障或者损失,责任更大。
hyi
2018-02-06 23:38:30 +08:00
想问一下楼主,这是什么职位负责的啊,这是数据库问题吗
Mrzhang0320
2018-02-06 23:54:32 +08:00
@hyi 这个就说来话长了,身兼多职,测试,运维,dba ……
Mrzhang0320
2018-02-07 10:10:22 +08:00
@onion83 请问一下,你们停机复制的话 有什么好的办法可以让权限也同步过来。
pmispig
2018-02-07 10:22:20 +08:00
如果你主库有磁盘快照的话,可以直接用主库的磁盘快照启动一个从节点,加入集群就可以了
onion83
2018-02-07 12:20:09 +08:00
@Mrzhang0320 如果是直接拷贝数据文件夹,理论上权限也会带过去。

1、如果是副本集复制,有可能不会带权限。(未验证)

2、如果所有的 user 和 role 都在默认的 admin 数据库中配置,
可以尝试用 mongodump 将 admin 库导出来再用 mongoresotre 恢复。(未验证,请谨慎操作)

mongodump -h <ip> -d admin -u <user> -p <password> --authenticationDatabase admin --dumpDbUsersAndRoles

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/428790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX