我使用下面的参数运行了2个mongod实例
--noprealloc --smallfiles --replSet mongors1 --dbpath /data/db --nojournal本练习的目标是为本地开发创建一个具有最小磁盘占用空间的复制环境。
此时,每个数据系统的大小约为32M,并且具有以下特性,一切都很好
ls -o data/db
total 32784
-rw------- 1 999 16777216 Sep 22 11:38 local.0
-rw------- 1 999 16777216 Sep 22 11:38 local.ns
-rwxr-xr-x 1 999 2 Sep 22 11:38 mongod.lock
-rw-r--r-- 1 999 69 Sep 22 11:38 storage.bson
drwxr-xr-x 2 999 4096 Sep 22 11:38 _tmp登录到第一个成员并运行rs.initiate()后,将额外使用1G的磁盘空间。
ls -o data/db
total 1080856
-rw------- 1 999 16777216 Sep 22 11:39 local.0
-rw------- 1 999 536608768 Sep 22 11:39 local.1
-rw------- 1 999 536608768 Sep 22 11:39 local.2
-rw------- 1 999 16777216 Sep 22 11:39 local.ns
-rwxr-xr-x 1 999 2 Sep 22 11:38 mongod.lock
-rw-r--r-- 1 999 69 Sep 22 11:38 storage.bson
drwxr-xr-x 2 999 4096 Sep 22 11:39 _tmp考虑到要复制的节点的属性和它们正在运行的配置,这似乎有点过了。
Mongo 3.0.6是正在使用的版本。
最终,这将扩展到跨2+分片的具有3个成员的副本集。最初,存储零数据所需的最小磁盘空间为6 6Gb似乎不太理想。
有没有一种方法可以将其减少到更能代表节点需求的东西?
任何帮助都是非常感谢的。提前感谢
发布于 2015-09-23 02:32:15
本地数据库包含oplog,我将让您自己研究给定节点的oplog大小。为了解决手头的问题,from the docs
对于64位的Linux、Solaris、FreeBSD和Windows系统,MongoDB将分配5%的可用磁盘空间,但分配的空间始终至少为1 at,并且永远不会超过50 at。
这就是您用法来源-要更改分配,您需要使用resize the oplog,或者,如果从头开始,请查看oplogSizeMB选项(或者有关oplogSizeMB的等价物,请参阅here)。
发布于 2015-09-23 03:02:50
除了Adam所说的之外,添加
--oplogSize X将X替换为您希望的oplog的MB大小。
https://stackoverflow.com/questions/32722042
复制相似问题