本人运维新手 不喜勿喷 本帖只是总结经验 

首先鸣谢 公司的马老师

早晨到公司有台服务器报警 磁盘使用率大于85

收到任务先通过堡垒机连接服务器

使用k8s命令进入容器服务

kubectl exec -i -t aks-ssh1 bash

连接云服务

查看 磁盘占用率 df -h 

可以明显的看出 Mounted 的mnt 盘 Userd的占用量是157G Avail 30G 

cd /mnt

查看 目录文件容量占比 du -sh *

明显看出生产环境的日志有些多 

逐一进去清理日志文件 发现日志在去年7月的还有

想法是删除去年所有日志

由于是开发出身. 第一时间想到的就是用python 写个脚本 定时去执行 跟着路径名称和 删除年限来过滤 但是因为是第一次 所以就手动了

rm -rf service-xxx-2020*删除所有2020年信息

随后发现  /mnt  目录下 MongoDB备份占空间很大. 从3月到现在每天备份一次. 一次1.9G到2G不等

我自己也是开发出身所以知道. 一般数据库备份 15天是极限了. 

所以预定 4月10前所有的MongoDB备份全部删除

rm - backtime-2021-03*

由于备份的日志 4月只要4.10以后的 

所以命令可以这么写

rm -backtime-2021-04-0*

再次查看

清理大约66G磁盘容量

且阿里云云监控不在报警

群里回复解决云服务报警问题

磁盘使用率报警已解决 主要是日志和数据库备份过大 造成的问题.
后续解决方案:
写一个专门删除 备份和日志的脚本 

清理完全之后马老师贴心给出删除命令和查看 和容器命令

#查看哪些日志占用
/usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* -exec ls -lh {} \;
#清理
/usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* |awk '{print "echo > "$0}'|bash
#定时任务
0 0 * * * /usr/bin/find /var/lib/docker/overlay2/ -size +200M -name *log* |awk '{print "echo > "$0}'|bash

docker容器日志的清理

#查看容器占用空间
docker system df
#清理容器
docker system prune -a

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐