SlideShare uma empresa Scribd logo
1 de 52
ZFS
Filesystem
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/
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.
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.
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á.
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/
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.
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.
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
Esteja sempre preparado para o futuro e para
o inesperado
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
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
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
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
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
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
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
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
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
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
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.
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
O Open Solaris não morreu
Ele simplesmente ressurgiu como a Fenix
Projetos que surgiram do Open Solaris (através
do IllumOS):
http://wiki.illumos.org/display/illumos/illumos+Home
http://www.openindiana.org/
Saiba também um
pouco sobre o
Open Solaris
Existe ZFS para Linux?
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)
O projeto OpenZFS
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.
Objetivos do
OpenZFS
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
É possível? Qual o progresso do projeto?
https://github.com/zfsonlinux
http://zfsonlinux.org/
Incorporação ao kernel Linux
Quer saber
mais sobre
Filesystems?
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/
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?

Mais conteúdo relacionado

Mais procurados

FreeBSD para leigos
FreeBSD para leigosFreeBSD para leigos
FreeBSD para leigosPedro Neto
 
FreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeFreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeBoteco 4Linux
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linuxeliezer
 
O que é o Linux? Quais seus benefícios?
O que é o Linux? Quais seus benefícios?O que é o Linux? Quais seus benefícios?
O que é o Linux? Quais seus benefícios?Rodnei Reis
 
2010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula22010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula2Universal.org.mx
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Antônio Arapiraca
 
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)Denis Katko
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineMariana Sousa
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asteriskVicente Nobre
 
Certificação LPI sem mistérios
Certificação LPI sem mistériosCertificação LPI sem mistérios
Certificação LPI sem mistériosBruna Griebeler
 
Recursos Informática Analista TRE-RJ
Recursos Informática Analista TRE-RJRecursos Informática Analista TRE-RJ
Recursos Informática Analista TRE-RJConcurso Virtual
 
Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01Ivaldo Cardoso
 
Alta Disponibilidade em Ambientes Linux
Alta Disponibilidade em Ambientes LinuxAlta Disponibilidade em Ambientes Linux
Alta Disponibilidade em Ambientes LinuxFelipe Queiroz
 
Apresentação Linux
Apresentação LinuxApresentação Linux
Apresentação Linuxguestca430
 

Mais procurados (20)

FreeBSD para leigos
FreeBSD para leigosFreeBSD para leigos
FreeBSD para leigos
 
Trabalho OpenSUSe
Trabalho OpenSUSeTrabalho OpenSUSe
Trabalho OpenSUSe
 
FreeBsd com Alta Disponibilidade
FreeBsd com Alta DisponibilidadeFreeBsd com Alta Disponibilidade
FreeBsd com Alta Disponibilidade
 
Apostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em LinuxApostila Treinamento AvançAdo Em Linux
Apostila Treinamento AvançAdo Em Linux
 
O que é o Linux? Quais seus benefícios?
O que é o Linux? Quais seus benefícios?O que é o Linux? Quais seus benefícios?
O que é o Linux? Quais seus benefícios?
 
Curso de perl
Curso de perlCurso de perl
Curso de perl
 
2010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula22010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula2
 
Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009Curso de Introdução ao Software Livre - Aula de 29/10/2009
Curso de Introdução ao Software Livre - Aula de 29/10/2009
 
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)
Certificação lpi 1 101 - 102 v2 (Linux Professional Institute)
 
Canit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux MagazineCanit AntiSpam Technology Report by Linux Magazine
Canit AntiSpam Technology Report by Linux Magazine
 
Instalação do asterisk
Instalação do asteriskInstalação do asterisk
Instalação do asterisk
 
Aula de Linux
Aula de LinuxAula de Linux
Aula de Linux
 
Certificação LPI sem mistérios
Certificação LPI sem mistériosCertificação LPI sem mistérios
Certificação LPI sem mistérios
 
Recursos Informática Analista TRE-RJ
Recursos Informática Analista TRE-RJRecursos Informática Analista TRE-RJ
Recursos Informática Analista TRE-RJ
 
O kernel do linux
O kernel do linuxO kernel do linux
O kernel do linux
 
O que é Linux
O que é LinuxO que é Linux
O que é Linux
 
Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01Introdução ao Linux - Aula 01
Introdução ao Linux - Aula 01
 
Alta Disponibilidade em Ambientes Linux
Alta Disponibilidade em Ambientes LinuxAlta Disponibilidade em Ambientes Linux
Alta Disponibilidade em Ambientes Linux
 
Apresentação Linux
Apresentação LinuxApresentação Linux
Apresentação Linux
 
Administração de Redes Linux - I
Administração de Redes Linux - IAdministração de Redes Linux - I
Administração de Redes Linux - I
 

Semelhante a Zfs

Palestra SFD OpenSolaris
Palestra SFD OpenSolarisPalestra SFD OpenSolaris
Palestra SFD OpenSolarisRenato Puccini
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisCindy Dalfovo
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisguest830f1
 
OpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesOpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesMarcelo Arbore
 
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOS
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOSUma Breve Introdução Sobre o Community Enterprise Operating system - CentOS
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOSLucas Duarte
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxJuan Carlos Lamarão
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Adriano Melo
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Bruno Grange
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolarisJoão Longo
 
Free BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaFree BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaAnderson Favaro
 
Backup 101: Planejamento e Ferramentas - Evidosol 2011
Backup 101: Planejamento e Ferramentas - Evidosol 2011Backup 101: Planejamento e Ferramentas - Evidosol 2011
Backup 101: Planejamento e Ferramentas - Evidosol 2011Jerônimo Medina Madruga
 
Uma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IPUma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IPIP10
 

Semelhante a Zfs (20)

Palestra SFD OpenSolaris
Palestra SFD OpenSolarisPalestra SFD OpenSolaris
Palestra SFD OpenSolaris
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
snto
sntosnto
snto
 
OpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM ZonesOpenSolaris Dtrace SRM Zones
OpenSolaris Dtrace SRM Zones
 
Solaris - SO-Sun
Solaris - SO-SunSolaris - SO-Sun
Solaris - SO-Sun
 
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOS
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOSUma Breve Introdução Sobre o Community Enterprise Operating system - CentOS
Uma Breve Introdução Sobre o Community Enterprise Operating system - CentOS
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios Linux
 
Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)Linux Desktop (Campus Party Recife)
Linux Desktop (Campus Party Recife)
 
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
Instalando e usando a XPages Extension Library para IBM Designer - extlib (Po...
 
Drupal - WEG
Drupal - WEGDrupal - WEG
Drupal - WEG
 
Introdução ao OpenSolaris
Introdução ao OpenSolarisIntrodução ao OpenSolaris
Introdução ao OpenSolaris
 
slidesuab
slidesuabslidesuab
slidesuab
 
Free BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da CostaFree BSD - Beatriz Monteiro e Fabio da Costa
Free BSD - Beatriz Monteiro e Fabio da Costa
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Backup 101: Planejamento e Ferramentas - Evidosol 2011
Backup 101: Planejamento e Ferramentas - Evidosol 2011Backup 101: Planejamento e Ferramentas - Evidosol 2011
Backup 101: Planejamento e Ferramentas - Evidosol 2011
 
Uma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IPUma Análise dos Sistemas de Comunicação IP
Uma Análise dos Sistemas de Comunicação IP
 
SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Red hat enterprise
Red hat enterpriseRed hat enterprise
Red hat enterprise
 
Zabbix 3 0-cinfotec
Zabbix 3 0-cinfotecZabbix 3 0-cinfotec
Zabbix 3 0-cinfotec
 

Zfs

  • 2.
  • 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
  • 15. Esteja sempre preparado para o futuro e para o inesperado
  • 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/
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Saiba também um pouco sobre o Open Solaris
  • 39.
  • 40. Existe ZFS para Linux?
  • 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
  • 48.
  • 49.
  • 50.
  • 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?