服务器inode耗尽、磁盘空间异常爆满修复
服务器inode耗尽和磁盘空间异常爆满修复指南问题诊断
当服务器出现inode耗尽或磁盘空间爆满时,会导致新文件无法创建、服务异常甚至系统崩溃。以下是修复步骤:
1. 检查磁盘空间使用情况
df -h# 查看磁盘空间使用情况
2. 检查inode使用情况
df -i# 查看inode使用情况
解决方案
针对磁盘空间爆满
[*]查找大文件
du -h --max-depth=1 / | sort -hr# 从根目录开始查找大文件/目录
# 或针对特定目录
du -h --max-depth=2 /var/log/ # 例如检查日志目录
[*]清理日志文件
# 清理旧日志(以logrotate配置的日志为例)
sudo logrotate -f /etc/logrotate.conf
# 或手动清理
sudo rm -f /var/log/*.log.1# 删除旧日志
sudo truncate -s 0 /var/log/syslog# 清空当前日志(谨慎使用)
[*]清理缓存文件
# 清理APT缓存(Debian/Ubuntu)
sudo apt-get clean
# 清理YUM/DNF缓存(CentOS/RHEL)
sudo yum clean all
sudo dnf clean all
[*]删除无用文件
[*]删除不再需要的安装包、临时文件
[*]清理旧的备份文件
[*]删除核心转储文件(core dump)
针对inode耗尽
[*]查找inode占用高的目录
# 查找文件数量最多的目录
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k1 -n -r | head
[*]常见inode占用原因
[*]大量小文件(如应用生成的临时文件)
[*]邮件队列堆积
[*]日志文件过多但未轮转
[*]缓存文件过多
[*]清理策略
[*]删除不再需要的小文件
[*]配置日志轮转策略
[*]限制应用生成临时文件的数量
预防措施
[*]监控设置
[*]配置磁盘空间和inode使用率监控
[*]设置阈值告警(如使用80%时报警)
[*]日志管理
[*]配置logrotate定期轮转日志
[*]设置日志保留策略(保留天数、文件大小限制)
[*]定期维护
[*]制定定期清理计划
[*]自动化清理脚本
[*]应用优化
[*]优化应用配置,减少不必要的文件生成
[*]限制用户文件上传数量和大小
紧急恢复
如果服务已因资源耗尽而停止:
[*]通过单用户模式或救援模式启动
[*]清理足够空间后重启
[*]考虑增加磁盘空间或优化文件系统
通过以上方法,您可以有效地解决服务器inode耗尽和磁盘空间异常爆满的问题,并建立预防机制避免问题再次发生。
页:
[1]