150 likes | 242 Views
Backup distribuído. Tecnologias envolvidas. Agenda. DHT – Distributed Hash Tables Segmentação de arquivos Segurança e compartilhamento de blocos Verificar consistência dos blocos Confiabilidade e replicação de dados Papel do servidor. Sistemas de backup P2P Principais sistemas.
E N D
Backup distribuído Tecnologias envolvidas
Agenda • DHT – DistributedHashTables • Segmentação de arquivos • Segurança e compartilhamento de blocos • Verificar consistência dos blocos • Confiabilidade e replicação de dados • Papel do servidor
Sistemas de backup P2PPrincipais sistemas • PeerStore • Landers, M., Zhang, H., and Tan, K. PeerStore: better performance by relaxing in peer-to-peer backup. Proceedings of the Fourth International Conference on Peer-to-Peer Computing, (2004), 72-79. • pStore • Batten, C., Barr, K., Saraf, A., and Trepetin, S. pStore: A secure peer-to-peer backup system. Unpublished report, MIT Laboratory for Computer Science, (2001), 130-139. • Pastiche • Cox, L., Murray, C., and Noble, B. Pastiche: Making backup cheap and easy. ACM SIGOPS Operating Systems Review 36, (2002), 285-298. • OurBackup • M. Oliveira. OurBackup: A P2P backup solution basedon social networks, MScThesis, Universidade Federal de Campina Grande, Brazil, 2007.
DHT - DistributedHashTables • Motivado por sistemas como Napters(2001†) e Gnutela • Proposta: localização dos nós • Dada uma determinada chave retornar um nó • Pode ser usado para criação de • Sistemas de arquivos distribuídos • Compartilhamento de arquivos • Distribuição de arquivo • Quatro primeiras implementações em 2001 • Chord– Escrito em C • Pastry / FreePastry– Escrito em Java • CAN • Tapestry
Exemplo de DHT: Chord • Se preocupa apenas com a localização de nós • É utilizado uma variação do consistenthashing • Karger, D., Lehman, E., Leighton, F., Levine, M., Lewin, D., and Panigrahy, R. Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web. 29th Annual ACM Symposium on Theory of Computing, (1997), 654-663 • Um nó não precisa conhecer todos os outros • Necessário ter uma referência valida para sucesso • Armazenamento de dados é feito em outra camada • Flexibilidade para o nome das chaves
Exemplos de DHT • Estudos sobre os modelos de DHT disponíveis: • BalakrishnanH, Kaashoek MF, Karger D, Morris R, StoicaI. Looking up data in P2P systems. Communications of the ACM. 2003;46(2):43. • http://portal.acm.org/citation.cfm?doid=606272.606299.
Segmentação de arquivos • Redução de trafego / aumento no desempenho • Possibilidade de versionamento (snapshots) • Sugerido pelo pStore, LBFS e PeerStore • Arquivo quebrado em blocos e metadado • Âncoras e Rabin fingerprint
Segmentação de arquivos (continuação) • Ilustração proposta pelo pStore
Segurança e compartilhamento • O ID de um bloco é calculado usando: • ID = h(h(c)) • c é o conteúdo do bloco (chunk) • Modelo sugerido pelo Pastiche • A chave para criptografia é gerada a partir do Hc • A lista dos Hcé guardada no metadado
Segurança e compartilhamento (continuação) • Modelo sugerido pelo PeerStore
Verificar consistência dos blocos • Garantir que um peer realmente está armazenando os dados a que se propõe • Modelo sugerido pelo PeerStore • Enviar apenas o valor h0 e uma lista dos n blocos • Esperar pelo valor hn
Confiabilidade e replicação de dados • No backup, é probabilidade de recuperar uma determinada informação em caso de falha do sistema • Aumentamos a probabilidade aumentando a quantidade de cópias (k) • Essa probabilidade total pode ser calculada através do somatória das probabilidades de um nó falhar, dois nós falharem, e assim por diante. Então:
Confiabilidade e replicação de dados (continuação) • Resultados obtidos aplicando a fórmula:
Papel do servidor • Gerenciamento de usuários • Armazenamento de metadados • Controle de redes sociais • Sistemas como OurGrid também usam para • Localização dos nós • Manipulação dos dados • A centralização pode apresentar problemas de escalabilidade, porém sistema como o Napster se mostraram bastante eficientes