Mongodb

mongoDB 需要多少可用空間?以及如何回收失去的空間?

  • April 9, 2016

我的 mongo 數據庫上的磁碟空間不足。我看到它並丟棄了一些收藏品(我有 1700 件中的 120 件)。並ran db.compact(...)認為它會釋放可用空間。好吧,那是個愚蠢的主意。

無論如何,數據庫大約是 800GB,我在目前磁碟中沒有任何空間(~5GB)。我從另一個大約 35GB 的磁碟上符號連結了一個文件夾並嘗試db.repairDatabase()(和mongod --repair --repairpath ...),但也失敗了,說空間不足。我還可以做些什麼?缺少另一個 1TB 硬碟?

為什麼連 35GB 都不夠?由於我放棄了這些收藏,我知道我應該在修復後再獲得約 50GB 的免費空間。這樣就夠了嗎?

我用於數據的分區大約有 800GB 用於 mongo。理想情況下我應該有多少可用空間?

Mongo 說我需要工作集+2GB 可用空間。但是沒有查詢正在執行並且 mongod 停止了。所以我不確定為什麼 35GB 還不夠。

這裡有兩個操作

  1. 壓縮 - 這是數據文件中數據的就地壓縮。然而,這不會釋放任何數據文件。即使認為它沒有將可用空間歸還給文件系統,mongo 也應該能夠使用該空間進行增長。

  2. 修復 - 這會將所有未使用的空間釋放回文件系統。這就是你需要的。但是,修復需要與數據庫相同的空間。因此,如果您想修復,您將需要 800GB + 幾個額外的 GB 來完成修復。

引用自:https://dba.stackexchange.com/questions/53856