btrfs logo

Diferenças entre os sistemas de arquivos Ext4 e Btrfs

O sistema de arquivos Btrfs foi lançado no final de Julho de 2013 — é um sistema de arquivos relativamente novo, escrito do zero e que ainda está provando a que veio.
Surgiu da necessidade dos desenvolvedores de ter um sistema que incluísse pooling, snapshots e checksums, entre outros recursos — presentes também no ZFS.
ext4 vs btrfs

A pronúncia do nome, em inglês, é alvo de uma (bem leve) polêmica.
Pode ser Butter FS, Better FS ou B-Tree FS — sendo que, este último, está mais próximo do nome original.

Diferenças básicas entre o Ext4 e o Btrfs

Já que muitos usuários Linux, que desejam experimentar o novo sistema, vêm do Ext4, faz sentido enumerar alguns pontos que realçam as diferenças entre os dois:

  • O Ext4 ainda é a melhor escolha, no desktop do usuário comum — por ser mais rápido na transferência de arquivos e por ser mais maduro
  • O Btrfs tem vários recursos, que são novidades, tais com o Copy-on-Write, snapshots, checksums extensivos, scrubbing, duplicação dos dados, informações de autocorreção (self-healing) etc.
  • Os recursos de RAID-Z, presentes no ZFS, ainda são experimentais, neste momento, no Btrfs.
  • O Btrfs é fruto de um esforço patrocinado pela Oracle Corporation, Fujitsu e Red Hat — abaixo, há uma relação mais completa.
  • O Ext4 foi desenvolvido por Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts’o, Eric Sandeen, Sam Naghshineh, entre outros.
  • O Btrfs tem suporte no Linux; O Ext4 tem suporte nativo no Linux, no FreeBSD e no Android.

O Btrfs faz parte da nova geração de sistemas de arquivos do Linux, projetada para tirar o máximo dos novos dispositivos e métodos de armazenamento, como as unidades SSD.
Se você está acostumado a usar LVM e RAID para gerenciar os seus dados, o Btrfs está pronto para substituí-los.
O snapshot é um conceito semelhante à captura de telas com o PrtScr.
O recurso consiste em fazer uma cópia em imagem de um subvolume Btrfs em um determinado ponto no tempo — o que é muito mais rápido do que um backup tradicional e não implica em parar o sistema.
Você pode tirar snapshots do seu sistema quando quiser — o mais comum é fazê-lo antes de instalar algum novo programa ou fazer alterações significativas.
Este recurso permite voltar “no tempo”, se algo der errado.

A lista atual de empresas que contribuem para o código do Btrfs, é a seguinte:

  • Facebook
  • Fujitsu
  • Fusion-IO
  • Intel
  • Linux Foundation
  • Netgear
  • Novell/SUSE
  • Oracle
  • Red Hat
  • STRATO AG

Quais são os recursos disponíveis no Btrfs

À medida em que as unidades de armazenamento vão aumentando suas capacidades e os SSD caminham para se tornar padrão de mercado, espera-se que os sistemas de arquivos façam sua escalada para atender às novas demandas que a tecnologia impõe.

No artigo Introdução ao sistema de arquivos Btrfs, explicamos, com maior riqueza de detalhes, os recursos presentes no sistema.

Até o momento, a capacidade do Btrfs, inclui os seguintes itens:

  • Capacidade de armazenamento de arquivos com tamanhos de até 2^64 byte == 16 EiB (Em função do VFS do Linux, o limite prático é 8 EiB)
  • Empacotamento de arquivos pequenos, para fazer uso eficiente do espaço.
  • Diretórios indexados, também para uso eficiente do espaço.
  • Alocação dinâmica de inodes.
  • Um snapshot pode ser alterável (writable) ou não (read-only).
  • Suporte a subvolumes — sistemas de arquivos raiz internos e separados.
  • Checksums sobre dados e metadados (crc32c)
  • Compressão por algoritmos zlib ou LZO.
  • Suporte a dispositivos múltiplos integrados.
  • Recursos de detecção de armazenamento em SSD ou flash — com suporte nativo a TRIM/Discard, com relatório de blocos livres para reuso.
  • Backup incremental eficiente.
  • Processo de limpeza (scrub) em background para encontrar e corrigir erros em arquivos com cópias redundantes.
  • Desfragmentação online.
  • Verificação do sistema de arquivos offline.
  • Conversão local de sistemas de arquivos Ext3 ou Ext4.
  • Dispositivos semente ou semeadores — Em inglês, são chamados seed devices.
    Refere-se a capacidade de criar sistemas de arquivos (apenas de leitura) que funcionam como moldes para criar outros sistemas de arquivos Btrfs.
  • Suporte a quota em subvolumes.
  • Relatórios de mudanças em subvolumes.
  • Espelhamento incremental eficiente de sistemas de arquivos.

Outros recursos estão em desenvolvimento para o sistema, o que inclui:

  • Checagem offline e mais rápida do sistema de arquivos.
  • Checagem online do sistema de arquivos.
  • Remoção e espelhamento no nível do objeto.
  • Algoritmos de checksum alternativos.
  • Deduplicação in-band (ocorre durante as gravações).
  • Adição de outros algoritmos de compressão: Snappy, LZ4.

Referências

https://help.ubuntu.com/community/btrfs.
https://btrfs.wiki.kernel.org/index.php/Main_Page.
http://www.differencebtw.com/difference-between-btrfs-and-ext4/.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), desenvolvedor web e geek, nos mais diversos assuntos. Entusiasta de software livre e hacker de LEGO, acredito em repassar meu conhecimento e ajudar as pessoas sempre que for possível.

2 comentários sobre “Diferenças entre os sistemas de arquivos Ext4 e Btrfs”

  1. Olá! sou novo no Debian e estou gostando muito de usar esta distro; A minha duvida é: instalei o Debian 8.6 ambiente Gnome e Ext4; Gostaria de saber se posso mudar para Btrfs sem haver a necessidade de reinstalar o SO. Obrigado!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *