哪些东西占用了overlayfs的空间

哪些东西占用了overlayfs的空间

我有一个带有只读根文件系统和安装在其上的读写overlayfs的linux:

# mount
overlayfs on / type overlayfs (rw,relatime,lowerdir=/root_ro/,upperdir=/root_rw/)
...

Overlayfs 几乎已满

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
overlayfs              4003548   3995012      8536  99% /
...

如何识别消耗overlayfs读/写部分的文件?不du区分 ro 和 rw 介质上占用的空间。我-fstype type在 中找到了该选项find,但我的 linux 有 busybox,并且发现那里不支持该选项。

编辑:添加输出cat /proc/mounts

rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /dev devtmpfs rw,relatime,size=1026976,nr_inodes=256744,mode=755 0 0
/dev/sda1 /root_rw ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
ubi0:rootfs /root_ro ubifs ro,noatime,nodiratime 0 0
overlayfs / overlayfs rw,relatime,lowerdir=/root_ro/,upperdir=/root_rw/ 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620 0 0

答案1

在覆盖文件系统中并没有真正的“什么占据空间”的概念。工会的每个分支都有自己的空间占用。du在两个分支上运行。如果它变得更满,那么读写分支就是罪魁祸首。

由于覆盖挂载遮蔽了其分支(/root_ro并且/root_rw被 上的挂载隐藏/),因此您需要获得对分支的访问权限。您可以通过再次挂载块设备来做到这一点(Linux 支持这一点,至少对于大多数块设备类型而言):

mkdir /media/root_ro /media/root_rw
mount /dev/sda1 /mnt/root_rw
mount ubi0:rootfs /mnt/root_ro
du /mnt/root_ro /mnt/root_rw

答案2

卸载覆盖文件系统,然后将其安装到其他位置并使用du.如果我理解正确的话,你应该可以看到其中的内容。

相关内容