Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X...

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

Transcript of Por que Replicar? Exigências e Dificuldades da Replicação Replicação de Arquivos Estática X...

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.