ncdu e du mostrano dimensioni diverse da df

Sep 05 2020

Ho un cluster Raspberry PI che esegue una configurazione Kubernetes e il nodo master ha recentemente interrotto la pianificazione dei pod a causa dello spazio su disco insufficiente sul filesystem di root (ho rimosso la macchia che impediva la pianificazione dei pod sul nodo master).

Questo è l'output per 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

Quindi cerco online modi per analizzare l'utilizzo del filesystem. Trovo principalmente articoli che suggeriscono di utilizzare due ncdu.

Uscita da 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

Uscita da 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

Entrambi ncdue dumostrano gli stessi valori, ma sono diversi da ciò che dfproduce. Mi aspettavo che entrambi mostrassero un utilizzo del disco pari a 24G, come riportato da df.

Ho già controllato online per vedere quale sia la possibile ragione di una tale differenza e ho trovato principalmente menzioni che i file eliminati ancora utilizzati dai processi occupano ancora spazio su disco, ma sembra che non abbia nulla di tutto ciò sul mio sistema.

$ sudo lsof | grep deleted $ #outputs nothing

Come posso scoprire cosa sta occupando quei 24G sul supporto di root?

NOTA : nelle esecuzioni di ncdue duho escluso la /mntdirectory perché ha solo alcune unità esterne montate lì

Risposte

2 laktak Sep 05 2020 at 20:06

È possibile che tu abbia scritto /mntquando i tuoi dischi non erano montati.

In tal caso, è necessario smontare prima i dischi esterni e quindi controllare se tutte le directory /mntsono vuote.