Agora discutiremos o ZFS, um sistema de arquivos avançado. Discutiremos como apareceu, o que é e por que é tão popular nos círculos técnicos e nas empresas.
Embora eu seja dos EUA, prefiro pronunciar o ZedFS em vez do ZeeFS porque parece mais legal. Você pode escolher a opção de pronúncia para si mesmo.
Nota: Neste artigo, você verá que o ZFS é repetido várias vezes. Quando falo sobre recursos e instalação, quero dizer o OpenZFS. Os caminhos do ZFS (desenvolvido pela Oracle) e do OpenZFS divergiram desde que a Oracle encerrou o projeto OpenSolaris. (Leia mais no artigo.)
História do ZFS
O sistema de arquivos Z (ZFS) foi criado por Matthew Aren e Jeff Bonwick em 2001. O ZFS foi desenvolvido para se tornar a próxima geração dos sistemas de arquivos Sun Microsystems OpenSolaris. Em 2008, o ZFS foi portado para o FreeBSD. No mesmo ano, começou a portabilidade do ZFS para Linux. No entanto, desde que o ZFS começou a ser lançado sob a licença CDDL, que é incompatível com a GNU GPL, ele não pode ser adicionado ao kernel do Linux. Para contornar essa limitação, a maioria das distribuições oferece métodos de instalação do ZFS.
Logo depois que a Oracle comprou a Sun Microsystems, o código do OpenSolaris foi fechado. Todo o desenvolvimento subsequente do ZFS também foi fechado. Um grande número de desenvolvedores do ZFS ficou desapontado com essas mudanças. Dois terços dos desenvolvedores importantes do ZFS, incluindo Arens e Bonwick, deixaram a Oracle como resultado dessa decisão. Eles se juntaram a outras empresas e criaram o projeto OpenZFS em setembro de 2013. O projeto liderou o desenvolvimento de código aberto do ZFS.
Vamos voltar ao problema com as licenças mencionadas acima. A partir do momento em que o OpenZFS se destacou do Oracle, alguém pode estar se perguntando por que eles não alteraram a licença compatível com GPL para incluir o sistema de arquivos no kernel do Linux. De acordo com o site do OpenZFS, uma alteração na licença envolve o contato de desenvolvedores que fizeram alterações na versão do OpenZFS (incluindo aqueles que iniciaram este projeto e o código ZFS antes do OpenSolaris) e obtêm sua permissão. Isso é quase impossível (talvez alguns deles já tenham morrido ou não sejam tão fáceis de encontrar), eles decidiram deixar tudo como está.
O que é o ZFS? Sobre o que é especial?

Como eu disse anteriormente, o ZFS é um sistema de arquivos avançado. Como tal, tem algumas características interessantes. Tais como:
- Armazenamento em pool
- Copiar na gravação
- Instantâneos
- Verificação de integridade e reparo automático
- RAID-Z
- O tamanho máximo do arquivo é 16 Exabytes ( nota do tradutor: 10 ^ 18 bytes )
- O tamanho máximo de armazenamento é de 256 quatrilhões de Zettabytes ( tradutor de notas: Quadrilhão - milhão ^ 4; Zettabyte - 10 ^ 21 bytes)
Nós vamos lidar com alguns deles.
Armazenamento Federado
Diferente de outros sistemas de arquivos, o ZFS combina os recursos de um sistema de arquivos e um gerenciador de disco. Isso significa que o ZFS pode criar um sistema de arquivos que abrange todos os discos. Mas não é só isso, você também pode adicionar armazenamento ao sistema de disco. O ZFS fará particionamento e formatação de unidades.

Copiar na gravação
A cópia na gravação é outro recurso interessante. Mas a maioria dos sistemas de arquivos, se as informações são substituídas, são perdidas para sempre. No ZFS, novas informações são gravadas em um bloco separado. Após a conclusão da gravação, os metadados do sistema de arquivos são atualizados ao ponto de novas informações. Isso garante que, se o sistema de arquivos quebrar (ou algo semelhante acontecer) durante a gravação, as informações antigas serão corrigidas. Isso significa que o sistema não precisa executar o fsck após uma falha.
Instantâneos
A cópia na gravação leva a outra coisa interessante no ZFS: instantâneos. O ZFS usa instantâneos para acompanhar as alterações no sistema de arquivos. O instantâneo armazena a versão original do sistema de arquivos e a atual, na qual todas as alterações desde o momento em que o instantâneo foi criado. Nenhum espaço extra é usado. Assim que novas informações são gravadas no sistema de arquivos atual, novos blocos são alocados para seu armazenamento. Se o arquivo foi excluído, a menção a ele na imagem desaparece. Os instantâneos foram projetados para rastrear alterações, mas não são um complemento e não criam arquivos.
Os instantâneos podem ser montados no formato somente leitura para restaurar uma versão antiga de um arquivo. Você também pode reverter o sistema para a imagem anterior. Todas as alterações feitas após a foto serão perdidas.
Verificação de integridade e reparo automático
Sempre que novas informações são gravadas no ZFS, uma soma de verificação (soma de verificação) é criada para essas informações. Quando as informações são lidas, o valor do cheque é confirmado. Se os valores do cheque não corresponderem, o ZFS notará o erro e tentará corrigi-lo.
RAID-Z
O ZFS pode aumentar o RAID sem software auxiliar. Não é de surpreender que o ZFS forneça sua implementação RAID: RAID-Z. O RAID-Z é essencialmente uma variação do RAID-5. No entanto, o RAID-Z foi projetado para superar o RAID-5 em termos de erro: "Todas as informações de dados e paridade tornam-se incompatíveis após uma reinicialização inesperada". Para usar o nível básico (RAID-Z1), você precisa de pelo menos dois discos para armazenamento e um para paridade. O RAID-Z2 precisa de pelo menos dois discos para armazenamento e dois para paridade. O RAID-Z3 requer duas unidades para armazenamento e três para paridade. Depois que os discos são adicionados aos grupos RAID-Z, eles devem ser múltiplos de dois.
Enormes capacidades de armazenamento
Quando o ZFS foi criado, ele foi projetado para ser o melhor de seu tipo. No momento em que a maioria dos sistemas de arquivos tinha 64 bits, os criadores do ZFS decidiram torná-lo em 128 bits, para confirmação futura. Isso significa que o ZFS fornece a capacidade de 16 milhões de sistemas de 32 ou 64 bits. Além disso, Jeff Bonwick (um dos criadores) disse que alimentar um pool de memória de 128 bits totalmente preenchido exigiria literalmente mais energia do que ferver os oceanos.
Como instalar o ZFS
Se você deseja usar o ZFS imediatamente, é necessário instalar o FreeBSD ou um sistema operacional que use o kernel illumos. Illumos é uma bifurcação do kernel do OpenSolaris.
De fato, o suporte do ZFS ao ZFS é o principal aspecto do motivo pelo qual alguns usuários experientes do Linux optam pelo BSD.
Se você quiser usar o ZFS no Linux, poderá usá-lo como um sistema de arquivos apenas para armazenamento. Até onde eu sei, nenhuma das distribuições possibilita a instalação do ZFS, para que funcione imediatamente. Se você estiver interessado e quiser tentar, existe um projeto do ZFS no Linux que fornece vários tutoriais.
No final
Neste artigo, falei sobre os profissionais do ZFS. E agora sobre um pequeno problema. O uso do RAID-Z pode ser caro, devido ao número de unidades necessárias para isso.
Você já usou o ZFS? E como ela está com você? Conte-nos sobre isso nos comentários.
Posfácio do tradutor
Obrigado pela leitura. Boa sorte