我有一个运行 Kubernetes 设置的 Raspberry PI 集群,并且主节点最近停止了调度 pod,因为根文件系统上的磁盘空间不足(我删除了阻止主节点上的 pod 调度的污点)。
这是输出df
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 24G 4.3G 85% /
devtmpfs 3.6G 0 3.6G 0% /dev
tmpfs 3.7G 0 3.7G 0% /dev/shm
tmpfs 3.7G 1.3M 3.7G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup
/dev/sda1 229G 60M 217G 1% /mnt/nfs/storage-04-ssd-250gb
/dev/sdb1 229G 60M 217G 1% /mnt/nfs/storage-01-ssd-250gb
/dev/sdc1 7.3T 2.0T 5.3T 28% /mnt/nfs/storage-03-hdd-8tb
/dev/mmcblk0p1 253M 54M 199M 22% /boot
tmpfs 758M 0 758M 0% /run/user/1000
所以我在网上搜索分析文件系统使用情况的方法。我主要找到建议使用du
和的文章ncdu
。
输出来自du
$ sudo du -cbsh --exclude /mnt /
du: cannot access '/proc/23440/task/23440/fd/3': No such file or directory
du: cannot access '/proc/23440/task/23440/fdinfo/3': No such file or directory
du: cannot access '/proc/23440/fd/4': No such file or directory
du: cannot access '/proc/23440/fdinfo/4': No such file or directory
7.3G /
7.3G total
输出来自ncdu
sudo ncdu -er / --exclude /mnt
4.0 GiB [##########] /var
2.5 GiB [###### ] /usr
687.0 MiB [# ] /lib
104.2 MiB [ ] /opt
53.6 MiB [ ] /boot.bak
53.6 MiB [ ] /boot
30.3 MiB [ ] /home
11.5 MiB [ ] /sbin
11.1 MiB [ ] /bin
5.1 MiB [ ] /etc
1.2 MiB [ ] /run
44.0 KiB [ ] /root
36.0 KiB [ ] /tmp
e 16.0 KiB [ ] /lost+found
e 4.0 KiB [ ] /srv
e 4.0 KiB [ ] /media
0.0 B [ ] /sys
. 0.0 B [ ] /proc
0.0 B [ ] /dev
< 0.0 B [ ] mnt
ncdu
和都du
显示相同的值,但这些值与输出不同df
。我预计它们都显示磁盘使用量达到 24G,正如df
.
我已经在网上检查过,看看造成这种差异的可能原因是什么,我主要发现提到进程仍在使用的已删除文件仍然占用磁盘空间,但我的系统上似乎没有任何这些。
$ sudo lsof | grep deleted
$ #outputs nothing
如何找出根挂载上的 24G 空间被什么占用了?
笔记:在执行中ncdu
,du
我排除了该/mnt
目录,因为它只安装了一些外部驱动器
答案1
您可能/mnt
在磁盘未安装时进行了写入。
在这种情况下,您应该先卸载外部磁盘,然后检查所有目录是否/mnt
为空。