btrfs balance “Não há espaço disponível no dispositivo” sem sucesso em nenhum valor -dusage e -musage

1

Eu tenho o seguinte problema com btrfs balance start / em um btrfs em um LVM de 140 GB com 4 dispositivos físicos (caso isso seja importante):

  • sudo btrfs balance start / falha com ERROR: error during balancing '/': No space left on device
  • sudo btrfs balance start / -dusage=83 causa Done, had to relocate 0 out of 145 chunks (vários valores < 83 (0, 20, 60, 80) causam o mesmo resultado)
  • sudo btrfs balance start / -dusage=84 causa ERROR: error during balancing '/': No space left on device (valores múltiplos > 84 (90, 95) causam o mesmo resultado)
  • sudo btrfs balance start / -musage=1 causa ERROR: error during balancing '/': No space left on device
  • sudo btrfs balance start / -musage=0 resulta em Done, had to relocate 1 out of 144 chunks ou Done, had to relocate 2 out of 145 chunks durante várias invocações sem qualquer padrão que reconheça

du -x -h / reporta 41 GB de tamanho de arquivo, o que me faz acreditar que o btrfs poderia fornecer mais espaço livre do que ele.

dmesg contém vários

[1579308.336992] BTRFS info (device dm-0): 1 enospc errors during balance

Depois de adicionar a opção de montagem enospc_debug , vejo muito

[1584022.768838] BTRFS: block group 2562951479296 has 1073741824 bytes, 1040130048 used 0 pinned 0 reserved 
[1584022.768840] BTRFS critical (device dm-0): entry offset 2562951479296, bytes 561152, bitmap yes
[1584022.768847] BTRFS critical (device dm-0): entry offset 2563085697024, bytes 425984, bitmap yes
[1584022.768854] BTRFS critical (device dm-0): entry offset 2563219914752, bytes 1355776, bitmap yes
[1584022.768861] BTRFS critical (device dm-0): entry offset 2563354132480, bytes 606208, bitmap yes
[1584022.768867] BTRFS critical (device dm-0): entry offset 2563488350208, bytes 11956224, bitmap yes
[1584022.768874] BTRFS critical (device dm-0): entry offset 2563614498816, bytes 495616, bitmap no
[1584022.768881] BTRFS critical (device dm-0): entry offset 2563616403456, bytes 28672, bitmap no
[1584022.768888] BTRFS critical (device dm-0): entry offset 2563616440320, bytes 40960, bitmap no
[1584022.768895] BTRFS critical (device dm-0): entry offset 2563622567936, bytes 16375808, bitmap yes
[1584022.768902] BTRFS critical (device dm-0): entry offset 2563756785664, bytes 1331200, bitmap yes
[1584022.768909] BTRFS critical (device dm-0): entry offset 2563891003392, bytes 434176, bitmap yes
[1584022.768915] BTRFS info (device dm-0): block group has cluster?: no
[1584022.768917] BTRFS info (device dm-0): 0 blocks of free space at or bigger than bytes is

em dmesg .

Um tópico na lista de discussão do Linux recomenda usar um kernel mais novo.

Estou com esse problema desde o Ubuntu 15.10 e agora 16.04 com o Linux 4.4.0-34-generic e 4.4.6 com btrfs-progs v4.7.3.

    
por Karl Richter 21.03.2016 / 20:08

2 respostas

0

Simples, tente excluir espaço ou colocá-lo em uma unidade. Se você conectar uma mídia removível, como um USB, normalmente, ela pode funcionar como espaço extra e evitar erros.

    
por AnonymousKingOfTBR 07.10.2016 / 06:22
0

Eu tive um problema semelhante. Tente este comando:

sudo btrfs subvolume list /

Se você vir algo como

@apt-snapshot-release-upgrade-zesty-2017-07-27_23:31:45

então você pode obter bastante espaço livre removendo todos os instantâneos de lançamento do apt anteriores a 1 dia:

sudo apt install apt-btrfs-snapshot
sudo apt-btrfs-snapshot delete-older-than 1d

Nota: Minha unidade linux tem apenas 25 GB. Antes de atualizar para o Ubuntu 17.04, eu tinha cerca de 10 GB de espaço livre, mas após a atualização restava apenas 1 GB e eu nem conseguia gravar 10 MB no disco. Depois de remover o apt-snapshot, ganhei mais 8GB de espaço livre.

    
por Michal Fapso 30.07.2017 / 10:21