问题现象 当云服务器磁盘使用率超过85%时,系统会出现以下典型症状:
Errno 28: No space left on device)、Web服务崩溃(Nginx 503错误)df -i可验证)# 检查各分区使用率(重点关注/var)
df -hT | grep -v tmpfs
# 扫描TOP 5大目录(按GB级排序)
sudo du -h / --max-depth=3 | grep '[0-9]G' | sort -nr | head -n5 清理过期日志:
# 删除7天前Nginx日志(安全操作)
find /var/log/nginx -name "*.log" -mtime +7 -exec rm -f {} \; 配置logrotate自动化管理:
# /etc/logrotate.d/custom 示例(每日轮转+压缩)
/var/log/tomcat/*.log {
daily
rotate 30
compress
delaycompress
missingok
create 0640 tomcat tomcat
postrotate
/usr/bin/systemctl reload tomcat
endscript
} 验证命令:logrotate -d /etc/logrotate.d/custom 模拟运行测试
# 查找>100MB文件(重点关注.tar/.log后缀)
find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
# 压缩历史备份文件(节省50%+空间)
tar -czvf /mnt/backup/2025_archives.tar.gz --remove-files /home/old_project/* MySQL二进制日志清理:
-- 保留最近7天binlog
PURGE BINARY LOGS BEFORE NOW() - INTERVAL 7 DAY;
-- 修改配置限制单文件大小(/etc/my.cnf)
[mysqld]
max_binlog_size = 100M # 腾讯云CLI扩容云盘(需API密钥)
tccli cvm ResizeDisk --DiskId disk-xxxxxx --DiskSize 500
# Linux文件系统扩展(XFS示例)
sudo growpart /dev/vdb 1
sudo xfs_growfs /data 注:扩容前需卸载磁盘或停止实例
# 添加磁盘告警(Nagios示例)
define service {
service_description Disk_Space
check_command check_nrpe!check_disk!20%!10%!/dev/vda1
use generic-service
} 层级 | 存储策略 | 工具链 |
|---|---|---|
热数据(0-3天) | SSD云盘 | ELK Stack |
温数据(4-30天) | 标准云盘 | Logrotate + S3 |
冷数据(30天+) | 对象存储(归档存储类型) | AWS Glacier/腾讯CAS |
对日均日志量>1TB的企业场景:
运维箴言:2025年IDC数据显示,配置自动化日志管理的企业,磁盘故障率降低73%(来源:IDC 2025《云运维成熟度报告》)。技术团队应建立存储容量规划-实时监控-自动处置的三级防御体系,而非被动响应故障。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。