如何有效管理Ubuntu MongoDB磁盘空间,轻松避免空间不足的问题?
- 内容介绍
- 文章标签
- 相关推荐
再看使用者痛点。MongoDB磁盘爆满,服务崩溃!如何避免,
作为开发者/运维,你是否遇到过:
- MongoDB突然停止写入,日志提示"disk full"
- 关键数据库服务无法响应。业务中断
- 紧急扩容导致程序长时间不可用
- 手动清理数据耗时耗力,影响生产效率
一、硬盘空间监控与预警设置
问题场景:当硬盘空间不足时才发现问题已经严重到影响服务运行。老实说,定期检查可以帮助我们提前预警并采取措施。
1.1 程序层面监控
-
df -h | grep mongodb- 快速查看MongoDB所在分区使用情况 -
sudo du -sh /var/lib/mongodb/* --max-depth=1 | sort -nrh | head -n 50- 找出占用空间最大的集合目录 -
/etc/logrotate.d/mongodb.conf- 配置日志轮转策略
"太扎心了!每次手动删除日志都要花半小时..." - 开发同学真实吐槽。
WARNING=95 # 预警阈值95% CRITICAL=98 # 嚴重阈值98% DISK=$ if;n echo "MongoDB DISK CRITICAL: $DISK%" | mailx -s "URGENT" elif;n echo "MongoDB DISK WARNING: $DISK%" | mailx -s "Warning" fi chmod +x mongodbspacecheck.sh // 每小时自动检查并邮件通知管理员!
db.getCollection.deleteMany({
createTime: {$lt: ISODate}
});// 按时间条件精准删除
use target_db;db.runCommand;// 整理特定集合碎片
或全库压缩
mongodump --uri mongodb://user:pwd@host/dbname?authSource=admin --archive=/tmp/dbbackup.bson.gz
// 效果:回收约7%-35%碎片空间!
mongo admin/
// 建议仅在万不得已时使用!
| 快捷方式 |
|---|
:直接删journal文件会导致数据丢失!请谨慎,
// 应急措施效果有限,必须尽快增加物理存储!
* 这篇文章基于Ubuntu Server 22.04 LTS + MongoDB Community Server v6.x环境测试通过。* 生产环境请先在测试环境验证所有操作。* 对于关键业务数据库建议至少保留最近一个月备份。说起来,
再看使用者痛点。MongoDB磁盘爆满,服务崩溃!如何避免,
作为开发者/运维,你是否遇到过:
- MongoDB突然停止写入,日志提示"disk full"
- 关键数据库服务无法响应。业务中断
- 紧急扩容导致程序长时间不可用
- 手动清理数据耗时耗力,影响生产效率
一、硬盘空间监控与预警设置
问题场景:当硬盘空间不足时才发现问题已经严重到影响服务运行。老实说,定期检查可以帮助我们提前预警并采取措施。
1.1 程序层面监控
-
df -h | grep mongodb- 快速查看MongoDB所在分区使用情况 -
sudo du -sh /var/lib/mongodb/* --max-depth=1 | sort -nrh | head -n 50- 找出占用空间最大的集合目录 -
/etc/logrotate.d/mongodb.conf- 配置日志轮转策略
"太扎心了!每次手动删除日志都要花半小时..." - 开发同学真实吐槽。
WARNING=95 # 预警阈值95% CRITICAL=98 # 嚴重阈值98% DISK=$ if;n echo "MongoDB DISK CRITICAL: $DISK%" | mailx -s "URGENT" elif;n echo "MongoDB DISK WARNING: $DISK%" | mailx -s "Warning" fi chmod +x mongodbspacecheck.sh // 每小时自动检查并邮件通知管理员!
db.getCollection.deleteMany({
createTime: {$lt: ISODate}
});// 按时间条件精准删除
use target_db;db.runCommand;// 整理特定集合碎片
或全库压缩
mongodump --uri mongodb://user:pwd@host/dbname?authSource=admin --archive=/tmp/dbbackup.bson.gz
// 效果:回收约7%-35%碎片空间!
mongo admin/
// 建议仅在万不得已时使用!
| 快捷方式 |
|---|
:直接删journal文件会导致数据丢失!请谨慎,
// 应急措施效果有限,必须尽快增加物理存储!
* 这篇文章基于Ubuntu Server 22.04 LTS + MongoDB Community Server v6.x环境测试通过。* 生产环境请先在测试环境验证所有操作。* 对于关键业务数据库建议至少保留最近一个月备份。说起来,

