Ho un piccolo /
ext3 partizione su un'unità 2T che sembra avere una discrepanza nel suo spazio libero. Come posso determinare cosa lo sta causando e come può essere risolto.
Dopo aver provato tutto ciò che mi veniva in mente, ho forzato un fsck all'avvio che non ha avuto alcun effetto.
Ho altri sistemi configurati in modo identico che non presentano questa condizione.
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.7G 8.9G 318M 97% /
# du -shx --max-depth 1 /
5.2G /
# lsof | awk 'BEGIN {t=0} /(deleted)/ {t+=$7} END {print t}'
0
# tune4fs -l /dev/sda1 | grep -E 'state|Free|Reserve|size|Inode'
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem state: clean
Inode count: 2621440
Reserved block count: 131029
Free blocks: 212317
Free inodes: 2487281
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 639
Inodes per group: 32768
Inode blocks per group: 1024
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
Inode size: 128
Modifica:
fsck
dice che la partizione è per il 2% non contigua.
Per confronto con du
sopra (scarsezza):
# du -hxs --apparent-size /
4.9G /
Risposta accettata:
L'unica spiegazione che mi viene in mente è che hai delle cose nascoste dietro un punto di montaggio, fuori dalla portata di du
.
Su Linux, puoi eseguire un montaggio vincolante del filesystem di root in modo da poterlo vedere tutto su un punto di montaggio diverso. Quindi dai un'occhiata più da vicino agli elementi nascosti dai punti di montaggio nella vista originale.
mkdir /root/root-rebound
mount -o bind / /root/root-rebound
du -sc $(df -P | awk 'NR>2 {print "/root/root-rebound" $6}')