읽기 전용 루트 파일 시스템과 읽기-쓰기 오버레이가 마운트된 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
. 제가 올바르게 이해했다면 내용을 볼 수 있을 것입니다.