处理podman的overlay-containers中ctr.log日志文件过大的问题

这篇具有很好参考价值的文章主要介绍了处理podman的overlay-containers中ctr.log日志文件过大的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

公司服务器的一些软件使用了容器技术,比如Podman、Docker,从架设到现在已经稳定运行了1年半了,半年前发现磁盘占用比较大,/var/lib/containers占用了260G的磁盘空间,重启了一下容器,磁盘空间降下来了不少,同时由于这个目录下存的都是容器的磁盘文件,不能乱动,所以也就没管它。

昨天处理了Jira所在服务器由于磁盘空间不足导致的问题,参见JIRA维护记——使用原实例位置恢复数据,担心这个服务器在某个时间也出现磁盘空间不足导致问题,所以今天来仔细查一下。

/var/lib/containers/storage目录使用du -sh * | sort -hr | head -5命令查看此目录下的占用最多的前5个目录:

$ du -sh * | sort -hr | head -5
212G    overlay-containers
28G     overlay
2.4G    volumes
24M     overlay-layers
1020K   libpod

overlay-containers占用高达212G,该分区总共才295G。

du -sh *只能统计当前目录,不能统计子目录,为了更快定位目录,使用du -h -d 10命令列出10层子目录内的信息,子目录层数可以根据情况调整。完整命令du -h -d 10 | sort -hr | head -10

$ du -h -d 10 | sort -hr | head -10
243G    .
212G    ./overlay-containers/0836bd03d25f8080ef8dc28fc17326eec556ac936273f5933d92a32a09d65658/userdata
212G    ./overlay-containers/0836bd03d25f8080ef8dc28fc17326eec556ac936273f5933d92a32a09d65658
212G    ./overlay-containers
28G     ./overlay
6.8G    ./overlay/983650496b3437c000dc399af5b842638b6feec7d1bf6f6a662e11c542ca1800
3.8G    ./overlay/983650496b3437c000dc399af5b842638b6feec7d1bf6f6a662e11c542ca1800/merged
3.1G    ./overlay/983650496b3437c000dc399af5b842638b6feec7d1bf6f6a662e11c542ca1800/diff
2.6G    ./overlay/58f71749e43e3f55e6665e8bed8f97763110b52e8bb67dc97557310e1314d4cf/merged
2.6G    ./overlay/58f71749e43e3f55e6665e8bed8f97763110b52e8bb67dc97557310e1314d4cf

可以看到是某个容器的数据占用了212G,直接进入/var/lib/containers/storage/overlay-containers/0836bd03d25f8080ef8dc28fc17326eec556ac936273f5933d92a32a09d65658/userdata,使用ll -h查看:

$ ll -h
total 212G
drwx------ 6 root root 4.0K Jun  8 10:12 ./
drwx------ 3 root root 4.0K Dec  2  2021 ../
drwxr-xr-x 2 root root 4.0K Dec  2  2021 artifacts/
srwx------ 1 root root    0 Apr  5 15:35 attach=
-rw------- 1 root root  24K Dec  2  2021 buildah.json
-rw-r--r-- 1 root root  32K Apr  5 15:35 config.json
prw-r--r-- 1 root root    0 Apr  5 15:35 ctl|
-rw------- 1 root root 212G Jun  8 10:13 ctr.log
drwxr-xr-x 3 root root 4.0K Dec  8  2021 d811302d8e3f1e272b8213e07b4e2a7da260fba273216e75eafcc44dff3aab2e/
drw-r--r-- 2 root root 4.0K Dec  2  2021 secrets/
drwxrwxrwt 3 root root   80 Apr  5 15:35 shm/
prw-r--r-- 1 root root    0 Apr  5 15:35 winsz|

发现是一个日志文件ctr.log,占用高达212G。其实可以使用du -ah -d 10直接列出10层子目录内的所有文件和目录的大小,完整命令:du -ah -d 10 | sort -hr | head -30 ,可以直接找出最大的30个文件和目录。

网上查了一些资料:
Podman log file max size limit not working
[Question] Is there a way to limit the size of the logs?
这些基本上都是在创建容器时添加参数--log-opt max-size=限制大小,但是我的是容器已经运行很久了,不能使用这种方法。

笔者使用了一种简单粗暴的方法echo "" > ctr.log来解决,立马降下来了,经查是Gitlab所在容器,经过测试Gitlab,没发现异常。

参考:
记一次 Docker overlay 占用磁盘 100% 的问题文章来源地址https://www.toymoban.com/news/detail-475807.html

到了这里,关于处理podman的overlay-containers中ctr.log日志文件过大的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 常用Log日志

    https://blog.csdn.net/chi_wy/article/details/114639207 https://juejin.cn/post/7071188263968440356 https://www.jianshu.com/p/ffdeec225c29

    2024年02月12日
    浏览(38)
  • 一文详细介绍查看和启用nginx日志(access.log和error.log),nginx错误日志的安全级别,自定义访问日志中的格式

    我们在实际工作中,经常使用到日志。 日志在一个系统中是非常重要的,它可以监控一个应用程序的活动,因为它们为你提供有用的调试信息,并使你能够分析一个 Web服务器 的所有方面。 像其他软件应用程序一样, Nginx 也会将诸如网站访问者、遇到的问题等事件保

    2024年02月09日
    浏览(37)
  • MongoDB:切换log日志文件

    可以不重启MongoDB,切换日志文件 参考 MongoDB 日志切割三种方式

    2024年02月13日
    浏览(31)
  • Mybatis 日志(JDK Log)

    上一篇我们介绍了Mybatis中的参数,本篇我们使用JDK Log打印一下Mybatis运行时的日志,看一下Mybatis执行的过程。 这里我选取上一篇的示例进行JDK Log的集成,这里如果您想对上一篇进行详细了解,可以参考: Mybatis参数(parameterType) https://blog.csdn.net/m1729339749/article/details/132548838 在

    2024年02月10日
    浏览(22)
  • PostgreSQL Log 日志模块详解

    本文讲的是操作日志,非 WAL 日志。 PG 的日志模块是一个相对独立的模块,主要功能就是打印用户的操作日志以及一些异常报错信息。本文仅讲述 logging_collector 参数开启的情况。 PG 有各种各样的进程,其中 syslogger 进程专门用于打印日志信息。 而其余进程打印日志的方法如

    2024年02月11日
    浏览(30)
  • python日志:logging模块使用

    # python日志:logging模块使用 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等, 记录运行时的过程 ## 日志事件级别 级别排序:CRITICAL  ERROR  WARNING  INFO  DEBUG 默认等级: WARNING   ## Logger ### 创建log

    2023年04月13日
    浏览(29)
  • mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log

    mysql8默认未开启 sql 历史日志。 mysql8默认已开启 慢sql 历史日志。 log_output : sql日志输出位置 FILE :输出到文件。默认值 TABLE :输出到表。 mysql.general_log mysql.slow_log general_log : sql历史 日志开关。默认为 OFF slow_query_log : 慢sql历史 日志开关。默认为 ON long_query_time : 慢sql历

    2024年02月14日
    浏览(37)
  • mysql开启bin log 并查看bin log日志(linux)

    参数说明:      

    2024年02月13日
    浏览(22)
  • python创建多个logging日志文件

    为每一个计算过程创建一个单独的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可以分开单独控制。 控制台输出结果  日志文件输出

    2024年02月13日
    浏览(29)
  • nginx(二)---Nginx 日志Log

    日志配置 日志轮转/切割 日志分析         1.1日志模块 官方文档    http://nginx.org/en/docs/http/ngx_http_log_module.html 日志模块的名称            ngx_http_log_module         1.2相关指令 log_format         日志格式 access_log         访问日志 error_log          错误日志 open_log_file_

    2024年02月15日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包