Disk-Space-Utilization
Mongodb 本地數據庫文件大小/數量爆炸式增長
我的分片有三個副本集,但我注意到每個副本集節點上的本地數據庫都生成了很多 local.* 數據文件。mongodb 儲存數據文件的磁碟大小約為 50G,但 local.* 數據文件佔用 22G。實際數據根本不需要 1 GB(目前)。我閱讀了Excessive Disk Space文章,其中指出 local-db 最多只能佔用 5% 的磁碟空間。
我仍然不知道是否應該設置
--oplogSize
、-fallocate
或--noprealloc
開關,以及它如何影響其他複製的數據庫。# ll mongo -h total 23G -rw------- 1 mongod mongod 64M Mar 26 10:20 test.0 -rw------- 1 mongod mongod 128M Mar 1 14:03 test.1 -rw------- 1 mongod mongod 16M Mar 26 10:19 test.ns -rw------- 1 mongod mongod 64M Mar 26 10:20 production.0 -rw------- 1 mongod mongod 128M Feb 29 18:28 production.1 -rw------- 1 mongod mongod 16M Mar 23 17:39 production.ns drwxr-xr-x 2 mongod mongod 4.0K Feb 29 18:28 journal -rw------- 1 mongod mongod 64M Feb 29 18:01 local.0 -rw------- 1 mongod mongod 128M Feb 29 18:00 local.1 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.10 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.11 -rw------- 1 mongod mongod 2.0G Mar 26 10:20 local.12 -rw------- 1 mongod mongod 2.0G Mar 26 10:20 local.2 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.3 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.4 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.5 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.6 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.7 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.8 -rw------- 1 mongod mongod 2.0G Feb 29 18:00 local.9 -rw------- 1 mongod mongod 16M Mar 26 10:19 local.ns -rwxr-xr-x 1 mongod mongod 6 Feb 29 18:01 mongod.lock drwxr-xr-x 2 mongod mongod 4.0K Mar 1 14:03 _tmp
我在 centos 6.2/64bit 上使用 mongodb 2.0.4。
更新:當我在本地數據庫中查詢 oplog.rs 集合時,我得到這個:
PRIMARY> db.oplog.rs.count(); 130234
啊,我在df中查看了錯誤的行。
/
是 50G,但數據儲存在另一個安裝的捲中,我們有 1.8 T,所以 5% 規則現在有意義(意味著它仍然可以增長到 ~90G)。所以我將使用這個--oplogSize
參數,因為這個大小對於我們的案例來說有點過分了。(但是,似乎 –oplogSize 無法更改現有日誌的大小,我必須先檢查是否可以刪除這些文件)。
這是 MongoDB 中的正常行為。Mongo 伺服器在安裝後會立即保留一些磁碟空間。