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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题

前言

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

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


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内存过高的情况,也可以在主机挂载的目录删除一些占用内存的文件或文件夹,也有一些效果的。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
7天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
21 0
|
8天前
|
NoSQL Redis Docker
5-11write /var/lib/docker/tmp/GetImageBlob2366037717: no space left on device
5-11write /var/lib/docker/tmp/GetImageBlob2366037717: no space left on device
|
9天前
|
关系型数据库 MySQL 数据库
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
docker启动mysql多实例连接报错Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’
34 0
|
2月前
|
存储 Kubernetes Linux
在Linux中,如何使用Docker和Kubernetes管理容器?
在Linux中,如何使用Docker和Kubernetes管理容器?
|
4月前
|
运维 Kubernetes 持续交付
Docker与Kubernetes:容器化技术的黄金搭档
【6月更文挑战第10天】Docker和Kubernetes是容器化技术的黄金组合,Docker提供轻量级、可移植的容器引擎,简化应用部署,而Kubernetes作为容器编排系统,实现自动化部署、扩展和管理,确保高可用性和可扩展性。两者的协作使得容器化应用更高效、可靠,共同推动软件开发和运维的创新。
|
12月前
|
Kubernetes 调度 Apache
Docker 编排工具比较:Kubernetes、Docker Swarm 和 Mesos,选择最适合你的容器编排方案
Docker 编排工具比较:Kubernetes、Docker Swarm 和 Mesos,选择最适合你的容器编排方案
359 0
|
存储 Kubernetes Cloud Native
如何使 Docker 和 Kubernetes 结合发挥容器的最大价值?
Docker 虽然在容器领域有着不可撼动的地位,然而在容器的编排领域,却有着另外一个事实标准,那就是 Kubernetes。本课时,我就带你一起来认识下 Kubernetes。
103 0
下一篇
无影云桌面