Debian 如何解决 MongoDB 磁盘空间不足

解决Debian上MongoDB磁盘空间不足可从清理数据、优化存储、扩展空间三方面入手,具体方法如下:

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

操作前务必备份数据,避免误操作导致数据丢失。