O documento discute o sistema de arquivos ZFS, incluindo sua história, características principais e comparação com outros sistemas de arquivos. O ZFS foi desenvolvido para suportar grandes volumes de dados com alta confiabilidade e integridade. Ele fornece funcionalidades como snapshots, deduplicação e redundância integrada.
3. Distribuição e licença
O trabalho ZFS Filesysrem de Ayr Müller e Gabriel da Silveira Costa está
licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0
Internacional.
Podem estar disponíveis autorizações adicionais às concedidas no âmbito desta
licença em https://creativecommons.org/licenses/by-sa/4.0/legalcode.
http://creativecommons.org/licenses/by-sa/4.0/
4. Apresentação
Quem é Ayr ?
Ayr Müller Gonçalves de Porto Alegre RS. Tem 49 anos e trabalha com atividades físicas de ação na
natureza usando tecnologia de SIG(Sistemas de Informação Geográfica).
Graduado em Educação Física e atualmente graduando em Segurança da Informação UNISINOS - Porto
Alegre. Meu blog www.mapforum.blogspot.com.
Projetos desenvolvidos:
Tradução dos menus do software suíço de OCAD (www.ocad.com) nas versões 10,11,12.
Compilador de simbologia T34700 para o software QGIS do projeto OSGEO (www.osgeo.org).
Tradução de menus para alguns softwares (Hashcat e Hexdump) da distro brasileira FDTK de forense
de Paulo Newkamp.
5. O que vamos tratar?
Falaremos do sistema de arquivos ZFS (Zettabyte filesystem). Abordando sua
história, os seus principais características e comparação com alguns outros
sistemas de arquivos. Teremos vários capítulos na abordagem deste assunto
para que possam ter uma panorâmica abrangente. Links, filmes e livros estarão
dispostos aqui para que possam se aprofundar no assunto.
6. História
Não há como falar de ZFS sem falar de OpenSolaris mais especificamente no
ano de 2005 que primou não só por trazer um novo sistema de arquivos como
outras tecnologias de rastreamento de falhas. Sempre que se fala em ZFS é bom
que se tenha em mente duas coisa primordiais(rastreamento de falhas e
integridade da informação).
Muito também se fala hoje em containers e o Docker, mas saibam que isso já era
uma realidade em 2005 com o projeto OpenSolaris. Para quem não está
familiarizado, significa ter um único sistema operacional em várias máquinas
virtuais isoladas (compartilhando o mesmo Kernel). Com certeza hoje já há
tecnologias mais modernas, mas a semente veio de lá.
7.
8.
9.
10.
11. História
Porque pensar “fora da caixa”? Motivo principal: big data. Em bom português são
muitos dados para armazenar, circular copiar e administrar. Como garantir a
integridade disso tudo? Pensando nisso tudo que os engenheiros Jeff Bonwik e
Bill Moore desenvolveram o ZFS.
Fonte: http://connectedsocialmedia.com/tag/sun-microsystems/
12. Características
O ZFS não é apenas um sistema de arquivos é também um administrador de
volumes e um controlador RAID. O motivo da criação de um sistema que
conseguisse suportar grande armazenamento veio do crescimento exponencial
das demandas existentes hoje. estamos na era dos Terabytes, dos vídeos de alta
resolução da interatividade da WEB 2.0. As fotos os vídeos de qualidade já
demandam muito espaço e muita necessidade de qualidade nos quesitos de
confiabilidade e integridade. A necessidade de disponibilidade com rapidez
também e uma necessidade contemporânea. Com tudo isso sendo gerado
exponencialmente a cada ano foi necessário pensar diferente e criar algo do zero.
13. Objetivos
Simplicidade
Integridade
Escalabilidade
Simplicidade na criação de um pool, adição de um disco, habilitando compressão,
ou disponibilizando acesso por NFS (Network Filesystem) ou CIFS (Common
Internet Filesystem). Com é código aberto faz com que o usuário doméstico ou
pequeno empresário tenham a oportunidade de utilizar um sistema robusto
presente nas maiores empresas do mundo.
14. Comparativos
Para começar é importante ter a noção de tamanho e extensão de arquivos
(ZFS).
Fonte: http://www.mecaweb.com.br/eletronica/content/e_numeracao
16. Comparativos
Maximum filename length: Tamanho máximo do nome do arquivo.
Maximum filename length: Tamanho máximo do arquivo.
Maximum volume size: Tamanho máximo do volume.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-submissions/ircse09_submission_16.pdf
17. Comparativos
Timestamp: Nada mais do que registrar em tempo real o que está sendo feito
no arquivo em frações de segundo.
Checksum: É o número de um resultado de um processo matemático, com o
objetivo de garantir a sua integridade. Para verificar a integridade do arquivo
o checksum necessariamente precisa ser igual ao fornecido.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
18. Comparativos
Case Sensitive: Significa que reconhece e estabelece diferenças entre letras
maiúsculas e minúsculas.
File Change Log: Histórico de mudança de arquivo.
● Fontes: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
● https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.15
19. Comparativos
Snapshot: É como se fosse uma fotografia do estado do sistema. Um recurso
que permite ter informações do sistema num exato momento.
Encryption: No ZFS a encriptação não aparece para o usuário(transparente),
mas para o administrador ela aparece.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
20. Comparativos
Vamos por partes para entender esse quadro:
Tail Packing: É um esquema que foi criado para reduzir fragmentação interna
e otimizar espaço em disco ele ficou famoso num outro filesystem (ReiserFS)
é originário deste time da NAMESYS.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
21. Comparativos
Variable Block Size: É um esquema onde há blocos menores e maiores, esse
esquema ajuda a não ter desperdício de blocos para arquivos que não
utilizem a totalidade de espaço padrão.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
22. Comparativos
Extents: É um esquema para otimizar espaço, porém mais eficiente porque os
tamanhos podem ser podem ser mais variados que o esquema de blocos. O
que torna o ZFS, neste quesito, mais suscetível à fragmentação.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
23. Comparativos
Allocation Flush: É uma alocação prévia de blocos para gravações que estão
pendentes no sistema. Isso desonera o uso da CPU porque tudo fica na
memória. Também é um esquema para evitar fragmentação. No ZFS é
otimizado devido ao Copy-on-write.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
24. Comparativos
Sparse Files: É um tipo de arquivo que usa uma característica de otimização
de espaço no bloco que ele está inserido e reporta somente o espaço real
usado, permitindo que o sistema recrute pedaços de espaço para remontá-
los criando um novo bloco inteiro para uso.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
25. Comparativos
O resultado das comparações é muito positivo para o ZFS. Entenda Close
Competitor como um concorrente quase com as mesmas características ou
próximo a se tornar idêntico.
Fonte: http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf
26. Tudo é passível de evolução
Não somente os materiais didáticos, mas todos os recursos
de softwares descritos aqui também sofrem atualizações e
evolução.
27. Licença do ZFS
Common Development and Distribution License (CDDL) é uma licença para
código aberto que toma por base a Mozilla Public License (MPL) e a torna
reutilizável sem modificações. Ela nasceu da necessidade de uma licença
copyleft que fornecesse as proteções e liberdades necessárias para o código
aberto verdadeiro e permitisse a criação de trabalhos maiores e com propósitos
comerciais. A CDDL atende aos requisitos da definição de open source e foi
aprovada como uma licença código aberto pela Open Source Initiative.
Maiores informações:
https://opensource.org/licenses/CDDL-1.0
28. O Open Solaris não morreu
Ele simplesmente ressurgiu como a Fenix
29.
30. Projetos que surgiram do Open Solaris (através
do IllumOS):
http://wiki.illumos.org/display/illumos/illumos+Home
http://www.openindiana.org/
41. Existe ZFS para Linux?
Dificuldade de adicionar ao kernel devido incompatibilidade entre licenças (até
mesmo de forma binária)
Acesso via FUSE (Filesystem in User Space)
ZOL (ZFS On Linux)
43. O projeto OpenZFS
O projeto OpenZFS anunciado em Setembro de 2013.
Disponível para Linux, IllumOS (fork do OpenSolaris), FreeBSD (sendo o
projeto IllumOS atual comercializador do suporte a ZFS para a FreeBSD) e
MacOS X.
45. Implementações de qualidade, utilidade, e disponibilidade do ZFS no formato open source
Encorajar a comunicação aberta sobre contínuos esforços na melhoria do ZFS no formato
open source
Assegurar confiabilidade consistente, funcionalidade, e desempenho de tofas as
distribuições do ZFS.
O principal objetivo técnico do OpenZFS é compartilhamento mais facil de códigos entre
plataformas. As estratégias incluem:
Criar uma uma plataforma de lista de e-mail independente para desenvolvedores
revisarem o código do ZFS e mudanças de arquitetura de todas as plataformas
Suavisar o processo de integração do integration
Torna facil de executar ambos ztest e o ZFS test suite (TestRunner ou baseado no STF)
em cada plataforma
46. É possível? Qual o progresso do projeto?
https://github.com/zfsonlinux
http://zfsonlinux.org/
Incorporação ao kernel Linux
51. Quer saber mais sobre filesystems?
http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-
submissions/ircse09_submission_16.pdf (somente se autorizado por você)
http://tocadotux.blogspot.com/2015/07/benchmark-de-filesystems.html
https://www.ibm.com/developerworks/br/library/l-anatomy-ext4/
https://ext4.wiki.kernel.org/index.php/Main_Page
http://kernelnewbies.org/Ext4#head-a2fb89a33e0174a3b3b6b201258501c8143e50cd
http://www.linux.com/news/software/linux-kernel/816891-ext4-filesystem-improvements-to-address-
scaling-challenges/
http://www.linux.com/news/software/linux-kernel/816891-ext4-filesystem-improvements-to-address-
scaling-challenges/
52. Considerações finais
A intenção deste artigo não é mostrar que o ZFS é um filesystem superior aos
outro tantos que Linux possui suporte, mas sim mostrar a necessidade de sempre
estar preparado (o que Linux está continuamente) e de promover o ZFS no Linux.
Por que não?