栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【一次容器长时间运行引发的磁盘容量告警及解决方法】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【一次容器长时间运行引发的磁盘容量告警及解决方法】

一、问题背景及描述
由于需要做一些性能测试,故在虚拟机上批量运行了100台容器,然后对这100台容器服务不停的发数据,并由其转发至测试服务。
但是每当测试一段时间后,机器硬盘容量就达到告警上限,查看后系统硬盘使用率达到85%以上

二、排查过程

1、首先在根目录下定位占用最大的目录:
cd /;du -sh *
2、依次在目录下使用du -sh * 命令,最终发现是/var/lib/docker/containers里面每一个容器对应的目录占用过多导致
3、进入容器查看每个容器实际使用的量,以确定容器内是否有文件不断增长
docker exec -it 容器名称 bash
cd /;du -sh # 容器的总占用大小
结果发现容器使用量并不多,且并没有持续增长稳健
4、在容器宿主机执行以下命令后,确定容器内实际占用容量实际并不多
docker system df
5、继续探索/var/lib/docker/containers/容器名/下各文件大小,发现“容器id-json.log”文件比较大

6、打开文件后发现,该文件是容器日志
tailf -n 300 filename

三、解决方法
1、设置全局容器日志大小:
打开/etc/docker/daemon.json(若不存在请直接新建),并添加配置参数log-dirver和log-opts
其中log-dirver指文件格式,log-opts指文件相关的配置,下图配置表示每个日志文件最大为10m,最多保留3个日志文件(由于本人容器较多,故参数设置较小)

重启docker服务生效:
systemctl daemon-reload
systemctl restart docker
注意,此参数为docker全局配置,如果机器上存在他人的容器,建议只对自己管理的容器进行日志配置.
由于本人是使用的docker-compose来管理的容器,故介绍第二种方法
2、使用docker-compose对指定容器进行日志配置,如下红色框中,指此容器最多保留10m的日志

配置完成后重启容器
docker-compose restart

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号