[DISCUSSÂO] BTRFS vs EXT4

Galera, resolvi fazer esse tópico para saber a opinião de vocês. EXT4 é um sistema de arquivos muito popular no mundo da informática, principalmente para distros Linux. É o sistema de arquivos padrão para diversas distros, rivalizado apenas por suas versões antigas e agora pelo sistema de partições que já tem “Melhor” no nome, o Btrfs. Como alguns sabem, uso openSUSE Tumbleweed na minha máquina com btrfs para a partição do sistema e ext4 para partição home (evitar arquivos corrompidos por falta de energia em XFS). No entanto, houve momentos os quais resolvi desativar o quota para ver se o btrfs-clean parasse de tomar um núcleo inteiro de processamento para apenas uma tarefa. O meu PC é dual core com hyperthreading ativado para simular dois núcleos extras. Mas o btrfs é bom para snapshots caso uma atualização do sistema quebre alguma coisa, e é o único motivo de eu ainda usar btrfs. Mas e vocês? Usam Btrfs, ext4 ou algum outro sistema de arquivos em seu computador?

4 Curtidas

No momento só uso ext4.
Ainda não testei outros sistemas de arquivos.

tem o F2FS, talvez vale a pena utilizar em ssd.

atualmente a árvore disponível File systems - ArchWiki

File system Creation command Userspace utilities Archiso [1] Kernel documentation [2] Notes
Btrfs mkfs.btrfs(8) btrfs-progs Yes btrfs.txt Stability status
VFAT mkfs.fat(8) dosfstools Yes vfat.txt
exFAT mkexfatfs(8) exfat-utils Yes N/A (FUSE-based)
F2FS mkfs.f2fs(8) f2fs-tools Yes f2fs.txt Flash-based devices
ext3 mke2fs(8) e2fsprogs Yes (base) ext3.txt
ext4 mke2fs(8) e2fsprogs Yes (base) ext4.txt
HFS mkfs.hfsplus(8) hfsprogsAUR No hfs.txt macOS (8–10.12) file system
JFS mkfs.jfs(8) jfsutils Yes (base) jfs.txt
NILFS2 mkfs.nilfs2(8) nilfs-utils Yes nilfs2.txt
NTFS mkfs.ntfs(8) ntfs-3g Yes N/A (FUSE-based) Windows file system
ReiserFS mkfs.reiserfs(8) reiserfsprogs Yes (base)
UDF mkfs.udf(8) udftools Optional udf.txt
XFS mkfs.xfs(8) xfsprogs Yes (base) xfs.txt

xfs-delayed-logging-design.txt
xfs-self-describing-metadata.txt||

3 Curtidas

O btrfs tem muito mais flexibilidade, chega a ser covardia comparar com o ext4.

Mas o ext4 tem a vantagem da simplicidade com recurso de journal. É muito estável.

Nesses últimos dois anos usando no meu desktop tive dois eventos de erros no sistema de arquivos com btrfs. Em um deles houve correção, mas no outro evento o sistema de arquivos ficou bloqueado apenas leitura. Então mesmo com chances de ter dados corrompidos devido as diversas funcionalidades, eu não teria perdido dados.

Outro ponto é que para tirar o máximo de proveito do btrfs precisa estudar o sistema, mexer e aprender. De preferência não no seu sistema de produção. A grande chance de perder dados é fazendo “barbeiragens” na administração dele.

Como eu ainda não me dediquei a estudar o btrfs no detalhe, estou usando ext4 no sistema raiz e btrfs no /home.

5 Curtidas

Pois é. Perdão pela comparação. Mas eu não conheço muito as vantagens e diferenças entre os dois, por isso criei o tópico. Na prática, para mim até agora, o btrfs só tem a vantagem de snapshots mais facilitado com o snapper.

2 Curtidas

Eu depois que larguei o ReiserFS3 por volta de 2004, passei pelo xfs, jfs e utilizei um pouco o btrfs, hoje estou com o EXT4 pois é muito estável e em matéria de desempenho acaba se saindo muito bem em comparação aos que eu já utilizei, isto executando em HDS, comecei a utilizar o EXT4 quando voltei ao fedora com um pé atrás pois o EXT3 era muito sensível a quedas de energia assim como o jfs e o xfs, por isto acabava utilizando o ReiserFS3, mas hoje não penso em trocar, a não ser que eu adquira um SSD.
Mas para arquivos para uso em desktop o ReiserFS3 na época era muito superior em questão de recuperação em casos de queda de energia recuperando o superbloco ou a árvore com um simples comando.
Isto é minha opinião para utilização em desktops, cada sistema de arquivos tem seu uso específico e tolerância a falhas com utilização de nobreaks por exemplo, logo o que é bom para minha utilização no desktop, arquivos pequenos, pode não ser útil para sua utilização em um banco de dados e por aí vai, existem diversos benchmarks para cada situação bastando jogar no seu sistema de buscas favorito.

3 Curtidas

Uso EXT4 o BTRFS engole um dos núcleos do processador aqui

2 Curtidas

Notei um uso excessivo de CPU aqui, hoje mesmo instalei o Debian buster com BTRFS, fazia tempos que não fazia uma instalação com BTRFS, da ultima que fiz foi com o Ubuntu logo quando o BTRFS foi introduzido, e inclusive achei o apt bem mais lento para instalar remover aplicações, pode não ser o caso, mas vou fazer outros testes principalmente com arquivos pequenos.

2 Curtidas

Alguém já testou o F2FS em um ssd?

Não tenho SSD mas você pode ver os benhmarks com o kernel 5.0 aqui.

https://www.phoronix.com/scan.php?page=article&item=linux-50-filesystems&num=1

2 Curtidas

Valeu…
Ele se sai bem comparados com os outros , mas no quesito recuperação não sei como é.

tem o
Checking and repair

Checking and repairs to f2fs file systems are accomplished with fsck.f2fs provided by [f2fs-tools]

1 Curtida

A parte de recuperação, tem que dar um lida no manual do sistema de arquivos, por exemplo eu mesmo prefiro usar relatime no ext4 ao invés do noatime pois acho interessante ter acesso a última modificação(acesso) do arquivo, tem muitas opções para explorar.
PS: relatime não é indicado para SSD ok, só para constar.

se não me engano relatime já vem por padrão
defaults

Use default options: rw , suid , dev , exec , auto , nouser , async , and relatime.

Nunca reparei diferença entre noatime e relatime no quesito velocidade

1 Curtida

Mas algumas distros além do defaults colocam noatime, noatime é mais rápido pois não grava todo acesso e alteração ao arquivo, normalmente não tem problemas, mas dependendo do tipo de arquivo isto dá BO, principalmente em caso de ferramentas de backup.

No btrfs:

  • podem ser criados diferentes volumes na partição, cada volume com suas opções (subvolumes).
  • podem ser configuradas diferentes partições como um só sistema de arquivo, inclusive operando em modo raid.
  • compressão de arquivos e pastas, de forma transparente e selecionado por arquivos/pastas.
  • redimensionamento de sistema de arquivos com o sistema montado!
  • Verificação da integridade do sistema de arquivos em background (ponto positivo mas muitos citaram como negativo devido ao consumo de processamento e disco durante a atividade de “scrub”. No ext4 para correção o sistema precisa estar desmontado)
  • snapshots são parte do sistema de arquivos. O snapper apenas facilita o gerenciamento deles. Você pode fazer facilmente via linha de comando desde que o sistema de arquivos seja um subvolume da partição.

Todos esses pontos tem a desvantagem da complexidade e custo de processamento. Na ocorrencia de uma queda de energia/kernel panic há maior chance do sistema de arquivos perder a consistência. Nos servidores esses riscos são mitigados e o sistema operacional fica ligado o tempo todo, então a verificação acontece poucas vezes. No desktop dificilmente as pessoas usam no-breaks e ligam seus sistemas todos os dias, gerando verificações diárias no btrfs.

7 Curtidas

Fala do btrfs-clean e btrfs-transactl? Esses dão problema mesmo. Mas vários tutoriais dizem para desativar o quota e fazer a manutenção por tempo ao invéz de por espaço.

Sabe me dizer qual processo está fazendo uso excessivo de CPU? Agora fiquei curioso

2 Curtidas

Eu acabei formatando uma nova instalação em XFS, fiquei p* da vida que com o XFS nem deu boot, já iniciou com uma checagem de falha, como eu não tenho mais tempo nem paciência para resolver todo problema que aparece, refiz a instalação com EXT4 mesmo.

Eu gostaria muito de aprender a usar o BTRFS. Alguém pode me indicar alguma coisa?

Estou atualmente usando o KDE Neon, mas estou querendo muito usar o openSUSE TW com esse sistema de partição para aprender mesmo e “me shieldar” as cagadas costumeiras de um Padawan nas terras do Rolling Release. :stuck_out_tongue_winking_eye:

1 Curtida

Recomendo você pesquisar muito e praticar instalando o Arch Linux pois ai vc vai aprender na pratica sobre o sistema, diferente do OpenSuse que ja tem tudo mastigado!

3 Curtidas

Estou usando no ArchLinux, e até agora tudo 100% e sobre problemas que outros comentaram sobre alto uso de CPU eu ainda não vi isso! BTRFS vc tem que estudar pra saber quais flags de montagem usar, o btrfs por padrão na maioria das distros fazem a instalação dele de modo errado de acordo com a wiki do btrfs, inclusive eu mesmo fiz uma instalação errada na hora de criar os subvolumes, mas até o presente momento está sendo um ótimo sistema de arquivos, estou usando ja faz anos desde o debian 9!

o @MetaKomora me mostrou que estava tendo alto uso de memoria ram por causa da fragmentação do sistema mas melhorou colocando a flag de desfragmentar os subvolumes no boot, eu ainda nao tive essa experiencia! Sobre perda de energia, nunca tive problema com o sistema de arquivos corromper alguma coisa, nisso achei melhor que o EXT4 alem do btrfs ser mais rapido que o EXT4 para leitura quanto para escrita! alguns testes do phoronix podem dizer ao contrario que o ext4 é mais rapido, mas até o momento nao foi isso que tive de experiencia! testei ontem o XFS numa cópia de arquivos e ele foi mais lento que o BTRFS! por enquanto estou sendo o pastor do BTRFS e só tenho alegria com ele! o Snapshots dele é incrivel!

Os problemas relacionados ao BTRFS em que o pessoal comentou mais acima, eu repito que pode ser como o BTRFS foi configurado, tambem pode ser a versão do kernel, e em qual distro foi instalada!

1 Curtida

4 Curtidas