是什么同步两个延迟副本,它是副本集的一部分,包含在分片群集中?

时间:2014-03-28 14:26:45

标签: mongodb

请在http://postimg.org/image/krzvmep4d/

查看我的mongodb地图

同步两个延迟副本,它是副本集的一部分,包含在分片群集中?如果我的replicaset“halfs”不同步,我怎样才能使用延迟备份,因为我先关闭了我的一个生产服务器(使用db.shutdownServer()),几分钟后再关闭另一台服务器?

或者我的mongo地图不完美?在这种情况下,请解释我做错了什么。

1 个答案:

答案 0 :(得分:2)

“延迟备份”模型存在明显问题,因为延迟的辅助模式将反映每个副本集的状态,但不会反映给定时间点的分片群集的完整状态。

一个简单的例子:

  • 来自shard1 =>的chunk migration shard2正在进行中
  • 文件将在shard1和shard2上同时存在于
  • 您的“延迟备份”没有匹配的配置元数据来解释群集的状态(除非您禁用平衡器,否则它将随时间变化)

根据复制延迟的长度(您的图表提到“小时”和“周”),可能发生了对群集元数据的多次更改,并且配置数据非常不同步

虽然您将获得“数据”的延迟副本,但如果它与分片群集元数据不同步,则完整恢复的路径将重新加载(并重新分片)数据。您还必须担心解决由于正在进行的迁移而可能存在的重复文档。

有关更多信息,请参阅MongoDB文档中的Backup and Restore Sharded Cluster教程。如果您有大量数据,通常需要使用Filesystem snapshot方法创建大致的时间点备份。