{"id":366,"date":"2012-09-22T22:23:08","date_gmt":"2012-09-23T01:23:08","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=366"},"modified":"2012-09-22T22:23:08","modified_gmt":"2012-09-23T01:23:08","slug":"apresentando-o-btrfs-nova-geracao-de-sistema-de-arquivos-para-gnulinux","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=366","title":{"rendered":"Apresentando o Btrfs &#8211; Nova gera\u00e7\u00e3o de sistema de arquivos para GNU\/Linux"},"content":{"rendered":"<p><strong>Apresentando o Btrfs<\/strong><\/p>\n<p>Um pouco da hist\u00f3ria e o objetivo do projeto <em>Btrfs<\/em>.<\/p>\n<p>Btrfs \u00e9 um sistema de arquivos cujo desenvolvimento foi iniciado em 2007 na Oracle Corporation. Seu principal desenvolvedor \u00e9 <em>Chris Mason<\/em>. Chris Mason, \u00e9 um engenheiro que trabalhava em ReiserFS para SUSE, e juntou-se \u00e0 Oracle em 2007 para desenvolver um novo sistema de arquivos com recursos n\u00e3o existentes em muitos sistemas de arquivos.<\/p>\n<p>Atualmente Btrfs est\u00e1 sendo desenvolvido com muito esfor\u00e7o, n\u00e3o s\u00f3 pela Oracle, mas com participa\u00e7\u00e3o de empresas de nomes impactantes, como Intel, SUSE, Red Hat e Fujitsu. O mesmo \u00e9 considerado o sistema de arquivos da pr\u00f3xima gera\u00e7\u00e3o para sistemas <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>.<\/p>\n<p>Btrfs na vers\u00e3o 1.0, foi originalmente programado para lan\u00e7amento em finais de 2008, e foi finalmente aceito no kernel <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a>padr\u00e3o, a partir de 2.6.29, em 2009. V\u00e1rias distribui\u00e7\u00f5es GNU\/Linux come\u00e7aram a oferecer o Btrfs, como um experimental, na escolha do sistema de arquivos raiz durante a instala\u00e7\u00e3o, incluindo as seguintes distros:<\/p>\n<ul>\n<li>Arch Linux<\/li>\n<li>openSUSE 11.3<\/li>\n<li>SLES 11 SP1<\/li>\n<li>Ubuntu 10.10<\/li>\n<li>Linux Sabayon<\/li>\n<li>Red Hat Enterprise Linux 6<\/li>\n<li>Fedora 15<\/li>\n<li>Oracle Enterprise Linux 6.1<\/li>\n<li>MeeGo<\/li>\n<li>Debian<\/li>\n<li>Slackware 13.37<\/li>\n<\/ul>\n<p>Alguns dos principais objetivos deste novo sistema de arquivos \u00e9 torn\u00e1-lo 100% eficaz em toler\u00e2ncia 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.<\/p>\n<p>Com estes recursos, entre outros, com certeza ser\u00e1 um sistema de arquivos do futuro, n\u00e3o acham?<\/p>\n<p>Tais recursos que os desenvolvedores desejam implantar j\u00e1 existem no sistema de arquivos <em>ZFS<\/em> da Sun Microsystem, propriet\u00e1ria dos SO <em>Solaris<\/em> e <em>OpenSolaris<\/em>. Por isso que muitos consideram o Btrfs, o ZFS para GNU\/Linux.<\/p>\n<p>Em 2011, caracter\u00edsticas de desfragmenta\u00e7\u00e3o foram anunciadas para a vers\u00e3o do kernel Linux 3.0. Al\u00e9m de Mason da Oracle, um desenvolvedor da Fujitsu contribuiu com mudan\u00e7as de desempenho.<\/p>\n<p>&#8211; Mas por que desenvolver um novo sistema de arquivos e n\u00e3o aperfei\u00e7oar os sistemas de arquivos j\u00e1 existentes?<\/p>\n<p>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\u00e9rie de desafios com escala para os subsistemas de armazenamento de grande porte, que est\u00e3o se tornando comum em centros de dados atuais.<\/p>\n<p>Sistema de arquivos precisa de escala na sua capacidade de enfrentar e gerenciar o armazenamento de grande porte, e tamb\u00e9m na sua capacidade de detectar, reparar e tolerar erros nos dados armazenados no disco.<\/p>\n<p>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\u00e3o tentando &#8216;reinventar a roda&#8217;.<\/p>\n<p>Em 2008, o principal desenvolvedor do <em>ext3<\/em> e <em>ext4<\/em>, sistemas de arquivos, Theodore , afirmou que, embora houvesse melhoras das caracter\u00edsticas de &#8216;ext4&#8217; , n\u00e3o teve um grande avan\u00e7o, pois o mesmo utiliza tecnologia obsoleta, e \u00e9 um tapa-buracos; Theodore acredita que Btrfs \u00e9 a melhor dire\u00e7\u00e3o de avan\u00e7o porque &#8220;ele oferece melhorias em confiabilidade, escalabilidade e facilidade de gerenciamento&#8221;. Btrfs tamb\u00e9m tem &#8220;um mesmo n\u00famero das ideias que o projeto Reiser3 \/ 4 teve&#8221;.<\/p>\n<p>Notem que o sistema de arquivos padr\u00e3o para instala\u00e7\u00e3o em uma s\u00e9rie de distros corporativas e livres, usa &#8216;ext4&#8217; como padr\u00e3o e outras ainda usam &#8216;ext3&#8217;, no entanto, estes sistemas de arquivos, entre outros, n\u00e3o cont\u00e9m uma s\u00e9rie de recursos que s\u00e3o de grande necessidade, como por exemplo, grande capacidade de armazenamento e a toler\u00e2ncia de falhas n\u00e3o s\u00e3o t\u00e3o eficazes em todos os sistemas de arquivos, apesar de usarem journaling.<\/p>\n<p>Justamente estes recursos que faltam nos sistemas de arquivos ser\u00e3o implementados no novo sistema de arquivos de acordo com os desenvolvedores.<\/p>\n<p>Principais recursos do sistema de arquivos Btrfs:<\/p>\n<ul>\n<li>Convers\u00e3o do sistemas de arquivos ext3 e ext4 para Btrfs;<\/li>\n<li>Desfragmenta\u00e7\u00e3o com o sistema de arquivos montado;<\/li>\n<li>Gerenciamento de volumes l\u00f3gicos integrados no sistema de arquivos permitindo o aumento e diminui\u00e7\u00e3o do espa\u00e7o total;<\/li>\n<li>Suporte a RAID 0, RAID 1 e RAID 10;<\/li>\n<li>Snapshots com sistema de arquivos montados, imagine que um &#8216;snapshot&#8217; \u00e9 uma imagem do volume l\u00f3gico, fazer uma duplicata de um sistema congelando uma delas, ou seja, um backup em tempo real;<\/li>\n<li>Backup incremental eficiente e espelhamento de FS;<\/li>\n<li>Verifica\u00e7\u00e3o do sistema de arquivos montado &#8216;on-line&#8217; e desmontado &#8216;off-line&#8217;, ambas de forma muita r\u00e1pida;<\/li>\n<li>Checksums sobre os dados e metadados, isso \u00e9 uma das garantias de manter a integridade dos dados armazenados;<\/li>\n<li>Aloca\u00e7\u00e3o din\u00e2mica de inodes: com esse recurso (lembre-se o que inodes s\u00e3o estruturas que cont\u00e9m informa\u00e7\u00f5es sobre os arquivos) haver\u00e1 uma diminui\u00e7\u00e3o de desperd\u00edcio de espa\u00e7o. Outros sistemas de arquivos t\u00eam blocos de tamanho fixo para aloca\u00e7\u00e3o, no Btrfs o tamanho do bloco (lembre-se que os dados no disco fica armazenado em blocos) ser\u00e1 justamente do tamanho do arquivo a ser alocado;<\/li>\n<li>Compress\u00e3o com zlib e LZO;<\/li>\n<li>Efici\u00eancia de organiza\u00e7\u00e3o de diret\u00f3rios e arquivos;<\/li>\n<li>Tamanho m\u00e1ximo de um arquivo \u00e9 16 Exabytes.<\/li>\n<\/ul>\n<p>Existem outros recursos que n\u00e3o mencionei, mas nem todos os recursos mencionados e planejados pelo projeto Btrfs ainda foram implantados.<\/p>\n<p>Como todo usu\u00e1rio, vem no m\u00ednimo um pouco de curiosidade de testar e ver como o sistema se comporta com Btrfs, fazendo inicialmente testes de desempenho.<\/p>\n<p>Ent\u00e3o deixo um link que mostra um benchmark feito pela Phoronix comparando ext4 com Btrfs usando um kernel Linux na vers\u00e3o 3.3:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.phoronix.com\/scan.php?page=article&amp;item=linux_33_btrfs&amp;num=1\">Linux 3.3 Kernel: Btrfs vs. EXT4 &#8211; phoronix.com<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1>Considera\u00e7\u00f5es<\/h1>\n<p>O desenvolvedores n\u00e3o aconselham que use o Btrfs em seus sistemas de armazenamento em produ\u00e7\u00e3o, pois ele \u00e9 considerado como inst\u00e1vel, seu uso \u00e9 recomendado pelos desenvolvedores apenas para benchmarks e an\u00e1lises, mesmo com os kernels mais atuais oferecendo suporte para o mesmo.<\/p>\n<p>Mas, quando o mesmo ficar est\u00e1vel 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\u00e7\u00e3o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apresentando o Btrfs Um pouco da hist\u00f3ria e o objetivo do projeto Btrfs. Btrfs \u00e9 um sistema de arquivos cujo desenvolvimento foi iniciado em 2007 na Oracle Corporation. Seu principal desenvolvedor \u00e9 Chris Mason. Chris Mason, \u00e9 um engenheiro que trabalhava em ReiserFS para SUSE, e juntou-se \u00e0 Oracle em 2007 para desenvolver um novo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51],"tags":[194,196,195,156],"class_list":["post-366","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-btrfs","tag-ext3","tag-ext4","tag-sistema-de-arquivos"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=366"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions"}],"predecessor-version":[{"id":367,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/366\/revisions\/367"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}