Executando o OpenSuse 12.2.
De repente, a partição raiz parece estar cheia (99%), mas não consigo mais remover arquivos manualmente.
"rm: não é possível remover xxx: não há espaço no dispositivo", embora 450mb ainda estejam livres de acordo com df. O sistema de arquivos é BTRFS.
Tentei verificar o FS usando o btrfsck, mas não ajudou.
O que fazer?
Respostas:
Provavelmente, você está enfrentando um problema em que o BTRFS precisa alocar um pouco de metadados antes de remover o arquivo. Um dos pontos fracos do BTRFS é o manuseio da condição de falta de espaço; melhorar o comportamento nessa área é uma das prioridades do projeto.
Uma sugestão no wiki do btrfs é bloquear o arquivo em vez de removê-lo.
Isso removerá o conteúdo do arquivo sem alterar a entrada do diretório. Depois de sair do canto em que está, você poderá excluir os arquivos normalmente. Se isso lhe causar problemas, convém remontar temporariamente com a
nodatacow
opção, que desativa o comportamento de copiar na gravação. Mas ... não tenho certeza se isso vai ajudar ou não.Em geral, porém: não execute um sistema de arquivos BTRFS seco. Ainda é um software de pré-produção, e as caixas de canto são um pouco ásperas.
fonte
Eu enfrentei a mesma mensagem de erro, mas no meu caso, o sistema de arquivos não foi relatado como completo:
Mas perguntar ao BTRFS revelou que estava realmente cheio:
Mesmo sobrescrever qualquer arquivo (como sugerido por tylerl) era impossível. Minha solução foi encontrada em http://marc.merlins.org/perso/btrfs/post_2014-05-04_Fixing-Btrfs-Filesystem-Full-Problems.html, que recomenda executar um reequilíbrio manual do sistema de arquivos usando
btrfs balance start -dusage=55 /path/to/filesystem
.fonte
Para mim, usando o ZFS, descobri que a exclusão de outros arquivos liberava espaço suficiente na partição ZFS e, em seguida, pude excluir os arquivos em questão.
fonte
No meu caso, com um sistema de arquivos ZFS no Linux, eu não conseguia nem truncar o arquivo. Destruir instantâneos antigos fez o truque (se presente).
zfs destroy /path/of/snapshot
fonte