Diferença entre o espaço em disco do volume e o uso do disco retornado pelo ncdu

Diferença entre o espaço em disco do volume e o uso do disco retornado pelo ncdu

Meu servidor possui um volume de 130 GB conectado.

Para verificar o espaço livre do disco, executo df -h -x tmpfs -x squashfs | grep -v /run/sharede obtenho:

Filesystem      Size  Used Avail Use% Mounted on
udev            965M     0  965M   0% /dev
/dev/xvda1      128G  111G   13G  90% /

No entanto, quando desejo os detalhes do uso do disco, executando ncduno diretório raiz, recebo:

.  55,7 GiB [######### ] /home                                                                                                                           
.  24,0 GiB [####      ] /var
.   2,4 GiB [          ] /usr
    1,0 GiB [          ]  swapfile
  598,6 MiB [          ] /lib
   63,0 MiB [          ] /boot
    9,4 MiB [          ] /sbin
    9,1 MiB [          ] /bin
.   8,1 MiB [          ] /etc
.   4,3 MiB [          ] /tmp
.   2,7 MiB [          ] /run
!  24,0 KiB [          ] /root
!  16,0 KiB [          ] /lost+found
    4,0 KiB [          ] /lib64
e   4,0 KiB [          ] /opt
e   4,0 KiB [          ] /mnt
e   4,0 KiB [          ] /media
!   4,0 KiB [          ] /gandi
.   0,0   B [          ] /proc
.   0,0   B [          ] /sys
    0,0   B [          ] /dev
@   0,0   B [          ]  initrd.img.old
@   0,0   B [          ]  initrd.img
@   0,0   B [          ]  vmlinuz.old
@   0,0   B [          ]  vmlinuz
e   0,0   B [          ] /srv

Há uma diferença de cerca de 27 GB com o espaço livre em disco retornado pelo comando anterior (111 GB).

De onde vem essa diferença?

Obrigado.

Responder1

Esta questão surge com bastante frequência. A resposta curta é duusar dfmétodos diferentes para obter dados.

O sistema de arquivos aloca blocos de disco no sistema de arquivos para registrar seus dados. Esses dados são chamados de metadados que não são visíveis para a maioria dos programas de nível de usuário (como o du). Exemplos de metadados são inodes, mapas de disco, blocos indiretos e superblocos.

Ovocêcomando é um programa de nível de usuário que não reconhece os metadados do sistema de arquivos, enquanto df analisa os mapas de alocação de disco do sistema de arquivos e reconhece os metadados do sistema de arquivos. dfobtém estatísticas verdadeiras do sistema de arquivos, enquanto du vê apenas uma imagem parcial.

informação relacionada