Btrfs

Btrfs vs OpenZFS

Btrfs vs OpenZFS
O sistema de arquivos Btrfs ou B-tree é o mais novo concorrente do OpenZFS, provavelmente o sistema de arquivos mais resistente que existe. Ambos os sistemas de arquivos compartilham algumas semelhanças, como ter soma de verificação em blocos de dados, grupos de transações e mecanismo de cópia na gravação, tornando-os direcionados aos grupos de usuários. Qual é a diferença e qual você deve usar?

1. Mecanismo de cópia na gravação (COW)

Ambos os sistemas de arquivos usam mecanismo copy-on-write. Isso significa que, se você estiver tentando modificar um arquivo, nenhum dos sistemas de arquivos tentará sobrescrever os dados existentes no disco com os dados mais recentes. Em vez disso, os dados mais recentes são gravados em outro lugar e, uma vez que a operação de gravação é concluída, o sistema de arquivos simplesmente aponta para os blocos de dados mais recentes e os blocos antigos são reciclados com o tempo. Este mecanismo permite que ambos os sistemas de arquivos tenham recursos como instantâneos e clonagem.

O COW também evita casos extremos, como gravações parciais, que podem acontecer devido ao kernel panic ou falha de energia e, potencialmente, corromper todo o sistema de arquivos. Com o COW no lugar, uma gravação aconteceu ou não aconteceu, não há meio-termo.

2. Pooling e RAID

Ambos os sistemas de arquivos pretendem eliminar a necessidade de um gerenciador de volume, raid e outras abstrações que ficam entre o sistema de arquivos e os discos. Isso é mais robusto e confiável do que ter um controlador RAID de hardware, simplesmente porque elimina um único ponto de falha - o próprio controlador RAID.

O OpenZFS oferece um mecanismo RAID estável, confiável e amigável. Você pode espelhar entre as unidades, usar RAIDZ1 que espalha seus dados por 3 ou mais discos com um bloco de paridade. Portanto, ele pode suportar até 1 falha de disco por Vdev. Da mesma forma, o RAIDZ2 pode usar 4 ou mais discos e suportar até 2 discos com falha e, da mesma forma, temos o RAIDZ3.

O Btrfs também tem esses recursos implementados, a diferença é simplesmente que ele os chama de RAID, em vez de RAIDZ e assim por diante. Algumas configurações de matriz RAID mais complicadas, como RAID56, apresentam erros e não são adequadas para uso, no momento em que este livro foi escrito.

3. Licenciamento

Uma das razões pelas quais o OpenZFS chegou tão tarde no ecossistema GNU / Linux é por causa de sua incompatibilidade de licença com GNU GPL. Sem entrar em muitos detalhes, o Btrfs está sob GPL, o que permite aos usuários pegar o código-fonte e modificá-lo, mas as modificações também devem ser publicadas sob GPL e permanecer open source.

O OpenZFS, por outro lado, é licenciado sob CDDL, que é muito mais permissivo e permite aos usuários modificar e distribuir código com um maior grau de liberdade.

4. Comunidades e empresas por trás delas

OpenZFS tem uma enorme comunidade por trás disso. A comunidade FreeBSD, a comunidade Illumos e muitos outros projetos de código aberto contam com o OpenZFS e, portanto, contribuem de volta para o sistema de arquivos. Ele cresceu várias vezes em termos de base de código, base de usuário, recursos e flexibilidade desde seu início. Empresas como Delphix, iXsystems, Joyent e muitas outras confiam nele e fazem seus desenvolvedores trabalharem porque é um componente central de seus negócios. Muitas outras organizações podem estar usando o OpenZFS sem nosso conhecimento, graças à licença CDDL, elas não precisam vir e dizer claramente que o usam.

A Btrfs tinha a Red Hat como uma das principais administradoras de sua comunidade. No entanto, isso sofreu um grande golpe um tempo atrás, quando a Red Hat desaprovou o sistema de arquivos, isso significa que você não o verá em nenhum RHEL futuro e a empresa não fornecerá suporte comercial para ele pronto para uso. O SUSE, no entanto, chegou ao ponto de torná-lo padrão e ainda é uma comunidade próspera por trás do sistema de arquivos com contribuições do Facebook, Intel e outros gorilas de 800 libras do Vale do Silício.

5. Confiabilidade

ZFS era projetado para ser confiável desde o início. As pessoas têm zpools que datam do início de 2000 que ainda podem ser usados ​​e com garantia de não retornar dados errôneos silenciosamente. Sim, houve alguns confusões com arquivos desaparecendo para o OpenZFS no Linux, mas dada sua longa história, o histórico tem sido surpreendentemente limpo.

O Btrfs, por outro lado, teve problemas desde o início. Com interfaces com erros para corrigir a perda de dados e corrupção de arquivos. Mesmo agora, é motivo de chacota na comunidade. Faça disso o que quiser.

6. SOs suportados

O Btrfs teve sua origem como um sistema de arquivos para Linux enquanto o ZFS foi concebido dentro da Sun, para Solaris OS. No entanto, o OpenZFS há muito foi portado para o FreeBSD, OS X da Apple, derivados de código aberto do Solaris. Seu suporte para Linux veio um pouco mais tarde do que se poderia prever, mas está aqui e as empresas confiam nele. Um projeto para fazê-lo funcionar no Microsoft Windows também está progredindo bastante, embora ainda não esteja lá.

Conclusão: Uma Nota sobre Monoculturas

Toda essa conversa pode convencê-lo a usar o OpenZFS para manter seus dados seguros, e isso não é um mau curso de ação. É objetivamente melhor que o Btrfs em termos de recursos, confiabilidade, comunidade e muito mais. No entanto, a longo prazo, isso pode não ser bom para a comunidade de código aberto, em geral.

Em artigo semelhante a este, o autor fala sobre o perigo das monoculturas. Eu encorajo você a ler este post. A essência disso é esta - As opções são importantes. Uma das maiores vantagens do software de código aberto (e do software em geral) é que temos várias opções para adotar. Existe o Apache e o Nginx, os BSDs e o Linux, o OpenSSL e o LibreSSL.

Se houver uma falha fatal em qualquer uma dessas tecnologias-chave, o mundo não vai parar de girar. Mas com a prevalência do OpenZFS, a tecnologia de armazenamento se transformou em uma espécie de monocultura. Então, eu gostaria muito que os desenvolvedores e programadores de sistema que estão lendo isto adotassem não o OpenZFS, mas projetos como Btrfs e HAMMER.

Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...
Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...