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.
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.
- 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/.
6 replies on “Diferenças entre os sistemas de arquivos Ext4 e Btrfs”
[…] Os sistemas de arquivos para linux , Link 3, Link 4, Link 5, Link 6. mais usuais são: Ext4 , jfs, XFS, ReiserFS (do programador Americano, descendente de Alemães, Hans Thomas Reiser) , Link 7, e BtrFS. […]
Parabéns pelo artigo, bem explicado!
nao sei se vc ja’ leu. mas acho que vale a pena > https://www.semanticscholar.org/paper/BTRFS-The-Linux-B-Tree-Filesystem-Rodeh-Bacik/d0b6d2075a653d60452b6df0fced4ee0ae093dd2
Li agora, obrigado! 😉
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!
Veja como converter partições Ext4 para o sistema de arquivos BTRFS, neste post: https://elias.praciano.com/2017/01/como-converter-uma-particao-ext4-para-btrfs/