CentOS 系统根目录 /dev/mapper/cl-root 100% 耗尽的解决方案

1、问题描述

前段时间在公司内部部署了一套 CentOS 系统来做一些相关的内部测试,根目录仅 50G 空间大小。我在上面搭建了一套监控系统(用于测试),后面因其他工作就忘记停掉数据采集插件,导致有大量的日志输出,直接把 50G 空间给占满了。尽管系统根目录文件系统被耗尽,但 CentOS 系统本身还是可正常使用的,包括正常的登录、文件创建(数据目录)等。但是你将无法下载(yum)任何工具(包),以及在快捷键 Tab 自动补全时也会报错(提示已无可用磁盘空间)等。

-bash: cannot create temp file for here-document: No space left on device

CentOS 系统根目录 /dev/mapper/cl-root 100% 耗尽的解决方案_第1张图片

2、解决方案

  • 查看磁盘使用情况

    可以看到系统根目录使用已经达到 100%,已经不可用。

    CentOS 系统根目录 /dev/mapper/cl-root 100% 耗尽的解决方案_第2张图片

  • 排查是哪些大文件占用该系统根空间

    find / -xdev -size +1G -exec ls -l {} \;
    find / -type f -size +1G -exec du -h {} \;
    
    # 选其一即可
    # 命令作用是:查询根目录(/)下超过1G大小的文件
    

    CentOS 系统根目录 /dev/mapper/cl-root 100% 耗尽的解决方案_第3张图片

    可看到,最大文件有16G大小日志文件,这就是导致系统根空间占满的罪魁祸首。

    我监控使用 TDengine 来做的数据存储,关于 TDengine 的简单部署,大家可参考我之前的博文《Telegraf + TDengine + Grafana 监控平台》

  • 删除这些大日志文件即可

    这里强调一下,不是什么文件都可随便删除,要根据实际情况来处理。

    CentOS 系统根目录 /dev/mapper/cl-root 100% 耗尽的解决方案_第4张图片

3、小结

通过上述案例不难看出,在实际工作中一定要做好前期准备,如:数据存储路径、日志存储路径、日志轮转等相关工作,防止根目录空间被耗尽。

你可能感兴趣的:(FAQ,linux,运维,服务器)