我在MongoDB 2.2中的复制分片集群中使用了mongodump和mongorestore。获得备份并将其恢复。MongoDB。在还原时保留关于分片集合的信息
首先,我使用mongodump创建所有系统的转储,然后删除一个具体的集合并使用mongorestore将它恢复为mongodump的输出。之后,收集是正确的(它包含的数据是正确的,也是索引),但有关这个收集是否分片的信息将丢失。在丢弃它之前,这个集合被分割了。但是,恢复之后,该集合不再被分割。
我想知道是否存在保存这些信息的备份方式。我在想,可能将用于收集的分片信息保存在管理数据库中,但在转储中,admin文件夹是空的,并且使用show集合来获取此数据库,我什么也得不到。然后我认为它可以保存在元数据中,但这会很奇怪,因为我知道在元数据中存储了有关索引的信息并正确地还原了索引。
然后,我想知道是否可以使用此信息而不是mongodump + mongorestore,文件系统快照;或者可能仍然使用mongodump和mongorestore,但是会停止系统或锁定写入。我不这样做,最后的选择可能是原因,因为我没有执行写作操作,而恢复甚至不锁定它,而只是给出想法。
我也想知道是否有人完全确定是否这种功能在当前版本中仍然不可用。
任何想法?
关于分片的信息保存在配置服务器的config数据库中 - 三个专用的'mongod'实例。 – ghik 2013-02-27 23:11:35
我一直在看配置数据库中的块集合,我认为这正是我正在寻找的。但是,我试着恢复这个集合,它不起作用。我是否应该恢复整个配置数据库以使我的集合重新分区? – 2013-02-28 18:38:12
目前尚不清楚您要*拥有哪个流程。你是否试图在其他地方重新创建分片群集? – 2013-02-28 19:57:40