Suponhamos que você tenha inodes ao invés de blocos de disco - ou seja, você tem o limite do número de arquivos que o sistema de arquivos pode armazenar, em vez do limite da quantidade total de dados.
Você pode usar df -i
para verificar isso.
Depois de passar um dia esmagando minha cabeça na mesa, eu gostaria de receber ajuda.
Estou executando um Squid-Proxy no Fedora 14. Mesmo se eu tentar touch /tmp/foo
, eu receberei o erro "não há espaço disponível no dispositivo". Eu já corri fsck
. Se eu excluir um arquivo de 1MB, por exemplo, posso armazenar 1 MB de dados novamente, mas não mais do que isso. É importante notar que tenho muito espaço livre:
df
output:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 16311208 7614872 7867768 50% /
tmpfs 1028548 0 1028548 0% /dev/shm
/dev/sda1 198337 55345 132752 30% /boot
/dev/sdb1 25803036 19407324 5084996 80% /mnt/squid-cache
Alguém tem uma ideia do que eu posso tentar "recuperar" o espaço livre?
Suponhamos que você tenha inodes ao invés de blocos de disco - ou seja, você tem o limite do número de arquivos que o sistema de arquivos pode armazenar, em vez do limite da quantidade total de dados.
Você pode usar df -i
para verificar isso.
O Linux reserva uma porcentagem de blocos para o superusuário. É normalmente definido em 5%. 50% é excepcionalmente alto. Com tune2fs -m
você pode mudar isso.
Isso pode acontecer se você estiver usando o btrfs e, nesse caso, esses remédios não funcionarão.
Depois de seguir vários caminhos falsos, finalmente cheguei ao caminho certo depois de começar a pesquisa com
btrfs no
e obtivemos
btrfs no space left on device
como a primeira conclusão. Isso levou ao wiki do problema BTRFS. Aparentemente, é um problema comum.
Mas mesmo assim, não foi tão fácil resolver o meu problema. Consegui executar os utilitários corretos iniciando no modo de recuperação, fazendo a seleção que monta meus sistemas de arquivos e, em seguida, descendo para o root.
O artigo da wiki dizia executar o equilíbrio do btrfs, mas isso não funcionaria para todos os sistemas de arquivos, e eventualmente eu encontrei meu caminho aqui (que também é o segundo resultado da pesquisa.)
Se o seu sistema de arquivos estiver realmente cheio, o equilíbrio não será executado. Ou será executado apenas para valores pequenos de -dusage.
A receita, neste caso, está na parte inferior do post. Achei confuso e o rejeitei como uma solução no início porque o pôster remove os instantâneos, que eu assumi serem essenciais, e como eu não estava tirando os instantâneos, achei que não era aplicável. Mas aconteceu. O passo do instantâneo pode ser importante para alguns, mas não foi para mim.
O remédio, na visão geral, é:
A postagem referenciada fornece as etapas da linha de comando.