2015-03-19 57 views
0

我的公司正在使用mongoDB作爲數據庫。
目前我們正在編寫添加分片的腳本,一旦磁盤值增加超過70%。在MongoDB中添加碎片不會減少輔助磁盤大小

它工作正常,並在70%的閾值達到後添加一個額外的碎片。
問題是,當我們添加分片時,舊分片的文件大小也沒有像mongo文檔中提到的那樣得到降低。
所以我們連接到mongos並執行db.repairDatabase,它工作正常並減少了舊分片的文件大小。

我們面臨的最大問題是修復數據庫命令只收縮主分片的存儲,而不是次分片。

我們需要縮小輔助碎片以及自動化。

是否有任何縮小mongoDB輔助節點的命令?
我們不想做resynch它:是一個過於冗長而枯燥的工作...

+0

堆棧溢出僅用於編程相關主題。有關數據庫管理和配置的問題,請在[dba.stackechange.com](http://dba.stackechange.com)上詢問,而不是在這裏,這是發佈此類問題最合適的地方。 – 2015-03-19 09:47:30

+0

修復了一些語法和格式。刪除了無關的謝意。 – 2015-03-19 10:02:46

回答

1

文件大小,一旦分配,不會下降 - 該空間將被Mongo重新使用,如果你的碎片繼續增長。所以,如果你真的想要獲得磁盤空間,那麼repairDatabase是最好的選擇。您可以將副本從副本集中移出,運行repairDatabase並將其重新帶回副本集。