我们有一个包含4个分片的MongoDB群集。 我们的主要分片磁盘空间有700GB,根据db.stats(),分片使用~530GB。 当检查df -h时,磁盘使用率为99%(9.5 GB可用),我猜这意味着所有其余的都是由Mongo预先分配的数据文件。 我在几个集合上运行了紧凑,磁盘空间减少到3.5GB(?)
我们将运行一个可生成~140GB额外数据的过程(每个分片35GB)。 我们是否应该关注磁盘空间不足?
提前致谢。
答案 0 :(得分:1)
compact
根本不会减少磁盘使用量,实际上它甚至可能会导致额外的文件错位。要减少磁盘使用量,可以使用repairDatabase
命令或使用修复选项启动mongo。但是,它需要磁盘上额外的可用空间。
如果您执行了大量文档删除或某些强制文档移动的操作,则可能出现这种情况。在这种情况下,您的数据库将进行高度碎片整理。 compact
命令可以帮助您减少碎片整理,并为新记录留出更多空间,但同样,它不会将任何空间回收到操作系统。
最好的选择是尝试了解为什么你有这种级别的碎片整理。