Apresentando o Btrfs - Nova geração de sistema de arquivos para GNU/Linux

Este artigo tem o objetivo de apresentar o mais novo sistema de arquivos, que até o momento, é considerado o File System da próxima geração para sistemas GNU/Linux.

[ Hits: 32.979 ]

Por: Edson em 18/06/2012


Apresentando o Btrfs



Um pouco da história e o objetivo do projeto Btrfs.

Btrfs é um sistema de arquivos cujo desenvolvimento foi iniciado em 2007 na Oracle Corporation. Seu principal desenvolvedor é Chris Mason. Chris Mason, é um engenheiro que trabalhava em ReiserFS para SUSE, e juntou-se à Oracle em 2007 para desenvolver um novo sistema de arquivos com recursos não existentes em muitos sistemas de arquivos.

Atualmente Btrfs está sendo desenvolvido com muito esforço, não só pela Oracle, mas com participação de empresas de nomes impactantes, como Intel, SUSE, Red Hat e Fujitsu. O mesmo é considerado o sistema de arquivos da próxima geração para sistemas GNU/Linux.

Btrfs na versão 1.0, foi originalmente programado para lançamento em finais de 2008, e foi finalmente aceito no kernel Linux padrão, a partir de 2.6.29, em 2009. Várias distribuições GNU/Linux começaram a oferecer o Btrfs, como um experimental, na escolha do sistema de arquivos raiz durante a instalação, incluindo as seguintes distros:
  • Arch Linux
  • openSUSE 11.3
  • SLES 11 SP1
  • Ubuntu 10.10
  • Linux Sabayon
  • Red Hat Enterprise Linux 6
  • Fedora 15
  • Oracle Enterprise Linux 6.1
  • MeeGo
  • Debian
  • Slackware 13.37

Alguns dos principais objetivos deste novo sistema de arquivos é torná-lo 100% eficaz em tolerância de falhas e erros, inibindo perda de dados por problemas que podem vir acontecer, assim, como fazer um gerenciamento dos volumes criados com Btrfs, permitindo aumentar e diminuir seu tamanho com o sistema de arquivo montado, e ainda fazer com que o mesmo seja o mais veloz e tenha um poder de armazenamento muito grande.

Com estes recursos, entre outros, com certeza será um sistema de arquivos do futuro, não acham?

Tais recursos que os desenvolvedores desejam implantar já existem no sistema de arquivos ZFS da Sun Microsystem, proprietária dos SO Solaris e OpenSolaris. Por isso que muitos consideram o Btrfs, o ZFS para GNU/Linux.

Em 2011, características de desfragmentação foram anunciadas para a versão do kernel Linux 3.0. Além de Mason da Oracle, um desenvolvedor da Fujitsu contribuiu com mudanças de desempenho.

- Mas por que desenvolver um novo sistema de arquivos e não aperfeiçoar os sistemas de arquivos já existentes?

De acordo com o site do projeto, apesar do GNU/Linux ter uma grande variedade de sistemas de arquivos que podem ser usados, existem uma série de desafios com escala para os subsistemas de armazenamento de grande porte, que estão se tornando comum em centros de dados atuais.

Sistema de arquivos precisa de escala na sua capacidade de enfrentar e gerenciar o armazenamento de grande porte, e também na sua capacidade de detectar, reparar e tolerar erros nos dados armazenados no disco.

Estas necessidades em si dariam muito trabalho em implantar em um sistema de arquivos que foi desenvolvido com estes recursos, por isso que os desenvolvedores estão tentando 'reinventar a roda'.

Em 2008, o principal desenvolvedor do ext3 e ext4, sistemas de arquivos, Theodore , afirmou que, embora houvesse melhoras das características de 'ext4' , não teve um grande avanço, pois o mesmo utiliza tecnologia obsoleta, e é um tapa-buracos; Theodore acredita que Btrfs é a melhor direção de avanço porque "ele oferece melhorias em confiabilidade, escalabilidade e facilidade de gerenciamento". Btrfs também tem "um mesmo número das ideias que o projeto Reiser3 / 4 teve".

Notem que o sistema de arquivos padrão para instalação em uma série de distros corporativas e livres, usa 'ext4' como padrão e outras ainda usam 'ext3', no entanto, estes sistemas de arquivos, entre outros, não contém uma série de recursos que são de grande necessidade, como por exemplo, grande capacidade de armazenamento e a tolerância de falhas não são tão eficazes em todos os sistemas de arquivos, apesar de usarem journaling.

Justamente estes recursos que faltam nos sistemas de arquivos serão implementados no novo sistema de arquivos de acordo com os desenvolvedores.

Principais recursos do sistema de arquivos Btrfs:
  • Conversão do sistemas de arquivos ext3 e ext4 para Btrfs;
  • Desfragmentação com o sistema de arquivos montado;
  • Gerenciamento de volumes lógicos integrados no sistema de arquivos permitindo o aumento e diminuição do espaço total;
  • Suporte a RAID 0, RAID 1 e RAID 10;
  • Snapshots com sistema de arquivos montados, imagine que um 'snapshot' é uma imagem do volume lógico, fazer uma duplicata de um sistema congelando uma delas, ou seja, um backup em tempo real;
  • Backup incremental eficiente e espelhamento de FS;
  • Verificação do sistema de arquivos montado 'on-line' e desmontado 'off-line', ambas de forma muita rápida;
  • Checksums sobre os dados e metadados, isso é uma das garantias de manter a integridade dos dados armazenados;
  • Alocação dinâmica de inodes: com esse recurso (lembre-se o que inodes são estruturas que contém informações sobre os arquivos) haverá uma diminuição de desperdício de espaço. Outros sistemas de arquivos têm blocos de tamanho fixo para alocação, no Btrfs o tamanho do bloco (lembre-se que os dados no disco fica armazenado em blocos) será justamente do tamanho do arquivo a ser alocado;
  • Compressão com zlib e LZO;
  • Eficiência de organização de diretórios e arquivos;
  • Tamanho máximo de um arquivo é 16 Exabytes.

Existem outros recursos que não mencionei, mas nem todos os recursos mencionados e planejados pelo projeto Btrfs ainda foram implantados.

Como todo usuário, vem no mínimo um pouco de curiosidade de testar e ver como o sistema se comporta com Btrfs, fazendo inicialmente testes de desempenho.

Então deixo um link que mostra um benchmark feito pela Phoronix comparando ext4 com Btrfs usando um kernel Linux na versão 3.3:

Considerações

O desenvolvedores não aconselham que use o Btrfs em seus sistemas de armazenamento em produção, pois ele é considerado como instável, seu uso é recomendado pelos desenvolvedores apenas para benchmarks e análises, mesmo com os kernels mais atuais oferecendo suporte para o mesmo.

Mas, quando o mesmo ficar estável e ter implantando todos os recursos desejados (algo que vai levar um tempo), vai ficar um sistema de arquivos bem completo e, como citado antes, de outra geração.

Referências


   

Páginas do artigo
   1. Apresentando o Btrfs
Outros artigos deste autor

Incron - supervisionando sistemas de arquivos

Clonezilla - Servidor de imagens (Parte II)

Multiboot pelo pendrive usando grub2: instalando várias distros a partir de uma unidade de armazenamento móvel

Compilando Kernel no CentOS 6.0

Sistemas de arquivos para GNU/Linux

Leitura recomendada

Arquivos duplicados? fdupes neles!

Cotas de Disco

Instalando e configurando um servidor CVS com Subversion

Linux - Quota de disco

Solucionando problemas no sistema de arquivos

  
Comentários
[1] Comentário enviado por removido em 18/06/2012 - 08:27h

Tinha uma nota em algum lugar dizendo que "'a comunidade' foi largando aos poucos o ReiserFS por causa de antipatia pelo cara ter dado 'kill -s 9' na esposa".

Citam também o fato de o BtrFS ser o atual "queridinho" da árvore do kernel, até por ter a ver com patrocínio de grandes empresas, sendo qua o suporte a outros FS ficaram em segundo plano.

Mais ou menos parecida com a política oficiosa em torno dos pacotes ".deb" e dos pacotes ".rpm".

Do projeto Reiser4 nada mais vejo como se via há algum tempo.


[2] Comentário enviado por fernandowx em 18/06/2012 - 08:57h

Interessante, ainda não tinha lido nada a respeito do Btrfs.

[3] Comentário enviado por andrecanhadas em 18/06/2012 - 10:37h

Muito bom o artigo vamos torcer para essas maravilhas propostas como os snapshots, redimensionamento com partição montada e blocos do tamanho do arquivo estejam em breve funcionando, por enquanto o Btrfs deixa muito a desejar e vou dando prioridade para o reiserfs e o xfs

[4] Comentário enviado por emccomputadores em 18/06/2012 - 12:02h

Muito boa, com certeza uma ótima evolução para o SO.

[5] Comentário enviado por mcnd2 em 18/06/2012 - 22:53h

Com esses recursos funcionando estável, com certeza vai ser um gerenciador de arquivos que revolucionará os sistemas já existentes...

Parabéns pelo artigo.

[6] Comentário enviado por eabreu em 24/06/2012 - 18:23h

Obrigado pelos comentários pessoal.

[7] Comentário enviado por jarlisson em 23/07/2012 - 05:07h

Quanto mais eu tenho contato com programadores de alto nível, mas me interesso por programação de baixo nível & hardware
cães > bits > humanos

[8] Comentário enviado por Fabio_Farias em 01/08/2012 - 11:19h

Artigo muito bom. Parabéns.
Pena haver tão pouca documentação sobre o btrfs. Gostaria muito de mais detalhes sobre ele principalmente a respeito do funcionamento e gerenciamento do sistema de snapshots. Coisa que até o momento só consegui razoavelmente ver como funciona no openSUSE 12.1 com o snapper.
Abraços!

[9] Comentário enviado por eabreu em 01/08/2012 - 12:35h

Obrigado pelo comentário Fábio.

Na realidade fábio pretendo escrever um artigo e publicar o mesmo aqui no VOL, abordando características, funcionalidades como as que foram abordadas aqui nesse artigo até a utilização de todos os seus recursos como snapshots, redicionamento, e finalizar com um bom benchmark.

Mas não iniciarei tal trabalho até que os desenvolvedores façam o Btrfs ficar estável.

[10] Comentário enviado por Fabio_Farias em 01/08/2012 - 14:27h

Ficamos no aguardo então. Mas o btrfs acho que demora ainda para ficar estável. Sistema de arquivos é algo muito delicado. Tem que ser exaustivamente testado antes de ser colocado em produção. Ainda mais o btrfs que se colocar em prática todos os recursos prometidos haverá migração em massa para ele.
Abraços!

[11] Comentário enviado por clodoaldops em 24/02/2017 - 10:49h

Btrfs já está estável???

**********************************************
Meu Blog
http://dicaslinuxmint.blogspot.com.br/

[12] Comentário enviado por eabreu em 25/02/2017 - 13:56h

De acordo com site do projeto sim, está estável. Nem todas as features foram implementadas, e pra ter as features mais recentes em estado stable use sempre a versão mais recente do kernel linux.

Mas nem sempre o que é usavel e estável para outras pessoas pode ser pra mim e você, né verdade ? Então é melhor testar por um longo período.

Para acompanhar o andamento do desenvolvimento acesse a página https://btrfs.wiki.kernel.org/index.php/Main_Page

[13] Comentário enviado por Fabio_Farias em 02/03/2017 - 09:11h

No meu uso pessoal eu considero o Btrfs estável. Uso ele há pelo menos uns 4 anos na partição / de cada versão do openSUSE lançada desde o 11.4. No começo, apresentou alguns problemas que foram facilmente resolvidos com um "btrfs check --repair <device>". Hoje uso sem nenhum problema. Já usei ele até no /home com todos meus arquivos lá. Mas atualmente o Btrfs esta somente na partição / (raiz) pois os dados estão em uma partição NTFS por causa do dual-boot com o Windows. Se quiser testar o Btrfs você não precisa formatar a partição. Basta converter de ext4 para btrfs utilizando o método oficial. Depois, caso não goste do sistema, poderá reverter novamente para ext4 sem problemas.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts