Como uma partição pode estar cheia se du não mostra?

1

Em um dos meus sistemas, a partição raiz está cheia:

snip:˜ # df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           11G  9.3G     0 100% /
devtmpfs        744M   36K  744M   1% /dev
tmpfs           751M     0  751M   0% /dev/shm
tmpfs           751M  296K  751M   1% /run
/dev/sda7        11G  9.3G     0 100% /
tmpfs           751M     0  751M   0% /sys/fs/cgroup
tmpfs           751M  296K  751M   1% /var/lock
tmpfs           751M  296K  751M   1% /var/run
tmpfs           751M     0  751M   0% /media
/dev/sda5       151M   39M  104M  28% /boot
/dev/sda8       4.4G  207M  3.3G   6% /home

Mas du não é exibido perto de 9,3 gigabyte de uso:

snip:~ # du /* -s -h
5.2M    /bin
34M /boot
36K /dev
22M /etc
199M    /home
154M    /lib
20M /lib64
0   /media
0   /mnt
0   /opt
0   /proc
7.9M    /root
288K    /run
7.1M    /sbin
0   /selinux
756K    /srv
0   /sys
0   /tmp
1.6G    /usr
1.1G    /var

Ele representa apenas cerca de 3 gigabytes.

  • Como isso pode ser?
  • Onde devo procurar os 6 gigabytes restantes de gigabytes usados?

Estou usando o openSUSE 12.2:

snip:~ # cat /etc/SuSE-release
openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis
    
por Jeroen Wiert Pluimers 08.09.2013 / 18:11

1 resposta

1

Primeiro, algumas informações básicas

Se você tiver btrfs no seu sistema de arquivos raiz em link , então duas coisas acontecerão:

  1. O openSUSE iniciará automaticamente usando pargo para tirar snapshots do seu sistema de arquivos raiz.
  2. os instantâneos ocuparão espaço em disco que du não exibe

Isso significa que você ficará sem espaço em disco antes do esperado. Portanto, a recomendação (não nos documentos) é para faça partições que usem instantâneos duas vezes maiores do que você faria normalmente .

Não encontrei uma maneira de mostrar o tamanho por instantâneo ou o tamanho total de todos os instantâneos.

Portanto, você precisa monitorar seu espaço livre em disco com df ou este comando específico do btrfs para o sistema de arquivos raiz ( / ):

btrfs filesystem df /

Limpar os instantâneos do snapper

Obrigado a NerdyRoom ™» As alegrias do btrfs e OpenSuSE - ou "sem espaço deixado no dispositivo". Descobri a maneira mais fácil de excluir os snapshots mais antigos que você pode querer excluir (e você precisa fazer quando ficar sem espaço em disco).

Primeiro, execute snapper list para ver o número sequencial de instantâneos que estão lá.

A partir dessa lista, selecione um limite inferior e superior razoável dos instantâneos a serem excluídos.

Em seguida, execute isso com o limite inferior ( 1 ) e superior ( 3656 ):

for i in 'seq 1 3656'; do snapper delete $i; done

Editar 20161212:

Um usuário anônimo sugeriu uma edição para torná-lo mais curto. Concordo, pois o acima pode ser feito de forma mais curta conforme a página do manual do snapper :

snapper delete 1-3656
    
por 08.09.2013 / 21:07