Gfs slides
-
Upload
tauan-nascimento-de-almeida -
Category
Documents
-
view
248 -
download
2
description
Transcript of Gfs slides
The Google File System
Mycke Richard GuntijoRenato Gomes Borges
Tauan Nascimento
2
Introdução
• Motivação• Arquitetura
o Chunkserverso Master Serverso Metadata
• Operaçõeso reado writeo record appendo snapshot
• Tolerância a falhas• Conclusão
3
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 performanceo tolerância a falhaso escalabilidade
4
Arquitetura
5
Chunk
• Arquivoso Chunk Size
6
Chunk
• Arquivoso Chunk SizeoMotivação 64 MB
7
Chunk
• Arquivoso Chunk SizeoMotivação 64 MB
Menos comunicação cliente/servidor
8
Chunk
• Arquivoso Chunk SizeoMotivação 64 MB
Menos comunicação cliente/servidorNão sobrecarrega a rede
9
Chunk
• Arquivoso Chunk SizeoMotivação 64 MB
Menos comunicação cliente/servidorNão sobrecarrega a redeRedução de metadados
10
Chunkserver
• Armazenam chunks
11
Chunkserver
• Armazenam chunks• Executam sistema Linux
oLinux controla máquinaPossui próprio sistema de arquivo
12
Metadados
• Informações sobre chunkoNome do local de arquivo e do chunkoMapeamento de arquivos para chunkoLocalização de cada chunk e suas réplicas
13
Metadados
• Armazenamento de metadadoso Informações sobre chunks : 64 bytes
14
Metadados
• Armazenamento de metadadoso Informações sobre chunks : 64 bytes
• Evitar falta de memóriaoMover chunks o Garbage Collection
15
Master Server
• Armazena metadados
16
Master Server
• Armazena metadados• Primeiro a se comunicar com cliente
17
Master Server
• Armazena metadados• Primeiro a se comunicar com cliente• Armazenamento não persistentes de endereços de chunk
18
Master Server
• Armazena metadados• Primeiro a se comunicar com cliente• Armazenamento não persistentes de endereços de chunk
• Outras funçõesoAlocação de chunkoExclusão de chunksoArmazena estados sobre chunkservers
19
Master Server
• Operação logo Guarda mudanças críticas sobre mudanças nos metadados
20
Master Server
• Operação logo Guarda mudanças críticas sobre mudanças nos metadados
o É uma operação críticaAlta prioridadeVárias cópias
21
Esquema GFS
22
Operações
23
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.
24
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).
25
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.
26
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.
27
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.
28
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 nobuffer e escreve nesta ordem no chunk.7 - A primária manda a ordem aos secundários, requisitando a escrita.
29
Operações - Gravação
8 - As secundárias respondem à primária.9 - A primária responde ao cliente.
30
Operações - Snapshot
• Cópias de um arquivo ou árvore de diretório com baixo custo
• Prioritária
31
Operações - Record append
• Atomicidade• Aplicações distribuídas, concorrência • GFS escolhe o local a ser gravado
32
Operações - Garbage collector
• Exclusão lógica• Prazo: 3 dias• Operação Log
33
Tolerância a falhas
34
Tolerância a falhas
• Evitar falhas de componentes• Componentes defeituosos podem resultar em:
o sistema indisponívelo dados corrompidos
35
Alta disponibilidade
• Baseia-se em duas estratégias simples:o recuperação rapidao 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
36
Alta disponibilidade
• Replicação:o cada chunk é replicado em múltiplos chunkserverso usuário pode especificar o nível de replicação (o padrão é 3)
o logs em master servers também são replicados
37
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
38
Integridade de dados (read)
• Requisição de leitura é feita para o chunkservero verifica o checksum sobre os dados lidoso 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
39
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.
40
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
41
Ferramentas de diagnóstico
• Todos os servidores GFS geram logs de eventos:o chunkservers conectando e desconectandoo todas as requisições e respostas
• Funcionalidade poderosa para:o encontrar erroso isolar problemaso medir desempenhoo realizar testes
• Baixo custo• Logs podem ser removidos sempre que necessário
42
Conclusão
• Atende as principais propostas:o desempenhoo tolerância a falhaso escalabilidade
• Fácil manutenção e barata• Permite desenvolver aplicações de grande porte na escala de toda a internet
43
Referências
• http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/pt-BR//papers/gfs-sosp2003.pdf
• http://www.uio.no/studier/emner/matnat/ifi/INF5100/h10/undervisningsmateriale/gfs.pdf