徐锦洪 发表于 2023-8-1 21:29:03

线上服务器磁盘爆了,如何快速处理?

分享技术,用心生活

有一天突然收到预警短信,显示是服务器磁盘占用100% 心里一想这事大了,得赶紧处理啊!深一吸口气默念:问题不大,小事小事~
不过,线上遇到这情况,还是挺令人头大的!
https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145716672-1994385114.png
先来看问题,登录上到监控台,2台报警了!
https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145717184-727202643.png
再看服务状况
(如果是线上,那么顺序一定是先解决掉磁盘占用问题,而不是先看服务。这里为了阅读方便,先把服务情况展现出来)
https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145717579-602473272.png
看到这,头更大了,写入数据失败!心里凉了半截,已经很严重影响业务了...
1. 查找占用空间大的文件

首先应该思考,先检查一下是哪里占用磁盘比较多,然后再视情况处理
登录服务器后,在根目录执行命令,目的是查找占用空间大的目录
du -h --max-depth=1https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145718016-707792382.png
发现在service下占用273G,大概已经想到了是某个服务的占用问题。继续查找;
cd service进入到service目录;再次执行上面的命令,多次查找后(步骤省略...)
发现是nacos服务的占用问题
https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145718556-1187153438.png
原来是nacos的log和bin目录下的log占用过大。那么就可以先从这里下手,直接把部分日志干掉!
进入到nacos/bin/logs目录
du -ah *https://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145719055-443009162.png
可以看到每个日志文件都占用了3.6G,确实影响很大!
2. 删除大文件

那么,就需要执行很多程序员闻之失色的命令了,rm
最好是把这个工作交给运维或者技术领导来做,不然删错或删多了那就更麻烦了。
最好是按日志的日期目录来删,每次删的时候指定日期目录。慢一点删严谨一点不会出错。
处理后,我们再来看下占用情况
df -hhttps://img2023.cnblogs.com/blog/3244619/202308/3244619-20230801145719473-1109988308.png
磁盘占用下降到81%了,终归是暂时解决了。
总结:遇到线上问题,我们首先需要解决问题,不要管是不是彻底解决还是临时解决,先保证服务可用性。像这种场景,只是临时处理。根源还是在于nacos的日志没有及时处理或者说是日志配置不合理。临时解决后,那么就要去改这一块,比如可以通过脚本去定时删除较久远的日志,也可以通过配置日志级别减少日志写入的大小。此处不再详细展开。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 线上服务器磁盘爆了,如何快速处理?