btrfs ERRO: erro durante o balanceamento - Não há espaço disponível no dispositivo

14

Meu sistema Kubuntu 12.04 ficou sem espaço na partição raiz e não será inicializado. O comando df -h mostra muito espaço disponível (com apenas 37% usado):

/dev/sda2        45G   17G   29G  37%

A página a seguir indica que devo executar o comando balance:

link

$ sudo btrfs fi balance start -dusage=5 /mount/point

Não estou totalmente confiante de que esta é a melhor abordagem, mas é a única que encontrei. No entanto, quando eu executo esse comando, recebo este erro:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Eu recebo o mesmo erro com:

$ sudo btrfs fi balance start -dusage=1 /mount/point

Qual é a solução correta?

    
por MountainX 16.12.2014 / 05:30

3 respostas

13

Existem maneiras de executar balance nessa situação.

sudo btrfs fi show
sudo btrfs fi df /mount/point
sudo btrfs fi balance start -dusage=10 /mount/point

Se o comando balance terminar com "Concluído, precisou realocar 0 de XX partes", será necessário aumentar o parâmetro de porcentagem "dusage" até que pelo menos um fragmento seja realocado.

se o comando de saldo falhar com:

ERROR: error during balancing '/blah/blah/blah' - No space left on device

Você pode realmente precisar excluir arquivos do dispositivo para criar espaço. Em seguida, execute o comando balance novamente.

No entanto, graças ao Blog do Marc: btrfs - Corrigindo o Btrfs Problemas Completos no Sistema de Arquivos aqui é outra opção:

One trick to get around this is to add a device (even a USB key will do) to your btrfs filesystem. This should allow balance to start, and then you can remove the device with btrfs device delete when the balance is finished. It's also been said on the list that kernel 3.14 can fix some balancing issues that older kernels can't, so give that a shot if your kernel is old.

    
por 16.12.2014 / 07:55
0

Eu tentei de tudo na resposta aceita, e o blog de Marc, incluindo incrementar o parâmetro -dusage e adicionar outro dispositivo de bloco, tudo sem sucesso. Mesmo depois de excluir alguns arquivos e liberar um pouco de espaço no disco que estava cheio, balance não pôde ser concluído. Por alguma razão, sempre parecia estar movendo dados para o disco quase cheio. No final, o que funcionou para mim foi restringir o balanceamento ao dispositivo completo:

btrfs balance start -ddevid=<dev_id> <path>

onde o dev_id pode ser encontrado com:

btrfs fi show 
    
por 31.08.2018 / 13:39
0

sudo apt-btrfs-instantâneo delete-antigo-do que 3d Exclui instantâneos com mais de 3 dias. À medida que você move os dados, os dados de snapshot ficam fora do lugar e os dados reais precisam ser gravados em vários locais na unidade. Isso remove instantâneos referentes a dados antigos em locais antigos e libera esses setores para uso novamente. Eu também recomendo que o duper desmonte dados e extensões no sistema de arquivos btrfs.

    
por 14.11.2018 / 06:14