31
REPLICAÇÃO DE ARQUIVOS Andre Luiz Verucci da Cunha André Márcio de Lima Curvello Fernando Pasquini Santos Isabela Rodrigues do Prado Rossales Luciene Aparecida Goulart

Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Embed Size (px)

Citation preview

Page 1: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

REPLICAÇÃO DE ARQUIVOS

Andre Luiz Verucci da Cunha

André Márcio de Lima Curvello

Fernando Pasquini Santos

Isabela Rodrigues do Prado Rossales

Luciene Aparecida Goulart

Page 2: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Sumário

Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos

Estática X DinâmicaMétodos de Replicação

Estudo de Caso: CODA

Page 3: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Por que Replicar?

Page 4: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Por que Replicar? Desempenho: A replicação permite elevar

o paralelismo no acesso a determinados recursos. (ex.: servidores proxy)Mas quando há pouca latência no acesso aos

arquivos e/ou pouco paralelismo, não há melhoria.

Balanceamento de Carga: Menores chances de se ter um servidor de arquivos sobrecarregado com requisições.

Page 5: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Por que Replicar?

Maior Disponibilidade: Permite o acesso aos arquivos mesmo quando um servidor falhe ou haja particionamento na rede. Fator indispensável em redes móveis.

Tolerância a falhas: Impede que dados sejam desatualizados, adulterados e/ou danificados.

Page 6: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Exigências e Dificuldades da Replicação

Transparência de Replicação: cada cliente não precisa saber com qual réplica ele está lidando, e acessa os servidores de arquivos replicados como se fossem únicos (arquivos lógicos).

Page 7: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Exigências e Dificuldades da Replicação

Transparência de ReplicaçãoPara isto, geralmente usa-se o conceito de

front-end:

C

C

FE

FE

GR GR

GR

Gerenciadores deRéplica

Clientes Front ends

Serviço

Page 8: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Exigências e Dificuldades da Replicação

Consistência de Dados: As operações realizadas sobre os dados (leitura ou escrita) devem produzir resultados que mantenham a corretude dos mesmos.Exige sincronismo e acordo entre os

servidores replicados

Page 9: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Exigências e Dificuldades da Replicação

Sistema de arquivos onde o acesso a alguns dados é maior do que acesso a outro: ao se replicar todos os arquivos, perde-se desempenho.Precisa-se saber quais arquivos podem ser

replicados e quais não precisam.

Page 10: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Replicação de Arquivos

Replicação EstáticaArquivos nos servidores são fixos; ou seja,

não sofrem modificações/atualizações.Implementação fácil.

Replicação DinâmicaArquivos sofrem modificações dos usuários.São o maior problema!

Page 11: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Mecanismos Básicos de Replicação

Replicação Passiva

C

C

FE

FE

GR GR

GR

Primário Backup

Backup

Page 12: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Mecanismos Básicos de Replicação

Replicação Ativa

C FE

GR

GR

GR

FE C

Page 13: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Mecanismos Básicos de Replicação

Algoritmo de Votação

• Quorum de leitura - Nr;

• Quorum de escrita - Nw.

Nr + Nw > N

Page 14: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Mecanismos Básicos de Replicação

Algoritmo de Votação

Page 15: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Mecanismos Básicos de Replicação

Algoritmo de Votação com Fantasmas

Servidores caídos são tratados como fantasmas;

Gerenciadores fantasmas podem participar de quorums de escrita, mas não de leitura;

Quando o servidor voltar, ele deve montar um quorum de leitura e se atualizar.

Page 16: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA

Sistema de Arquivos CodaOrigem: Carnegie-Mellon University, 1987Modificações em relação ao Andrew File

System:○ operação desconectada (computação móvel)○ replicação (otimista)

Page 17: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Arquitetura Coda

Processo Vice: servidoresProcesso Venus: clientes

Page 18: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Arquitetura

CodaVSG: volume

storage groupAVSG: available

volume storage group

Page 19: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA

Estratégia de ReplicaçãoCVV: Coda version vectorCada arquivo possui um CVV

representando o número de modificações feitas a um arquivo em cada servidor do VSG○ CVV (F1,S1) = {NS1, ... , NSn}

Identifica Conflitos

Page 20: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[1,1,1]

S2

[1,1,1]

VSG

S3

[1,1,1]

C2

Page 21: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,3]

C2opencloseopen

close openclose

Page 22: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 1)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,3]

C2

conflito

Page 23: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[1,1,1]

S2

[1,1,1]

VSG

S3

[1,1,1]

C2

Page 24: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,1]

C2

openclose

Page 25: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,1]

S2

[2,2,1]

VSG

S3

[1,1,1]

C2

openclose

atualização

Page 26: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Estratégia de Replicação (Exemplo 2)

C1

S1

[2,2,2]

S2

[2,2,2]

VSG

S3

[2,2,2]

C2

Page 27: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA Coerência de cache

Callback promise: o servidor garante que notificará ao cliente a ocorrência uma modificação no arquivo

Callback break: mensagem de invalidação do callback

Page 28: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA

Coerência de cacheDetecção de alteração do AVSG

○ Aumento: anula todos os callback promises referentes aos arquivos desse servidor

○ Diminuição: caso o servidor preferido esteja indisponível, anula os callback promises dos arquivos desse servidor

Detecção de atualizações perdidas○ Envio de uma mensagem de probe○ Recebe os CVVs dos arquivos

Page 29: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Estudo de Caso: CODA

Desconexão

Page 30: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Dúvidas?

Page 31: Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X Dinâmica Métodos de Replicação Estudo de Caso: CODA

Bibliografia CODA File System, Carnegie Mellon

University. Disponível em <http://www.coda.cs.cmu.edu/> Acesso em: 22 Nov 2010.

TANENBAUM, Andrew S.; STEEN, Maarten van. Distributed Systems: Principles and Paradigms. 2002

COULOURIS, DOLLIMORE E KINDBERG, Sistemas Distribuídos - Conceitos e Projeto, Bookman Editora.,4a. Ed., 2007.