解决Debian上MongoDB磁盘空间不足可从清理数据、优化存储、扩展空间三方面入手,具体方法如下:
- 清理无用数据
- 删除不需要的集合、文档或数据库,使用命令如
db.collection.drop()、db.dropDatabase()。 - 定期清理过期数据,可通过设置TTL索引自动过期。
- 删除不需要的集合、文档或数据库,使用命令如
- 优化存储配置
- 确保使用WiredTiger存储引擎(默认),其压缩机制可减少空间占用。
- 对集合执行
compact命令,释放碎片空间。 - 调整
storage.wiredTiger.engineConfig.cacheSizeGB参数,控制缓存大小。
- 扩展磁盘空间
- 添加物理磁盘:通过
fdisk/parted分区,格式化后挂载到MongoDB数据目录(需修改/etc/mongod.conf中dbPath)。 - LVM扩展:若使用LVM,可通过
lvextend扩展逻辑卷,再调整文件系统大小。 - 迁移数据:使用
mongodump备份数据,恢复到新存储路径后更新配置。
- 添加物理磁盘:通过
- 监控与维护
- 使用
df -h监控磁盘使用情况,设置阈值告警。 - 定期清理日志文件,避免日志占用过多空间。
- 使用
操作前务必备份数据,避免误操作导致数据丢失。