解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题

本文记录了一次在使用Kubernetes过程中遇到的磁盘空间快速上涨的问题,通过`df`和`du`命令分析,发现`/var/lib/docker/containers`目录下的日志文件占用过大。删除该文件后,磁盘空间得到有效释放,问题得到解决。此外,对于PV或PVC内存过高,也可尝试清理主机挂载目录的文件来缓解。
摘要由CSDN通过智能技术生成

前言

在使用k8s存储卷的过程中,磁盘空间使用率突然快速上涨,没几天时间disk使用率直接飙红(大概89%左右),甚至本地的docker镜像也被驱逐了大部分,类似如此事件没有办法给客户解释清楚的话都是给自己埋雷呀。

从我自己的使用角度来说,我感觉k8s中的pv或者pvc都是日志系统挂载的存储卷,还有几个prometheus-db的存储卷,占用磁盘空间的大小应该不会快速增长,出现上述情况属实意外,在百度了一些资料并进行了尝试以后,有一点小收获,记录一下~

目录

前言

1. 查看文件系统硬盘使用情况

2. du命令查看指定目录或文件所占用的磁盘空间

3. 重启主机


1. 查看文件系统硬盘使用情况

df -h

我的/var/lib/docker/占了有364G磁盘空间,到底是什么文件这么占磁盘,需要查一下,

ps~幸好我稳住了,没有盲目手快的删掉整个overlay2或者containers文件夹中的内容。

2. du命令查看指定目录或文件所占用的磁盘空间

#查看/var/lib/docker/文件夹的大小

[root@master containers]# du -hs /var/lib/docker/
255G    /var/lib/docker/
#查看/var/lib/docker/下一个层级目录各个文件夹的大小
#参数提示:
#-d:显示目录层级数

[root@master containers]# du -d 1 /var/lib/docker/

#结果
12564   /var/lib/docker/containerd
244215732       /var/lib/docker/containers
0       /var/lib/docker/plugins
21349984        /var/lib/docker/overlay2
38272   /var/lib/docker/image
1092692 /var/lib/docker/volumes
0       /var/lib/docker/trust
1408    /var/lib/docker/network
0       /var/lib/docker/swarm
1216    /var/lib/docker/buildkit
0       /var/lib/docker/tmp
0       /var/lib/docker/runtimes
266711868       /var/lib/docker/

#查看/var/lib/docker/下一个层级目录各个文件夹的大小,以MB显示
#参数提示:
#-k:以KB为单位显示文件大小
#-m:以MB为单位显示文件大小,我用的-m
[root@master containers]# du -d 1 -m /var/lib/docker/

#结果
13      /var/lib/docker/containerd
238492  /var/lib/docker/containers
0       /var/lib/docker/plugins
20850   /var/lib/docker/overlay2
38      /var/lib/docker/image
1068    /var/lib/docker/volumes
0       /var/lib/docker/trust
2       /var/lib/docker/network
0       /var/lib/docker/swarm
2       /var/lib/docker/buildkit
0       /var/lib/docker/tmp
0       /var/lib/docker/runtimes
260461  /var/lib/docker/

#既然/var/lib/docker/containers占用的磁盘空间大,那就看看该文件夹下各个子目录都有多大
[root@master containers]# du -d 1 -m /var/lib/docker/containers

 可以看到cec2b7的容器占了233G的磁盘空间,进入到目录中查看一下具体的文件,发现一个*-json.log的文件有两百多G大小,于是选中它并进行删除。再次查看/var/lib/docker/占用的磁盘空间大小:

[root@master containers]# du -hs /var/lib/docker/
22G     /var/lib/docker/

3. 重启主机

reboot

重新查看文件系统硬盘使用情况:df -h

可以看到磁盘空间的使用率已经降下来了,同时k8s的存储卷的使用率也同步降下来啦,非常开心解决了一个问题,继续努力哦~

另外:关于pv或pvc内存过高的情况,也可以在主机挂载的目录删除一些占用内存的文件或文件夹,也有一些效果的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值