Eu tenho um computador openSUSE que começou com o BtrFS cedo (como o Leap 42.2). Em um momento no passado, o subvolume /tmp ficou cheio (um arquivo grande) e não consegui recuperar espaço até a reinicialização ( rm
acionou um No space left on device
). Então tudo parecia bom por pelo menos um ano.
Mas recentemente (no Leap 15.1 nesse meio tempo) o BtrFS ficou cheio novamente, e eu me perguntei o que fazer: eu tive muitos instantâneos como este:
# ls -l /.snapshots/
total 4
drwxr-xr-x 1 root root 32 Dec 18 2015 1
drwxr-xr-x 1 root root 32 May 14 09:45 1820
drwxr-xr-x 1 root root 66 May 14 09:46 1821
...
drwxr-xr-x 1 root root 32 Aug 8 08:08 1926
drwxr-xr-x 1 root root 38 Aug 8 08:09 1927
drwxr-xr-x 1 root root 38 Aug 8 08:12 1928
Depois de ter verificado todas as somas de verificação dos blocos com sucesso (sem problemas), iniciei um "saldo" esperando que algum espaço livre aparecesse. Mas o equilíbrio nunca parecia terminar, então tentei abortá-lo. Depois de esperar pelo menos 15 minutos para o balance abortar, reiniciei o computador para tentar outra coisa. Naquela época, o sistema de arquivos estava 99% cheio.
Pensei em limpar o instantâneo mais antigo ( 1
) usando rm -rf /.snapshots/1
. Infelizmente, depois de terminar, os programas essenciais /usr
desapareceram e meu sistema não inicializou!
Então, minha pergunta é: esse é o comportamento esperado ou fiz algo errado? Se fiz algo errado, qual é o procedimento correto para remover instantâneos antigos?
Parece que os problemas observados após a remoção
/.snapshots/1
não são tanto um recurso do BtrFS por si só, mas um (errado?) recurso do SUSE Linux:Não me lembro qual era o sistema de arquivos raiz, mas em um sistema SLES 15.0 comparável, notei que o instantâneo
1
foi montado como sistema de arquivos raiz (por qualquer motivo):Então
subvol=/@/.snapshots/1/snapshot)
parece ser a causa raiz.