我有一台正在运行的服务器,许多 docker 容器在上面运行,容量约为 400Gb,使用的存储空间为 290GB 并且使用率还在增加。磁盘空间安装在“/”上。
以下是以 root 身份运行的“df -h”的输出:
tmpfs 6.0G 71M 6.0G 2% /run
/dev/xvda1 392G 295G 88G 78% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 394G 295G 84G 78%
/var/lib/docker/aufs/mnt/a8c1cc295d615ac7c24ae570f0e6a0872587b767f61d9261560a55a3b6c900ed
none 394G 295G 84G 78% /var/lib/docker/aufs/mnt/ec3e8f485e970a92400d7d36d4ca1b18638a1d1ecbbe65162ba4666e75358ec6
以下是 sudo du -h / | grep -P '^[0-9.]+G' 的输出
1.1G /var/lib/docker/aufs/mnt/8d2bc80c9409a84a2b8cea5e35f55ad4d2c6b8f9937db3f23c988c09bd1c0e64
1.1G /var/lib/docker/aufs/mnt/68f8312eb34763bcaf7833215adf9974c3e812b9cff6c668fd131cd0c4c2f1ff
1.9G /var/lib/docker/aufs/mnt/0e14789b512e25d900bf2140d68e0e4e82842be2645fdb3c4ffad402d1fb0260
1.2G /var/lib/docker/aufs/mnt/1ca8b96421d90ea310cad9f2b41b116ade03f65fd61666018849dcab470bc54f
1.4G /var/lib/docker/aufs/mnt/4e8bbe5c78cddb019f1393e97a3784f6a2083779c43ba05f5bff1daf4c9a6f13
28G /var/lib/docker/aufs/mnt
22G /var/lib/docker/aufs/diff
49G /var/lib/docker/aufs
50G /var/lib/docker
50G /var/lib
50G
问题:
1.我不确定是否要跑步“df-h”而不是仅仅展示“/”挂载为什么它也显示 /var/lib/.... 作为挂载点。
2.关于跑步“sudo du -h / | grep -P'^[0-9.]+G'”为什么我运行时只显示 50G 以内的磁盘消耗,而不是整个磁盘消耗杜针对显示的挂载点自由度
du -hs /var/lib/* 的输出
8.0K /var/lib/apparmor
127M /var/lib/apt
4.0K /var/lib/aptitude
50G /var/lib/docker
removed other entries because they were very small in size
更新:当我删除所有正在运行的容器时,磁盘空间利用率就会下降到 7%。这让我认为有一个恶意容器正在填满空间,因为需要将近 10 小时才能将磁盘空间提升到 80%。
我可以采取什么步骤来找出恶意容器?
山 :
/dev/xvda1 ext4 412704840 312914896 82913940 80% /
none aufs 412704840 312914896 82913940 80% /var/lib/docker/aufs/mnt/a8c1cc295d615ac7c24ae570f0e6a0872587b767f61d9261560a55a3b6c900ed
答案1
我回答了同样的问题问题几次之前。尝试执行lsof | grep delete
,以查找未被查看du
但占用磁盘空间的已删除文件。您还可以找到锁定此文件的进程 PID。