记一次线上事故处理过程,linux服务器磁盘空间被占满
公司采用微服务架构服务部署在docker容器,早上改完程序bug,准备更新程序,结果docker报错,错误如下图所示:
报错信息如下:
open /var/lib/docker/tmp/GetImageBlob399886705: no space left on device
没有剩余的磁盘空间
马上查看磁盘空间使用情况,运行如下命令:
df -h
结果如下图所示:
发现磁盘已用100%
继续查看发现/var/lib/docker目录占用整个磁盘的100%
进入/var/lib/docker查看具体占用情况:
du -sh *
如上图所示,发现containers目录占用363G的空间,当前服务器的总空间时420G,container目录占用86.42%的磁盘空间很可疑。
继续排查/var/lib/docker/containers目录:
du -sh *
如上图所示,发现4d8d06e0d8910f1ed14fcb84904c31b5a4c9812f0f959086e057861ade166d3c占用了312G的空间。
继续进入4d8d06e0d8910f1ed14fcb84904c31b5a4c9812f0f959086e057861ade166d3c目录
du -sh *
如上图所示,发现4d8d06e0d8910f1ed14fcb84904c31b5a4c9812f0f959086e057861ade166d3c-json.log此文件占用了312G的空间,找到问题所在。
删除该文件,然后重启一下docker容器,再次查看磁盘空间情况:
可用空间312G,问题圆满解决。