Upload
internet
View
112
Download
1
Embed Size (px)
Citation preview
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
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
Por que Replicar?
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.
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.
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).
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
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
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.
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!
Mecanismos Básicos de Replicação
Replicação Passiva
C
C
FE
FE
GR GR
GR
Primário Backup
Backup
Mecanismos Básicos de Replicação
Replicação Ativa
C FE
GR
GR
GR
FE C
Mecanismos Básicos de Replicação
Algoritmo de Votação
• Quorum de leitura - Nr;
• Quorum de escrita - Nw.
Nr + Nw > N
Mecanismos Básicos de Replicação
Algoritmo de Votação
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.
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)
Estudo de Caso: CODA Arquitetura Coda
Processo Vice: servidoresProcesso Venus: clientes
Estudo de Caso: CODA Arquitetura
CodaVSG: volume
storage groupAVSG: available
volume storage group
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
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
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
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
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
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
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
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
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
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
Estudo de Caso: CODA
Desconexão
Dúvidas?
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.