Estou enfrentando um problema com espaço incorreto de fs relatado por df .
Estamos falando do servidor Ubuntu metal 14.04, com a partição / gerenciada pelo LVM.
O tamanho relatado por df é diferente do tamanho informado pelo super-bloco fs. Também calcular o tamanho de du -skh (em diretórios relacionados à partição / ) prova que df está mostrando resultados incorretos.
Isso é o que relatou por df :
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root 20G 16G 2.8G 86% /
Isso é o que o superbloco reporta (3616906*4096/1024**2=14128 MB free) :
Last mounted on: /
Filesystem magic number: 0xEF53
Filesystem state: clean
Filesystem OS type: Linux
Inode count: 1290240
Block count: 5242880 << exactly 20 GB
Reserved block count: 227170
Free blocks: 3616906 << around 14 GB free
Free inodes: 1201391
First block: 0
Block size: 4096
Fragment size: 4096
Eu fiz um strace para df e descobri que ele usa o statfs syscall para obter informações sobre um determinado fs (962132*4096/1024**2=3758 MB free) :
statfs("/", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=5129119, f_bfree=**962132**, f_bavail=730866, f_files=1290240, f_ffree=1091851, f_fsid={-456623966, 1549023591}, f_namelen=255, f_frsize=4096}) = 0
Provavelmente, o problema com statfs ou de alguma forma como é obtida a informação fs.
Para resolvê-lo, tentei remontar / partition ( mount / -orw,remount ), mas isso não ajudou.
Minha pergunta - como posso corrigir df informações sem reiniciar ou perturbar o funcionamento normal deste servidor?
P.S.
- existem não fd em espera pelo processo (
lsof +L1 | grep deleted )
- Estou ciente de que 883 MB estão reservados para o usuário com UID 0
- Este não é um problema de mascaramento de ponto de montagem (quando arquivos fs 'hide' montados no diretório de ponto de montagem)