Por que todo mundo é louco pelo ZFS?
Vamos dar uma olhada no OpenZFS que é um poderoso sistema de arquivos. Não confundam com o ZFS (desenvolvido pela Oracle).
O OpenZFS (Z File System) foi criado por Matthew Ahrens e Jeff Bonwick em 2001.
Ele foi projetado para ser um sistema de arquivos de última geração para o OpenSolaris da Sun Microsystems. Em 2008, o ZFS foi portado para o FreeBSD.
No mesmo ano, um projeto foi iniciado para portar o ZFS para o Linux. No entanto, como o ZFS é licenciado sob a Licença de Desenvolvimento e Distribuição Comum, que é incompatível com a Licença Pública Geral GNU, ele não pode ser incluído no kernel do Linux.
Para contornar este problema, a maioria das distribuições Linux oferece métodos para instalar o ZFS.
Pouco depois de a Oracle ter comprado a Sun Microsystems, o desenvolvimento adicional do ZFS tornou-se fechado.
Muitos dos desenvolvedores do ZFS ficaram insatisfeitos com esse rumo dos acontecimentos e dois terços dos devedores principais do ZFS, incluindo Ahrens e Bonwick, deixaram a Oracle e se juntaram a outras empresas para criaram o projeto OpenZFS em setembro de 2013.
O que é o ZFS? Quais são suas características?
As principais características do ZFE são:
- Armazenamento agrupado
- Copy-on-write
- Instantâneos (snapshots)
- Verificação de integridade de dados e reparo automático
- RAID-Z
- Tamanho máximo do arquivo de 16 exabytes
- Armazenamento máximo de 256 quatrilhões de zettabytes
Em um primeiro momento, essas características parecem grego. Vamos explicar:
Armazenamento agrupado
Ao contrário da maioria dos sistemas de arquivos, o ZFS combina os recursos de um sistema de arquivos e de um gerenciador de volumes.
Isso significa que, diferentemente de outros sistemas de arquivos, o ZFS pode criar um sistema de arquivos que abrange uma série de unidades ou um pool.
Não só isso, mas você pode adicionar armazenamento a um pool, adicionando outra unidade.
O ZFS manipulará o particionamento e a formatação. Isso significa que ele faz um gerenciamento de volumes integrado.
Você não precisa do LVM e usar ferramentas complicadas para diminuir ou expandir um disco lógico.
Copy-on-write
Na maioria dos sistemas de arquivos, quando os dados são sobrescritos, eles são perdidos para sempre.
No ZFS, as novas informações são gravadas em um bloco diferente. Quando a gravação estiver concluída, os metadados dos sistemas de arquivos serão atualizados para apontar para as novas informações.
Isso garante que, se o sistema travar (ou queda de energia) enquanto a gravação estiver ocorrendo, os dados antigos serão preservados. Isso também significa que o sistema não precisa executar o fsck após uma falha no sistema.
Instantâneos (snapshots)
A cópia na gravação leva a outro recurso do ZFS: instantâneos. O ZFS usa instantâneos para controlar as alterações no sistema de arquivos.
“O instantâneo contém a versão original do sistema de arquivos e o sistema de arquivos ao vivo contém as alterações feitas desde que o instantâneo foi tirado. Nenhum espaço adicional é usado. Conforme novos dados são gravados no sistema de arquivos ao vivo, novos blocos são alocados para armazenar esses dados. ”
Um arquivo é excluído, a referência de captura instantânea também é removida. Portanto, os snapshots são projetados principalmente para rastrear alterações em arquivos, mas não a adição e criação de arquivos.
Os instantâneos podem ser montados como somente leitura para recuperar uma versão passada de um arquivo. Também é possível reverter o sistema ao vivo para um instantâneo anterior.
Verificação de integridade de dados e reparo automático
Sempre que novos dados são gravados no ZFS, eles criam uma soma de verificação para esses dados.
Quando esses dados são lidos, a soma de verificação é verificada. Se a soma de verificação não corresponder, o ZFS sabe que um erro foi detectado. O ZFS tentará corrigir automaticamente o erro.
RAID-Z
O ZFS pode manipular o RAID sem precisar de nenhum software ou hardware extra.
Não é novidade que o ZFS tem sua própria implementação de RAID: RAID-Z. O RAID-Z é na verdade uma variação do RAID-5.
No entanto, ele foi projetado para superar o erro do furo de gravação RAID-5, “no qual os dados e informações de paridade se tornam inconsistentes após uma reinicialização inesperada”.
Para usar o nível básico de RAID-Z (RAID-Z1) você precisa de pelo menos dois discos para armazenamento e um para paridade.
O RAID-Z2 exigia pelo menos duas unidades de armazenamento e duas unidades para paridade. O RAID-Z3 requer pelo menos duas unidades de armazenamento e três unidades para paridade.
Quando as unidades são adicionadas aos conjuntos RAID-Z, elas precisam ser adicionadas em múltiplos de dois.
Potencial enorme de armazenamento
Quando o ZFS foi criado, ele foi projetado para ser a última palavra em sistemas de arquivos.
No momento em que a maioria dos sistemas de arquivos era de 64 bits, os criadores do ZFS decidiram ir direto ao teste de 128 bits para torná-lo mais seguro.
Isso significa que o ZFS “oferece 16 bilhões de bilhões de vezes a capacidade de sistemas de 32 ou 64 bits”.
Na verdade, Jeff Bonwick (um dos criadores) disse que alimentar um “preenchimento total de um pool de armazenamento de 128 bits exigiria, literalmente, mais energia do que ferver os oceanos”.
Como instalar o ZFS
O FreeBSD tem suporte nativo ao ZFS. E é uma das principais razões pelas quais alguns usuários experientes do Linux optam pelo BSD.
Se você quiser experimentar o ZFS no Linux, o Linux permite seu uso, mas não como o sistema raiz (/).
Se você estiver interessado em experimentar o ZFS no Linux, o projeto ZFS no Linux possui vários tutoriais sobre como fazer isso.
Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.
1 Comentário
As IAs como o chatGPT estão ocupando a ociosidade de servidores como os da California e tem como principal função preencher os dados faltantes da sociedade a um mais baixo custo, melhorando toda a qualidade das decisões. O ZFS também é uma busca por qualidade e velocidade dos dados…