我在我的数据库中使用芒果切分。我面临的情况是,我已经删除了数据库中的一些集合。但是对于回收空间,我需要运行修复选项,这是我不能运行的,在生产中使用Mongos。所以我的计划是一个接一个地对每个副本服务器进行修复,方法是将主服务器切换到副本,反之亦然,这样生产系统才能正常工作。在这里,我有两个困惑:
发布于 2014-11-20 01:12:20
在我看来,如果您的碎片不超过15-20%,则不值得这样做(除非磁盘空间不足)。我要做的是:
1)为每个副本集添加一个仲裁器(可选)
2)关闭一个次要文件并删除数据目录
3)启动辅助程序,并让它执行初始同步,以消除碎片
(此时,您可以评估磁盘价值的增益是否继续)
4)当中学追上来时,下一个中学也要这样做
5)当所有的中学毕业后,请在x-小学上下课,并在x-小学做同样的事。
6)撤销仲裁者
重要事项:您的oplog大小必须能够在初始同步期间保持所有操作。否则,您将需要调整它的大小(如果您选择修复选项,同样适用)
对于第二个问题,复制集成员不包含任何元数据。如果大多数复制集总是可用的,那么您将不会面临任何问题。
https://dba.stackexchange.com/questions/83128
复制相似问题