Kubernetes 설정을 실행하는 Raspberry PI 클러스터가 있고, 루트 파일 시스템의 디스크 공간 부족으로 인해 마스터 노드가 최근 포드 예약을 중지했습니다(마스터 노드에서 포드 예약을 방해하는 오염을 제거했습니다).
이것이 출력이다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
. 나는 둘 다 df
.
이러한 불일치의 가능한 이유가 무엇인지 온라인으로 확인했으며 삭제된 파일이 여전히 디스크 공간을 차지하고 있는 프로세스에서 여전히 사용되고 있다는 언급을 대부분 발견했지만 이러한 내용은 없는 것 같습니다. 내 시스템.
$ sudo lsof | grep deleted
$ #outputs nothing
루트 마운트에서 무엇이 24G 공간을 차지하고 있는지 확인하는 방법은 무엇입니까?
노트: 실행 시 일부 외부 드라이브만 마운트했기 때문에 이 디렉터리를 제외했습니다 ncdu
.du
/mnt
답변1
/mnt
디스크가 마운트되지 않은 동안 기록했을 수 있습니다 .
이 경우 먼저 외부 디스크를 마운트 해제한 후 모든 디렉터리가 /mnt
비어 있는지 확인해야 합니다.