Sistema de arquivos Btrfs: Definição, características, prós e contras

O que é o sistema de arquivos Btrfs e você deveria usar?

Tentando decidir entre Btrfs e Ext4 para seu novo Linux? Este guia mostrará tudo o que você precisa saber

Teste Grátis Teste Grátis
visão geral do sistema de arquivos btrfs

Você adquiriu um novo dispositivo com Linux e já está sendo obrigado a tomar decisões críticas? Que chato! Escolher um sistema de arquivos para o Linux pode ser um desafio intimidante e nós entendemos bem essa situação. Mas não se preocupe, temos bastante experiência nesse assunto e podemos ajudar.

Hoje, discutiremos o sistema de arquivos Btrfs e como ele se compara ao sistema de arquivos EXT4.

Explicação sobre sistemas de arquivo

sistema de arquivos btrfs para linux

A maneira mais fácil de explicar um sistema de arquivos é como um banco de dados de todos os arquivos dentro de um sistema operacional. Todo sistema operacional possui um sistema de arquivos que ajuda a armazenar dados com eficiência e recuperá-los quando necessário. Um sistema de arquivos informa onde um arquivo específico é armazenado e como.

Como você pode imaginar, um sistema de arquivos é de importância crítica para o bom funcionamento de sua máquina e de todo o seu sistema de armazenamento.

Se você quiser saber mais, confira o vídeo abaixo para obter detalhes:

Teste Grátis

Para Windows XP/Vista/7/8/10/11

Teste Grátis

Para macOS X 10.10 - macOS 13

Embora o Windows e o macOS tenham sistemas de arquivos padrão que não podem ser substituídos, o Linux é único nesse aspecto – e um pouco mais exigente.

Ao instalar o Linux em seu dispositivo, você deve escolher entre os sistemas de arquivos Ext, Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, Btrfs, ZFS e swap. A opção padrão para o sistema operacional Linux é o Ext4, mas cada vez mais usuários estão optando por substituí-lo pelo Btrfs.

Por que?

Vamos descobrir.

O que é o sistema de arquivos Btrfs?

estrutura do sistema de arquivos btrfs

Como todos os outros sistemas de arquivos, ele controla o que acontece com os arquivos depois que você os modifica. O Btrfs tem uma abordagem única para isso. A principal característica desse sistema de arquivos é a chamada técnica de gerenciamento de recursos copy-on-write (COW). Este mecanismo não substitui arquivos por versões modificadas, mas preserva ambas as versões salvando uma cópia de um novo arquivo.

Uma excelente vantagem do sistema de arquivos Btrfs é que ele não cria cópias duplicadas ao criar cópias de arquivos.

Como isso é possível, você pergunta?

Em vez de copiar um arquivo como um todo, o Btrfs captura apenas a parte modificada ao tirar um snapshot. Isso é uma vantagem fantástica em termos de eficiência, pois evita a duplicação de dados. Como não há necessidade de criar uma cópia do arquivo original, o Btrfs tira snapshots pequenos que não geram bagunça.

Por esse e outros motivos, o Btrfs se tornou muito popular com o surgimento do Fedora no início dos anos 2000 – especialmente para casos de uso que envolvem amplo armazenamento e desempenho rápido.

O sistema de arquivos Btrfs também atende pelo nome de sistema de arquivos B-tree. Está estável no kernel do Linux desde 2013 e permaneceu totalmente de código aberto.

Recursos do sistema de arquivos Btrfs

O Btrfs é uma das muitas variantes do sistema de arquivos para dispositivos Linux.

Além dos snapshots, que permitem armazenar até 16 exbibytes ou 18446,7 petabytes de dados, o sistema de arquivos Btrfs oferece uma variedade de outras funcionalidades. Os usuários do Linux podem considerá-las valiosas e preferíveis às capacidades de outros sistemas de arquivos alternativos.

Alguns dos melhores recursos do sistema de arquivos Btrfs incluem o seguinte.

  • Snapshots

Já falamos sobre os snapshots como a característica mais distintiva e desejável do Btrfs, mas vamos destacá-los novamente para maior clareza. Um snapshot de arquivo é como o mecanismo de copy-on-write do Btrfs gerencia as modificações de arquivos. Tecnicamente, é um subvolume que contém os mesmos dados e metadados do arquivo original, exceto pela parte não modificada.

fazendo snapshots no sistema de arquivos btrf
  • Clonagem de arquivo

A clonagem de arquivos é o mecanismo por trás dos snapshots do Btrfs. Simplificando, é uma forma de reduzir o número de links que conectam ao mesmo inode. A operação de clonagem do Btrfs cria um novo inode para cada snapshot de arquivo, com blocos de disco que são comuns ao novo inode e ao arquivo original.

  • Desduplicação

Para aumentar o consumo de metadados e economizar espaço de armazenamento, o Btrfs faz a deduplicação de dados procurando por arquivos com blocos de dados idênticos e eliminando uma cópia desses blocos de dados, enquanto combina outras partes como cópias de arquivos clonados.

  • Armazenamento de arquivos baseado em extensão

O Btrfs é um sistema de armazenamento de arquivos baseado em extent, o que significa que cada arquivo que você armazena no Linux requer um extent separado. Arquivos maiores às vezes podem se espalhar por vários extents, caso em que os metadados os conectam. O Btrfs permite que você modifique um extent de dados inteiro, copiando para uma localização diferente para evitar perda de dados devido a uma queda de energia.

  • Trocando arquivos e partições

O sistema de arquivos Btrfs permite que você crie arquivos de swap em todos os dispositivos que usam o Kernel Linux 5.0 ou mais recente.

  • Desfragmentação on-line

Como um sistema de arquivos COW, o Btrfs lida com a fragmentação permitindo que você desfragmente o sistema de arquivos online. A desfragmentação move os extents para que os fragmentos do mesmo arquivo estejam o mais próximos e contínuos possível. Isso é importante porque a fragmentação pode reduzir significativamente a velocidade do seu sistema de arquivos.

  • Subvolumes

A árvore raiz do sistema de arquivos Btfrs se ramifica em árvores binárias. Cada árvore binária é um namespace separado que chamamos de subvolume.

subvolume btrfs
  • Encolhimento de arquivo

O sistema de arquivos compacta e descompacta automaticamente os arquivos Btrfs em segundo plano.

  • Alocação dinâmica de inodes

A alocação dinâmica de inodes permite que você armazene quantos arquivos precisar, desde que tenha espaço livre em disco. Ele distribui inodes entre arquivos em vez de alocar um número fixo de inodes.

  • Suporte RAID

Um dos recursos mais atraentes do Btrfs é o suporte para vários níveis de RAID, incluindo Btrfs RAID 0, RAID 1, RAID 10, RAID 5 e RAID 6.

  • Auto-recuperação

Os arquivos Btrfs se auto-recuperam por meio de checksums de dados e metadados. O sistema cria duas cópias de metadados para cada arquivo e depois valida ambas. Quando encontra duas cópias que não correspondem, ele identifica um arquivo corrompido comparando com a outra cópia (espelhamento de metadados). Como último passo, ele usa volumes RAID para recuperar dados danificados.

Estabilidade do Btrfs

O sistema de arquivos Btrfs está estável desde 2013. Isso significa que o Btrfs pode ser usado e totalmente funcional por um longo tempo, mas também é confiável o suficiente? Ele pode suportar grandes volumes de dados e suportar alto desempenho? Bem, isso depende de quem está perguntando.

Se você está planejando usá-lo em um ambiente de produção, algumas funcionalidades podem ainda não estar prontas. Sugerimos verificar a página oficial do status do Btrfs, onde a equipe do Btrfs compartilha atualizações sobre o progresso atual. No momento, a página declara o seguinte:

A base de código do Btrfs é estável. No entanto, novos recursos ainda estão em desenvolvimento. Todo esforço é feito para garantir que ele permaneça estável e rápido a cada confirmação. Esse ritmo acelerado de desenvolvimento significa que o sistema de arquivos melhora visivelmente a cada nova versão do Linux, por isso é altamente recomendável que os usuários executem o kernel mais moderno possível”.

Prós do sistema de arquivos Btrfs

Estas são as vantagens mais notáveis ​​do sistema de arquivos Btrfs.

  • Redimensionamento flexível e rápido com subvolumes

Pode ser mais fácil para novos usuários do Linux entender o conceito de subvolumes se os compararmos com partições. No entanto, embora se comportem de maneira semelhante, eles não são iguais. Na verdade, os subvolumes Btrfs se assemelham mais aos volumes do Logical Volume Manager (LVM) do que às partições de disco tradicionais.

Seja como for, os subvolumes Btrfs garantem um redimensionamento flexível e rápido.

Como isso é útil na prática?

Por exemplo, os subvolumes permitem que você crie root e home separadamente ao instalar o Linux. Fazer isso dividirá o espaço automaticamente, poupando o trabalho de decidir os tamanhos das partições para root e home.

  • Compactação de dados (mais espaço disponível)

O Btrfs leva muito a sério a eficiência do gerenciamento de recursos.

Um dos pontos de venda mais convincentes desse sistema de arquivos é sua capacidade de reduzir significativamente o tamanho do arquivo. Isso cria uma série de benefícios excelentes, e não estamos falando apenas de mais espaço de armazenamento – que é a evidente vantagem da compactação de dados.

Outro efeito colateral favorável da compactação de dados em um sistema de arquivos Btrfs é que ela é menos sobrecarregada para dispositivos de armazenamento de mídia baseados em flash, o que significa um ciclo de vida mais longo do dispositivo.

A compactação de dados também torna o carregamento mais rápido - a menos que você esteja executando um processo que exija acesso intenso à unidade de disco rígido. Nesse caso, acessar o disco rígido pode causar o efeito oposto e diminuir o desempenho.

  • Uso de Snapshots

Os snapshots são o recurso mais elogiado de um sistema de arquivos Btfrs porque eles organizam o espaço de armazenamento e permitem a recuperação de dados sem esforço.

Os snapshots do Btrfs são tão pequenos que não ocupam nenhum espaço de armazenamento adicional. Ainda assim, eles mantêm uma cópia de tudo dentro do sistema de arquivos.

Isso é um benefício enorme para usuários privados e empresariais, pois neutraliza um dos principais problemas que os usuários enfrentam hoje - erro humano. Se você acidentalmente deletar ou perder até mesmo uma pequena parte de um arquivo, usar snapshots pode salvá-lo de lidar com dados corrompidos ou perdidos.

Contras do sistema de arquivos Btrfs

Os seguintes contras são os pontos mais fracos do Btrfs.

  • Recuperação de corrupção problemática

Embora as somas de verificação funcionem, elas são um tanto complicadas. Outro desafio é que você não pode usar a recuperação de corrupção de arquivo Btrfs em versões desmontadas.

  • Sem criptografia no nível do sistema de arquivos

Não há como proteger rapidamente seus arquivos quando você usa o Btrfs porque não há criptografia nativa do Btrfs. Você pode adicioná-lo por meio de provedores terceirizados, se não se importar em passar por passos adicionais.

  • Fragmentação

Quando você modifica um arquivo grande que abrange várias extensões em um sistema de arquivos COW, a operação de clonagem pode espalhar arquivos originais e modificações em extensões separadas por todo o dispositivo de armazenamento. Chamamos isso de fragmentação.

A fragmentação é um problema porque diminui o desempenho.

Os usuários do Btrfs podem corrigir esse problema com a desfragmentação online, que funciona até certo ponto. A desfragmentação não é a melhor solução porque cria outra cópia de arquivo e aumenta o tamanho do snapshot.

  • Suporte instável para Raid

É isso mesmo – embora o sistema de arquivos Btrfs seja estável, o RAID é um dos elementos que ainda estão em desenvolvimento.

Btrfs vs. EXT4 – qual é o melhor?

comparação entre btrfs e ext4

A pergunta final ainda permanece - qual é melhor, Btrfs ou Ext4? Já mencionamos anteriormente que o Ext4 é o sistema de arquivos padrão do Linux. Caso você não esteja familiarizado com ele, tudo o que precisa saber é que o Ext4 é um sistema de arquivos estabelecido há muito tempo e muito confiável.

As muitas diferenças entre Btrfs e Ext4 surgem de sua diferença fundamental - Btrfs é um sistema de arquivos do tipo copy-to-write, enquanto Ext4 é um sistema de arquivos de registro (journaling). Sistemas de arquivos de registro mantêm metadados em um registro, o que os ajuda a manter o controle de arquivos e alterações de arquivos.

Infelizmente para o Ext4, os sistemas de journaling carecem de muitos recursos críticos dos sistemas COW.

Graças ao seu mecanismo COW, o Btrfs possui snapshots, desduplicação e compactação, enquanto o Ext4 não. Essencialmente, isso significa que o Btrfs pode economizar espaço e armazenar muito mais dados do que o Ext4 – até 16 vezes mais.

Além disso, o Btrfs pode gerenciar vários dispositivos por causa de seu suporte a RAID. O Ext4 não pode.

Outra diferença crítica é que o Btrfs possui uma soma de verificação, que permite a autocorreção e a recuperação de dados corrompidos, enquanto o Ext4 não pode ajudar com dados corrompidos.

Por outro lado, o Ext4 possui criptografia em nível de sistema, ao contrário do Btrfs. Claro, você sempre pode adicionar criptografia de terceiros ao Btrfs, mas isso ainda é um ponto para o Ext4. Como não é um sistema de arquivos copy-on-write (COW), o Ext4 não cria problemas de fragmentação, o que é outra vantagem.

Então, qual é o vencedor?

Em última análise, é uma questão de qualidade versus quantidade. Não quer dizer que o Btrfs não seja um sistema de alta qualidade, mas ainda não é estável o suficiente em comparação com o consagrado Ext4. O Btrfs fornece mais espaço, mas pode falhar. O Ext4 é muito menor, mas é robusto e confiável.

Como restaurar arquivos do sistema de arquivos Btrfs?

Digamos que você decida usar o Btrfs porque precisa de snapshots, desduplicação e compactação, o que é totalmente razoável. No entanto, e se ele falhar com você? Se o Btrfs perder seus dados, há algo que você possa fazer a respeito?

Felizmente, sim!

Não só existe uma maneira de recuperar dados do Btrfs, mas também existem três métodos diferentes que você pode usar:

  1. Undelete-Btrfs Script
  2. Btrfs Restore Utility
  3. Linux Data Recovery Software

Você pode visitar a página de Recuperação de arquivos de Btrfs para obter um guia passo a passo.

É importante mencionar que as duas primeiras opções exigem conhecimento em programação. Caso você não saiba como fazer isso ou seja um programador amador, talvez seja melhor praticar suas habilidades em outra ocasião. Cometer um erro de programação pode causar problemas ainda maiores do que a perda de dados.

A maneira mais fácil (e segura) de restaurar dados do Btrfs é com um software de recuperação de dados do Linux como o Wondershare Recoverit. O Wondershare Recoverit é uma ferramenta de recuperação de dados que pode ajudá-lo a restaurar mais de 1.000 tipos de arquivos em mais de 500 cenários de perda de dados – e no caso do Linux, também funciona por meio de uma conexão remota.

Aqui está um tutorial em vídeo sobre como usar o Wondershare Recoverit Recuperação de Dados do Linux para restaurar arquivos excluídos do Btrfs.

Teste Grátis

Para Windows XP/Vista/7/8/10/11

Teste Grátis

Para macOS X 10.10 - macOS 13

Perguntas frequentes sobre o sistema de arquivos Btrfs

Sim e não. Embora o Btrfs tenha muitos recursos excelentes de gerenciamento do sistema de arquivos, incluindo um recurso de auto-recuperação, ele ainda está em desenvolvimento e muitos usuários relatam problemas com o Btrfs no RAID 5.

Isso é inteiramente circunstancial. Btrfs e ZFS possuem características distintas que os usuários podem achar mais ou menos úteis. Aqueles que necessitam de um grande espaço de armazenamento livre tendem a preferir o Btrfs, enquanto o ZFS, em geral, é considerado mais confiável.

Sim, você pode usar o Btrfs no Windows. Também existe o Btrfs para dispositivos Mac, mas nenhum deles tem suporte oficial.

Conclusão:

Se você escolher o sistema de arquivos Btrfs em vez de outras opções disponíveis no Linux, você não vai se arrepender. Apesar de ainda estar em desenvolvimento, o Btrfs está melhorando a cada dia. Mesmo que outros sistemas de arquivos sejam mais confiáveis, a equipe do Btrfs é a mais dedicada e oferece o melhor suporte.

Além disso, o Btrfs é o único concorrente de destaque com snapshots COW e outros recursos para reduzir o tamanho de arquivos e auto-recuperação. Se você precisa de muito espaço livre, a escolha é óbvia. Mesmo que o Btrfs falhe em proteger seus dados, você sempre pode usar o Wondershare Recoverit para recuperar o que perdeu.