Este Slide será utilizado no vídeo em um debate aberto sobre ZFS com 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.
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
● Reduzir diferenças de código entre plataformas.
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/
● http://www.brendangregg.com/Slides/SCaLE_Linux_vs_Solaris_Performance2014.pdf
● http://www.brendangregg.com/Slides/SCaLE_Linux_Performance2013.pdf
● https://www.youtube.com/watch?v=0yyorhl6IjM
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?