更新
我起初有一些小型数据库,但自从我放弃了所有数据库(无结果)以解决这个问题。
show dbs
显示
config 0.046875GB
但find /var/lib/mongo -type f -print0 | sort -z | xargs -0 du -b
显示
134217728 /var/lib/mongo/a1/data/journal/j._3
88 /var/lib/mongo/a1/data/journal/lsn
134217728 /var/lib/mongo/a1/data/journal/prealloc.1
134217728 /var/lib/mongo/a1/data/journal/prealloc.2
536608768 /var/lib/mongo/a1/data/local.0
536608768 /var/lib/mongo/a1/data/local.1
536608768 /var/lib/mongo/a1/data/local.2
536608768 /var/lib/mongo/a1/data/local.3
536608768 /var/lib/mongo/a1/data/local.4
536608768 /var/lib/mongo/a1/data/local.5
536608768 /var/lib/mongo/a1/data/local.6
16777216 /var/lib/mongo/a1/data/local.ns
5 /var/lib/mongo/a1/data/mongod.lock
134217728 /var/lib/mongo/a2/data/journal/j._1
88 /var/lib/mongo/a2/data/journal/lsn
134217728 /var/lib/mongo/a2/data/journal/prealloc.1
134217728 /var/lib/mongo/a2/data/journal/prealloc.2
16777216 /var/lib/mongo/a2/data/local.0
33554432 /var/lib/mongo/a2/data/local.1
536608768 /var/lib/mongo/a2/data/local.2
536608768 /var/lib/mongo/a2/data/local.3
536608768 /var/lib/mongo/a2/data/local.4
536608768 /var/lib/mongo/a2/data/local.5
536608768 /var/lib/mongo/a2/data/local.6
536608768 /var/lib/mongo/a2/data/local.7
536608768 /var/lib/mongo/a2/data/local.8
16777216 /var/lib/mongo/a2/data/local.ns
5 /var/lib/mongo/a2/data/mongod.lock
134217728 /var/lib/mongo/b1/data/journal/j._4
88 /var/lib/mongo/b1/data/journal/lsn
134217728 /var/lib/mongo/b1/data/journal/prealloc.1
134217728 /var/lib/mongo/b1/data/journal/prealloc.2
536608768 /var/lib/mongo/b1/data/local.0
536608768 /var/lib/mongo/b1/data/local.1
536608768 /var/lib/mongo/b1/data/local.2
536608768 /var/lib/mongo/b1/data/local.3
536608768 /var/lib/mongo/b1/data/local.4
536608768 /var/lib/mongo/b1/data/local.5
536608768 /var/lib/mongo/b1/data/local.6
16777216 /var/lib/mongo/b1/data/local.ns
5 /var/lib/mongo/b1/data/mongod.lock
16384 /var/lib/mongo/b2/data/journal/j._1
88 /var/lib/mongo/b2/data/journal/lsn
16777216 /var/lib/mongo/b2/data/local.0
33554432 /var/lib/mongo/b2/data/local.1
536608768 /var/lib/mongo/b2/data/local.2
536608768 /var/lib/mongo/b2/data/local.3
536608768 /var/lib/mongo/b2/data/local.4
536608768 /var/lib/mongo/b2/data/local.5
536608768 /var/lib/mongo/b2/data/local.6
536608768 /var/lib/mongo/b2/data/local.7
536608768 /var/lib/mongo/b2/data/local.8
16777216 /var/lib/mongo/b2/data/local.ns
5 /var/lib/mongo/b2/data/mongod.lock
16777216 /var/lib/mongo/config/data/config.0
33554432 /var/lib/mongo/config/data/config.1
16777216 /var/lib/mongo/config/data/config.ns
134217728 /var/lib/mongo/config/data/journal/j._0
88 /var/lib/mongo/config/data/journal/lsn
134217728 /var/lib/mongo/config/data/journal/prealloc.1
134217728 /var/lib/mongo/config/data/journal/prealloc.2
5 /var/lib/mongo/config/data/mongod.lock
超过17GB没有数据! Sheesh。
为什么Mongo占用了这么多空间,我怎么能减少它呢?
答案 0 :(得分:6)
看起来在您的环境中进行初始安装的人创建了sharded cluster,这可能是两个分片,每个分片都由replica set中的两个数据承载节点支持。他们选择在/var/lib/mongo/
的共同路径下为每个节点创建子目录。
根据子目录名称,我猜猜a1
和a2
是碎片a
的副本集,b1
和b1
是其中的一部分为碎片b
设置的副本集。如果您感到好奇,可以通过检查仍然存在的config
database来确认以前的配置。
在一个案例中,在副本集中,每个数据承载节点都有一个预分配的oplog
(operation log),用于复制。 oplog存储在oplog.rs
数据库中的local
集合中。
默认情况下,oplog size占可用磁盘空间的5%(至少在64位Linux系统上),这就是为什么尽管有一个“空”数据库,这些占用了大量磁盘。< / p>
如果您只运行一个MongoDB实例,默认情况下它将忽略额外的子目录及其内容。这就是为什么你还有额外的磁盘使用量 - 你已经删除了mongod
知道的所有数据库。
如果你想“重置”所有数据并重新开始,你应该:
mongod
实例,例如:sudo service mongod stop
mongod
进程,您还可以运行:killall mongod; killall mongos
cd /var/lib/mongo/
pwd
rm -r *
mongod
,例如:sudo service mongod start