包头土右旗一个政务单位上周五下午接到系统告警,OA系统无法上传附件,报错”磁盘空间不足”。远程一看,服务器/根分区使用率100%,整个根分区只有50GB,全部塞满了。政务系统跑的是CentOS 7.9,跑了3年没人维护,日志文件撑爆了磁盘。这个故障本来可以避免,下面说说怎么处理,以及怎么彻底解决。
一、故障现象
ssh连上服务器后敲df -h,直接显示/dev/mapper/centos-root使用率100%。
Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 0G 100% / /dev/sda1 1014M 200M 815M 20% /boot /dev/mapper/centos-home 100G 50G 51G 50% /home
二、快速定位:大文件在哪里?
用以下命令按大小排序找最大的目录:
du -sh /* 2>/dev/null | sort -rh | head -20
结果:
- /var/log/:22GB(三年日志全部堆积)
- /opt/tomcat/logs/:8.5GB(Tomcat Catalina.out日志)
- /tmp/:3GB(临时文件)
- /u01/oracle/oradata/:12GB(Oracle数据库实际数据)
光/var/log/下的messages和secure日志就占了14GB,每个月日志没做rotate。
三、紧急处理:释放空间
步骤1:清理Tomcat日志
cd /opt/tomcat/logs cat /dev/null > catalina.out # 清空但不删除文件句柄 ls -lh catalina.out # 确认大小为0
释放了8.5GB。
步骤2:清理历史日志
cd /var/log
# 查看超过1年的日志
find . -name "*.gz" -mtime +365 -ls
# 删除1年以上的压缩日志
find . -name "*.gz" -mtime +365 -exec rm {} \;
# 查看messages日志大小
ls -lh messages-2024*
# 截断旧messages
> messages-2024-06
释放了18GB。
步骤3:清理临时文件
rm -rf /tmp/* 2>/dev/null find /tmp -type f -mtime +7 -delete
释放了3GB。
总计释放约30GB空间,/根分区使用率降到40%。
四、配置日志轮转:防止再次爆盘
修改/etc/logrotate.d/syslog,加入:
"/var/log/messages" "/var/log/secure" "/var/log/cron" {
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true
endscript
maxsize 100M
daily
rotate 30
compress
delaycompress
}
注意:CentOS 7默认用rsyslog,日志轮转要同步处理。
五、LVM扩容:从根分区扩展
检查LVM状态,发现/dev/sda有未分配空间(PV显示还有100GB空闲):
pvdisplay vgdisplay
执行扩容:
# 扩展根分区逻辑卷 lvextend -L +50G /dev/mapper/centos-root # 扩展文件系统(XFS用xfs_growfs) xfs_growfs /dev/mapper/centos-root # 确认 df -h /
根分区从50GB扩展到100GB。
六、后续运维建议
我们给这个单位部署了Prometheus + Grafana监控,设置了磁盘使用率80%告警规则,提前通知管理员处理。同时写了一个每月一次的运维脚本:
#!/bin/bash # 每月1号执行 find /var/log -name "*.gz" -mtime +180 -delete find /tmp -type f -atime +30 -delete df -h | mail -s "磁盘使用报告 $(date)" admin@example.com
七、包头服务器运维服务
- Linux运维:CentOS、Ubuntu、Rocky Linux系统管理
- Windows Server:域控、文件服务器、SQL Server部署
- 监控部署:Zabbix、Prometheus、Cacti
- 自动化运维:Ansible剧本,批量配置管理
- 季度巡检:磁盘/内存/CPU/服务状态检查报告
服务器运维热线:17704868686
【不舍昼夜技术 · 包头IT一站式服务】
- 电脑/服务器:重装系统、硬件升级、服务器Linux/Windows环境部署
- 数据安全:硬盘/U盘/数据库数据恢复、网络安全加固、病毒清理
- 弱电安防:监控安装、机房建设、综合布线、门禁人脸识别
- 办公耗材:打印机维修、硒鼓墨盒配送、复印机租赁
- 软件开发:企业官网、小程序开发、APP定制、ERP系统
服务单位:内蒙古不舍昼夜技术有限公司
业务涵盖:电脑维修/系统重装/数据恢复/监控安防/弱电布线/打印耗材
技术热线:17704868686(包头本地团队,随叫随到!)