首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在切分设置中修复副本数据库

在切分设置中修复副本数据库
EN

Database Administration用户
提问于 2014-11-20 05:39:16
回答 1查看 843关注 0票数 0

我在我的数据库中使用芒果切分。我面临的情况是,我已经删除了数据库中的一些集合。但是对于回收空间,我需要运行修复选项,这是我不能运行的,在生产中使用Mongos。所以我的计划是一个接一个地对每个副本服务器进行修复,方法是将主服务器切换到副本,反之亦然,这样生产系统才能正常工作。在这里,我有两个困惑:

  1. 这是修复DB的正确方法吗?
  2. 我有一个庞大的数据库,比如1TB的数据,所以修复选项可能需要一两天--在本例中,我的问题是,我的应用程序为那天创建了分片DB桶,因此当在一个副本服务器上运行修复时,配置中的元数据将被更新,这在本例中是一个错误。
  3. 在从集群中删除一些旧数据库时,我停止了平衡器,并在删除后重新启动它,但是DB仍未被完全删除,它显示的是使用的2或3 GB内存空间。我检查剩余的DB,它在其中没有显示任何集合。
EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-11-20 09:12:20

在我看来,如果您的碎片不超过15-20%,则不值得这样做(除非磁盘空间不足)。我要做的是:

1)为每个副本集添加一个仲裁器(可选)

2)关闭一个次要文件并删除数据目录

3)启动辅助程序,并让它执行初始同步,以消除碎片

(此时,您可以评估磁盘价值的增益是否继续)

4)当中学追上来时,下一个中学也要这样做

5)当所有的中学毕业后,请在x-小学上下课,并在x-小学做同样的事。

6)撤销仲裁者

重要事项:您的oplog大小必须能够在初始同步期间保持所有操作。否则,您将需要调整它的大小(如果您选择修复选项,同样适用)

对于第二个问题,复制集成员不包含任何元数据。如果大多数复制集总是可用的,那么您将不会面临任何问题。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/83128

复制
相关文章

相似问题

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