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

哪个爆了。

相关推荐
程序员-Benothing9 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_646429979 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
linux 进程信号 (上)
linux·服务器
亚川楼宇自控系统数据中心厂家10 小时前
IBMS 集成管理系统:如何打通楼宇自控实现建筑一体化管控
运维
15Moonlight10 小时前
Linux网络(02):Socket 编程 UDP
linux·网络·udp
迪康Defender10 小时前
终端安全审批体系设计:如何平衡安全管控与业务连续性
运维·服务器·安全·运维开发·学习方法·业界资讯·远程工作
wuminyu10 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
liulilittle11 小时前
Linux 下 select 测试函数
linux·服务器·网络·数据库·c++·select·c
DongQiShanRen11 小时前
玄龙(上):TICK 主循环——意识心跳怎么跳
linux·jvm·数据库·人工智能·数据挖掘·rust
小此方11 小时前
Linux网络(二十一):深入理解 TCP 异常处理:网线断开、Keepalive 保活机制与 Linux 内核传输层协议源码剖析
linux·网络·tcp/ip