[DISCUSSÃO] BTRFS vs EXT4

A primeira coisa que recomendaria é verificar se quotas estão desativadas:

$ sudo btrfs qg sh /

Se você não precisa de quotas e ela está ativada, desative, dependendo da distro, pode vir ativado:

$ sudo btrfs qu di /

Quanto as flags para partição raiz, eu recomendaria usar: noatime,flushoncommit,autodefrag,compress-force=zstd:2.

Se você depende de alguma aplicação que precisa saber horário e data de acesso a arquivos, não deve usar noatime, mas é uma boa opção, outra coisa é a compressão (compress-force=zstd:2), fica a seu critério se quer usar, ou se quer este nível, menor ou maior de compressão, acho que o nível 2 tem um bom compromisso entre performance e compactação para um SSD.

Se você quer ir mais fundo pode desativar COW em alguns diretórios/arquivos, como por exemplo o cache dos navegadores, você não vai sentir drasticamente impacto na performance se não fizer, mas pode ajudar. Seguir as indicações e organização que o SUSE segue é uma boa idéia também.

Arquivos de VM é bem aconselhável que você desative o COW mas mesmo assim faça um snapshot volta e meia, o melhor é automatizar com algum serviço como snapper ou btrbk.

1 curtida

Qual a diferença do compress e o force-compress?

O q o autodefrag faz?

Eu li se eu não tiver enganado que uma compactação maior do ztsd, tem melhor performance.

https://amp-reddit-com.cdn.ampproject.org/v/s/amp.reddit.com/r/btrfs/comments/bpphbz/my_benchmarks_of_the_new_zstd_levels_in_51/?amp_js_v=a6&amp_gsa=1&usqp=mq331AQFKAGwASA%3D#aoh=16049998161511&referrer=https%3A%2F%2Fwww.google.com&amp_tf=Fonte%3A%20%251%24s&ampshare=https%3A%2F%2Fwww.reddit.com%2Fr%2Fbtrfs%2Fcomments%2Fbpphbz%2Fmy_benchmarks_of_the_new_zstd_levels_in_51%2F

Valeu! Obrigado pelas dicas. :smiley:

force-compress passa por cima do algoritmo de verificação de compressibilidade dos blocos, não sei se ainda hoje o algoritmo é lento, talvez não, mas antigamente esse processo de verificação era bem lento (eram algoritmos do kernel mas de baixa performance) e valia mais a pena comprimir tudo. De qualquer forma com ZSTD, principalmente no nível 1 e 2 a performance de leitura e escrita já é muito boa e praticamente não adiciona overhead. Só indicaria o nível 1 para NVMe.

autodefrag realiza a desfragmentação do sistema de arquivos de forma “pró-ativa”, re-ordenando e unindo múltiplas pequenas operações de escrita randomica e ocasionalmente copiando blocos adjacentes para garantir contiguidade. Não opera sobre grandes extensões de dados e vai ocorrendo a medida que vão ocorrendo operações de escrita.

O impacto em termos de reescrita em SSDs é menor que a desfragmentação sob demanda, mesmo tendo algum impacto, vale a pena tentar evitar fragmentação excessiva em BTRFS, principalmente com bancos de dados pequenos que são modificados frequentemente (browser), máquinas virtuais ou se você planeja manter um histórico razoável de snapshots. Não só devido a intensificação da fragmentação em FS COW nestes casos mas também pelo fato de que múltiplos pequenos IOPS em arquivos grandes (VMs) no BTRFS podem sobrecarregar a árvore de metadados.

2 curtidas

As configurações do BTRFS eu coloco quando for instalar o sistema ou só adicionar no fstab depois de instalado? Exemplo o compress=ztsd:15, só adicionar no fstab ele já faz a compressão na hora de iniciar o sistema.

sim e não! quando vc coloca no fstab, só os novos arquivos vao ser compressos nesse nivel! para que os antigos tenho essa compressão vc precisa desfragmentar aplicando a compressão!

Esse comando:

btrfs filesystem defragment -r -v -czstd:15 /

Desfragmentar o SSD não é ruim?

é ruim se vc fizer muito! mas mesmo assim, é mais inteligente que a desfragmentação do ntfs!

Eu recomendo fazer isso apenas na hora da formatação, para comprimir os arquivos gerados durante a instalação pois tanto a boot flag de compressão atributo de arquivos não modificam o estado de um arquivo já gravado.

Vai ser a única vez que você vai precisar, e a única em que realmente é uma boa ideia fazer, posteriormente você pode arranjar um grande problema já que desfragmentar desfaz links referencias duplicando dados de snapshots previamente deduplicados.

De resto a questão envolvendo SSDs e desfragmentar, não é que seja ruim, a verdade é que qualquer coisa que gaste a vida útil do HD sem um motivo é ruim, logo se você desfragmenta sem saber porque e no fim isso não ajuda em nada (desempenho, compressão, etc), você está queimando ciclos de escrita a toa. Logo o mesmo deveria ser dito sobre ficar formatando para trocar de distro por tédio. :slightly_smiling_face:

Até o momento que vi não era possível desfragmentar utilizando nivel de compressão, infelizmente. Talvez tenham implementado já, mas não acredito.

ja pode desfragmentar aplicando compressão faz muito tempo já! com suporte ja para o zstd

leia de novo…
disse nível de compressão, não compressão…

1 curtida

4 postagens foram divididas em um novo tópico: Gostaria de sugestões sobre particionamento BTRFS

Ainda não é possível, apenas é possivel definir na hora da montagem, você pode acompanhar a issue aqui:

Eu estou esperando essa feature para comprimir arquivos “históricos” que raramente são acessados com nível máximo sem afetar o restante.

Pessoal: Tem q ter algum conhecimento pra usar o btrfs. Eu no ubuntu desde 2016: Só instalo e uso.

O cheiro de configuração “cagada” tá forte kk.

Uso Ubuntu 20.04 com btrfs sem mexer em absolutamente nenhuma configuração uso de cpu aki fica abaixo dos 20%.

Minha opinião ainda continua sobre ter conhecimento, mas hoje vejo que isso tem que vir da configuração o OS por padrão, como acontece no Fedora, que aos poucos dev’s e comunidade implementam funções ao Btrfs da melhor forma que consideram.
Hoje já temos compressão e um setup que parece cair bem em ssd e hd lento (pelo menos em meus testes). Ainda que em ssd sempre será tudo melhor…

Estão estudando como implementar o uso das snapshots com Btrfs para próximas versões…

Tudo bem. O q eu falei em outro post q percebi foi q parece q algumas distros “configuram” o btrfs de forma diferente. Tanto q a maioria dos problemas q vi o pessoal citar aqui nunca nem vi e olha q uso btrfs (No Ubuntu) faz duzentos anos kkk.