Mongodb本地数据库文件大小/数量爆炸

我有三个复制对象,但我注意到每个复制节点上的本地数据库都生成了很多本地数据文件。 mongodb存储数据文件的磁盘大小约为50G,而本地。*数据文件占用22G。 实际的数据根本不需要一个GB(现在)。 我读过“ 过量的磁盘空间”文章,其中指出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.8T的另一个安装体积中,所以5%的规则现在是有意义的(意味着它可以长到90G)。 所以我将使用--oplogSize参数,因为这个大小对于我们的用例来说有点矫枉过正。

(但是,似乎–oplogSize不能改变现有日志的大小,我必须检查是否可以先删除这些文件)。

这在MongoDB中是正常的行为。 Mongo服务器在安装后立即保留一些磁盘空间。