Ao usar btrfs, por que os valores "Size", "Used" e "Avail" do df não correspondem?


9

Eu tenho uma partição btrfs. Quando corro df -h, mostra:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       113G  101G  8.3G  93% /home

De Por que isso? É porque o espaço reservado para raiz como w2 ext2 / 3/4? Ou é outra coisa? Se for o primeiro, como posso alterá-lo e recuperar esses 4 GB?

Conforme o wiki do btrfs , eu sei que os metadados são armazenados duas vezes, o que aumenta o tamanho dos dados "Utilizados":

user@machine:~$ df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             894G  311G  583G  35% /
                            ^^^^
user@machine:~$ btrfs fi df /
Metadata: total=18.00GB, >>used=6.10GB<<  *2=  12.20GB
Data: total=358.00GB, >>used=298.37GB<<   *1= 298.37GB
System: total=12.00MB, >>used=40.00KB<<   *1=   0.00GB
                                           == 310.57GB 
                                           ~~ 311   GB

Mas isso ainda não explica por que Usado + Disponível <Tamanho.


btrfs.wiki.kernel.org/articles/f/a/q/FAQ_1fe9.html - leia "Por que existem tantas maneiras de verificar a quantidade de espaço livre?" seção, tem muita informação.
— 28512 Mat

Sim, possui muitas informações, mas em todos os seus exemplos Used + Avail = Size na dfsaída. Eu atualizei a pergunta com isso.
— sup

Será que lsofmostram os arquivos apagados? (A saída btrfs do seu sistema teria sido um pouco mais apropriada do que a partir do wiki.)
— Mat

Eu sei, mas eu estava com preguiça de reformatá-lo e é analógico. Se lsof |grep 'DEL'|wc -ldá o número de arquivos apagados, é 338. Eles não parecem grande embora (I podem obter seu tamanho global de alguma forma?)
— sup

11
@ Mat Aqui está um link de trabalho para as Perguntas frequentes sobre o BTRFS: Por que existem tantas maneiras de verificar a quantidade de espaço livre?
— ali_m

Respostas:


10

A menos que você especifique o contrário ao formatar, o padrão é armazenar cópias duplicadas dos blocos de metadados para aumentar a confiabilidade. Você provavelmente tem 2 GB de metadados armazenados duas vezes, usando 4 GB. Você pode ver mais detalhes com btrfs filesystem df.

Em particular, 1,75 GB é alocado para metadados, portanto, consome o dobro ou 3,5 GB de espaço. Atualmente, apenas 385mb desses 1,75 GB são usados ​​para metadados, mas os 1,75 GB completos são reservados para esse uso e, portanto, não são contabilizados no espaço disponível para dados do arquivo


btrfs filesystem df /homedá, Metadata, DUP: total=1.75GB, used=385.70MBentão eu tenho cerca de 771MB de metadados armazenados, juntamente com dados, chega a 101G, mas não explica por que usado + Avail <tamanho - expandi a questão para refletir isso.
— sup

4
@sup, 1,75 GB é alocado para metadados, portanto, consome o dobro ou 3,5 GB de espaço. Atualmente, apenas 385mb desses 1,75 GB são usados ​​para metadados, mas os 1,75 GB completos são reservados para esse uso e, portanto, não são contabilizados no espaço disponível para os dados do arquivo.
— psusi

Ah, agora eu entendo. Eu acho que os exemplos do wiki btrfs usam apenas um df antigo que não sabia disso. Obrigado pela resposta!
— sup
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.