Gfs slides

Preview:

DESCRIPTION

 

Citation preview

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

Recommended