SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
The Google File System


               Mycke  Richard Guntijo
               Renato Gomes Borges
                  Tauan Nascimento
Introdução

• Motivação
• Arquitetura
   o Chunkservers
   o Master Servers
   o Metadata
• Operações
   o read
   o write
   o record append
   o snapshot
• Tolerância a falhas
• Conclusão


                        2
Motivação

• Espaço de armazenamento de centenas de terabytes sobre 
  milhares de discos em mais de mil máquinas.

• Acessado por centenas de clientes concorrentemente.

• Atender requisitos de:
   o alta performance
   o tolerância a falhas
   o escalabilidade




                                           3
Arquitetura
      




              4
Chunk

• Arquivos
  o Chunk Size




                 5
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB




                      6
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor




                                  7
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor
      Não sobrecarrega a rede




                                  8
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor
      Não sobrecarrega a rede
      Redução de metadados




                                  9
Chunkserver

• Armazenam chunks 




                      10
Chunkserver

• Armazenam chunks
• Executam sistema Linux
  o Linux controla máquina
      Possui próprio sistema de arquivo  




                                    11
Metadados

• Informações sobre chunk
   o Nome do local de arquivo e do chunk
   o Mapeamento de arquivos para chunk
   o Localização de cada chunk e suas réplicas




                                   12
Metadados

• Armazenamento de metadados
  o Informações sobre chunks : 64 bytes  




                                  13
Metadados

• Armazenamento de metadados
  o Informações sobre chunks : 64 bytes
• Evitar falta de memória
  o Mover chunks  
  o Garbage Collection




                                  14
Master Server

• Armazena metadados




                       15
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente




                                  16
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente
• Armazenamento não persistentes de 
  endereços de chunk




                                 17
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente
• Armazenamento não persistentes de 
  endereços de chunk
• Outras funções
  o Alocação de chunk
  o Exclusão de chunks
  o Armazena estados sobre chunkservers



                                18
Master Server

• Operação log
  o Guarda mudanças críticas sobre mudanças nos 
    metadados




                                   19
Master Server

• Operação log
  o Guarda mudanças críticas sobre mudanças nos 
    metadados
  o É uma operação crítica
      Alta prioridade
      Várias cópias




                                   20
Esquema GFS




              21
Operações
     




            22
Operações

•   Interface POSIX
•    Criar, deletar, ler e escrever.
•   Captura instantânea (snapshots)
•   Gravação anexa (record append)
•   Termo: Mutação - operações que mudam o conteúdo do 
    metadata. 




                                           23
Operações - Leitura




1 - Aplicação informa (file name, byte range) para o Cliente 
GFS.
2 - Cliente GFS traduz o pedido da aplicação para (file name, 
chunk index).
3 - Master responde para o Cliente GFS com (chunk handle, 
replica locations).
                                              24
Operações - Leitura




4 - Cliente GFS manda para os Chunk Servers (chunk handle, 
byte range).
5 - Chunk Servers respondem com o dado do arquivo.
6 - Enfim, o Cliente GFS manda para aplicação o dado 
solicitado.

                                            25
Operações - Gravação




1 - Aplicação faz um pedido de escrita.
2 - O Cliente GFS traduz o pedido (file name, data) para (file 
name, chunk index) e manda ao master.
3 - O mestre responde com o (chunk handle, primary and 
secondary replica locations), localizações das réplicas.
                                                26
Operações - Gravação




4 - O cliente envia dados de escrita para todas as localidades. 
Os dados são armazenados em buffers internos dos 
chunkservers.


                                               27
Operações - Gravação




5 - O cliente manda o comando de escrita a réplica primária.
6 - Esta réplica determina a ordem em série das instâncias dos 
dados armazenados no
buffer e escreve nesta ordem no chunk.
7 - A primária manda a ordem aos secundários, requisitando a 
escrita.
                                              28
Operações - Gravação




8 - As secundárias respondem à primária.
9 - A primária responde ao cliente.




                                           29
Operações - Snapshot

• Cópias de um arquivo ou árvore de diretório com baixo 
  custo
• Prioritária 




                                            30
Operações - Record append

• Atomicidade
• Aplicações distribuídas, concorrência 
• GFS escolhe o local a ser gravado




                                           31
Operações - Garbage collector

• Exclusão lógica
• Prazo: 3 dias
• Operação Log




                           32
Tolerância a falhas
          




                 33
Tolerância a falhas


• Evitar falhas de componentes
• Componentes defeituosos podem resultar em:
   o sistema indisponível
   o dados corrompidos




                                         34
Alta disponibilidade

• Baseia-se em duas estratégias simples:
   o recuperação rapida
   o replicação



• Recuperação rápida:
  o reiniciar e carregar seu estado anterior em questão de 
    segundos
  o não existe diferenciação entre terminação normal e 
    anormal



                                             35
Alta disponibilidade

• Replicação:
  o cada chunk é replicado em múltiplos chunkservers
  o usuário pode especificar o nível de replicação (o padrão 
    é 3)
  o logs em master servers também são replicados




                                             36
Integridade de dados

• Somas de verificação (checksum) de 32 bits para cada 
  bloco de 64 KB
• Checksums são mantidos na mémoria
• Integridade é mantida em cada operação




                                           37
Integridade de dados (read)

• Requisição de leitura é feita para o chunkserver
  o verifica o checksum sobre os dados lidos
  o se um erro é encontrado:
      chunkserver avisa ao master e ao cliente do erro
      o cliente faz a leitura de uma réplica
      o master corrige o chunkserver incorreto através das 
       réplicas




                                             38
Integridade de dados (append)

• Atualiza o checksum antigo apenas incrementando a nova 
  soma
• Quando é necessário usar um novo bloco de dados, a soma 
  de verificação é calculada para o restante dos dados deste 
  bloco.




                                            39
Integridade de dados (write)

• Se uma operação de escrita sobrescreve uma série de 
  dados do chunk, é necessário verificar o primeiro e o último 
  bloco sendo sobrescrito
• Faz-se a escrita necessária
• Recalcula o checksum para todos os blocos modificados




                                              40
Ferramentas de diagnóstico

• Todos os servidores GFS geram logs de eventos:
   o chunkservers conectando e desconectando
   o todas as requisições e respostas
• Funcionalidade poderosa para:
   o encontrar erros
   o isolar problemas
   o medir desempenho
   o realizar testes
• Baixo custo
• Logs podem ser removidos sempre que necessário



                                         41
Conclusão

• Atende as principais propostas:
   o desempenho
   o tolerância a falhas
   o escalabilidade
• Fácil manutenção e barata
• Permite desenvolver aplicações de grande porte na escala 
  de toda a internet




                                            42
Referências

• http://static.googleusercontent.com/external_content/untrust
  ed_dlcp/labs.google.com/pt-BR//papers/gfs-sosp2003.pdf

• http://www.uio.no/studier/emner/matnat/ifi/INF5100/h10/und
  ervisningsmateriale/gfs.pdf




                                              43

Mais conteúdo relacionado

Mais procurados

Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdFrederico Madeira
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxFrederico Madeira
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFrederico Madeira
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidadeMarcelo Garcia
 
Estou seguro com no sql
Estou seguro com no sqlEstou seguro com no sql
Estou seguro com no sqlRafael Redondo
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault ToleranceFrederico Madeira
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosValdir Junior
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraMário Marroquim
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linuxelliando dias
 
NFS – Network File System
NFS – Network File SystemNFS – Network File System
NFS – Network File SystemMarlon Munhoz
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dadosMarcio Jonnes
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Evandro Júnior
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASAnálise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASKleber Silva
 
Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)Pedro de Vasconcellos
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFSLuiz Arthur
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidadeelliando dias
 

Mais procurados (20)

Alta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e DrbdAlta Disponibilidade em Linux com Heartbeat e Drbd
Alta Disponibilidade em Linux com Heartbeat e Drbd
 
Clusters
ClustersClusters
Clusters
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Cluster de Alta disponibilidade
Cluster de Alta disponibilidadeCluster de Alta disponibilidade
Cluster de Alta disponibilidade
 
Estou seguro com no sql
Estou seguro com no sqlEstou seguro com no sql
Estou seguro com no sql
 
Linux Network Fault Tolerance
Linux Network Fault ToleranceLinux Network Fault Tolerance
Linux Network Fault Tolerance
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Distribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com CassandraDistribuição de Dados em Escala Global com Cassandra
Distribuição de Dados em Escala Global com Cassandra
 
Alta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores LinuxAlta Disponibilidade na Prática utilizando servidores Linux
Alta Disponibilidade na Prática utilizando servidores Linux
 
NFS – Network File System
NFS – Network File SystemNFS – Network File System
NFS – Network File System
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASAnálise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
 
Hardware memória principal
Hardware  memória  principalHardware  memória  principal
Hardware memória principal
 
Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)
 
Redes prática - NFS
Redes prática - NFSRedes prática - NFS
Redes prática - NFS
 
Alta Disponibilidade
Alta DisponibilidadeAlta Disponibilidade
Alta Disponibilidade
 

Semelhante a Gfs slides

Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfHurgelNeto
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital PreservationRoberto Beraldo Chaiben
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2Paulo Fonseca
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2Paulo Fonseca
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptxRoberto Aragy
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - FatreeA SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - FatreeJoaquim Mussandi
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e softwarePaulo Fonseca
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosJoo200
 
Virtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesVirtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesJoao Galdino Mello de Souza
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...CPqD
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memóriasElaine Cecília Gatto
 
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017Ricardo Katz
 

Semelhante a Gfs slides (20)

Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Apresentação GT - Digital Preservation
Apresentação GT - Digital PreservationApresentação GT - Digital Preservation
Apresentação GT - Digital Preservation
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
Arquitetura 8 1 - 2012.2
Arquitetura 8   1 - 2012.2Arquitetura 8   1 - 2012.2
Arquitetura 8 1 - 2012.2
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - FatreeA SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Apostila 2 conceitos de hardware e software
Apostila 2   conceitos de hardware e softwareApostila 2   conceitos de hardware e software
Apostila 2 conceitos de hardware e software
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Resumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicosResumos sobre tecnologias de informação e conceitos basicos
Resumos sobre tecnologias de informação e conceitos basicos
 
Virtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno DominguesVirtualização de Banco de Dados por Bruno Domingues
Virtualização de Banco de Dados por Bruno Domingues
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Kernel do Linux
Kernel do LinuxKernel do Linux
Kernel do Linux
 
Arquitetura de computadores – memórias
Arquitetura de computadores – memóriasArquitetura de computadores – memórias
Arquitetura de computadores – memórias
 
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
 
memorias
memoriasmemorias
memorias
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 

Gfs slides