ubuntu server 存儲空間占滿的原因

问题已经很明显了:

text 复制代码
/dev/mapper/ubuntu--vg-ubuntu--lv   98G   92G  1.3G  99% /

根分区只剩:

text 复制代码
1.3G

TDengine 写时序数据很容易瞬间打满。

所以报:

text 复制代码
No enough disk space

并且你这里:

text 复制代码
/var/lib/docker/rootfs/overlayfs/*

大量 overlay 99%。

说明:

Docker 占了大量空间


先查 Docker 到底占多少

执行:

bash 复制代码
docker system df

重点看:

  • Images
  • Containers
  • Local Volumes

再查真正的大目录

这是关键:

bash 复制代码
du -xh /var | sort -hr | head -20

以及:

bash 复制代码
du -xh /var/lib/docker | sort -hr | head -20

高概率问题(90%)

通常是:

1. Docker 容器日志爆了

查看:

bash 复制代码
du -sh /var/lib/docker/containers/*

如果看到:

text 复制代码
20G
40G
60G

基本就是日志。


立即释放空间(最有效)

清空 Docker 日志

执行:

bash 复制代码
find /var/lib/docker/containers/ -name "*-json.log" -exec truncate -s 0 {} \;

通常:

text 复制代码
几秒释放几十 GB

然后马上做

删除无用镜像

bash 复制代码
docker image prune -a

删除停止容器

bash 复制代码
docker container prune

删除无用 volume

bash 复制代码
docker volume prune

一键清理(危险但有效)

bash 复制代码
docker system prune -a --volumes

注意:

会删除:

  • 未使用镜像
  • 停止容器
  • 无用 volume

然后检查 TDengine 数据目录

看看是不是它本身占用:

bash 复制代码
du -sh /var/lib/taos

如果几十 G:

需要:

  • 降低保留时间
  • 删除历史库
  • 调整 KEEP

非常重要:限制 Docker 日志大小

否则还会爆。

编辑:

text 复制代码
/etc/docker/daemon.json

加入:

json 复制代码
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

然后:

bash 复制代码
systemctl restart docker

你的系统现在属于

text 复制代码
危险状态

因为:

text 复制代码
剩余只有 1.3G

Linux:

  • journal
  • overlayfs
  • sqlite
  • docker
  • tdengine WAL

都可能瞬间写爆。


建议你现在立刻执行

第一步(马上释放空间)

bash 复制代码
find /var/lib/docker/containers/ -name "*-json.log" -exec truncate -s 0 {} \;

第二步

bash 复制代码
docker system df

第三步

bash 复制代码
du -xh /var/lib/docker | sort -hr | head

把结果发我,我可以直接帮你定位到底:

  • 日志
  • image
  • volume
  • overlay2
  • tdengine data

哪个爆了。

相关推荐
不会就选b18 分钟前
linux之进程管理(二)--替换
linux·运维·服务器
倔强的石头10623 分钟前
【Linux指南】动静态库系列(二):从源码复用到目标文件复用:为什么需要把 .o 打包成库
linux·运维·服务器
步步精BBJconn32 分钟前
从GPU服务器到数据中心:AI服务器高压连接器的应用与发展趋势
大数据·运维·服务器·人工智能·科技·物联网
码农学院3 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
大耳朵-小飞象12 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技12 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室14 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
生活爱好者!15 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器