34
university-logo Introdu¸c˜ ao Arquitetura Implementa¸c˜ ao Conclus˜ ao Sistema de Preserva¸c˜ ao Digital Camada de Armazenamento GT-DigitalPreservation C3SL - Centro de Computa¸c˜ ao Cient´ ıfica e Software Livre Departamento de Inform´ atica Universidade Federal do Paran´ a Setembro de 2011 Lauro Camada de Armazenamento

GT-Digital Preservation - Camada de Armazenamento

Embed Size (px)

DESCRIPTION

Apresentação da Camada de Armazenamento, do GT - Digital Preservation, em 01 de setembro de 2011, na Escola de Redes da RNP, no Rio de Janeiro.

Citation preview

Page 1: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Sistema de Preservacao DigitalCamada de Armazenamento

GT-DigitalPreservationC3SL - Centro de Computacao Cientıfica e Software Livre

Departamento de InformaticaUniversidade Federal do Parana

Setembro de 2011

Lauro Camada de Armazenamento

Page 2: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

1 Introducao

2 Arquitetura

3 Implementacao

4 Conclusao

Lauro Camada de Armazenamento

Page 3: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Camada de armazenamentoImplementacaoCamadas do sistema

1 Introducao

2 Arquitetura

3 Implementacao

4 Conclusao

Lauro Camada de Armazenamento

Page 4: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Camada de armazenamentoImplementacaoCamadas do sistema

Camada de armazenamento

Armazenar as replicas do repositorio

Armazenar informacoes das replicas

Permitir a troca de mensagens entre repositorios

Permitir a transferencia de replicas entre repositorios

Lauro Camada de Armazenamento

Page 5: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Camada de armazenamentoImplementacaoCamadas do sistema

Implementacao

Compatıvel com qualquer maquina Unix

Utilizar ferramentas padroes do sistema

Shell Scripts, SSH, RSYNC

Lauro Camada de Armazenamento

Page 6: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Camada de armazenamentoImplementacaoCamadas do sistema

Armazenamento

Gerenciamento de Réplicas

Interface

Aplicações

Repositório

Figura: Camadas do Sistema de Preservacao Digital

Lauro Camada de Armazenamento

Page 7: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

1 Introducao

2 Arquitetura

3 Implementacao

4 Conclusao

Lauro Camada de Armazenamento

Page 8: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Funcoes da camada

Armazenamento de replicas

Armazenamento de informacoes de replicas

Troca de mensagens

Transferencia de replicas

Lauro Camada de Armazenamento

Page 9: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Armazenamento de replicas

Sao armazenadas sobre o sistema de arquivos do SistemaOperacional

Objetos sao associados a chaves

Chave do objeto e a hash de seu conteudo

MD5: Message-Digest algorithm 5 - hash de 128 bits

Lauro Camada de Armazenamento

Page 10: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Exemplo de nome de replica

MD5sum: 4faee3cd92839fe0b477b6de44292b0b

Confiabilidade desejada: 0.9999

Nome da replica: 4faee3cd92839fe0b477b6de44292b0b-0.9999

Lauro Camada de Armazenamento

Page 11: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Informacoes gravadas no nome

Chave e confiabilidade

Informacoes fundamentaisNao se alteram

Lauro Camada de Armazenamento

Page 12: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Informacoes de replicas

Algumas informacoes de replicas sao armazenadas em umabase de dados

Tabela relaciona chave a:

Tamanho do objetoData da ultima auditoriaData da proxima auditoria

Lauro Camada de Armazenamento

Page 13: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Base de dados

PostgreSQL, MySQL

Excesso de funcionalidades

Escrever rotinas de manipulacao e guardar tabela em arquivo

SQLite

Lauro Camada de Armazenamento

Page 14: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

O software SQLite

Banco de dados transacional

Simples configuracao

Serverless

Consultas SQL

Indices

Controle de concorrencia

Bem Documentado

Muito utilizado

Lauro Camada de Armazenamento

Page 15: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Troca de mensagens

Comunicacao entre repositorios

Enviar notifiacoes para outros repositorios

Execucao de comandos remotos

Recuperar informacoes de outros repositorios

Lauro Camada de Armazenamento

Page 16: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

O software SSH

Comunicacao segura sobre a Internet

Ferramenta padrao

Muito utilizado para administracao remota de sistemas

Aceitacao do sistema

SSH provavelmente ja instalado no sistema

Lauro Camada de Armazenamento

Page 17: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Controle do acesso

Repositorios compartilham acesso via SSH

SSHs sao limitados a execucao de um unico comando

Script Shell com um conjunto de operacoes

Lauro Camada de Armazenamento

Page 18: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Transferencia de arquivos

Insercao de um novo objeto

Recuperaracao de um objeto

Auditoria de um objeto

Lauro Camada de Armazenamento

Page 19: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

O software Rsync

Copia remota (e local) de arquivos

Transmissao confiavel de dados

Muito usado em sistemas de copia de seguranca eespelhamento

Funciona como um daemon ou via uma conexao SSH

Lauro Camada de Armazenamento

Page 20: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de replicasArmazenamento de informacoes de replicasTroca de mensagensTransferencia de replicas

Exemplo de Transferencia

1 Repositorio A precisar transferir a replica F para o repositorioB

2 A notifica B sobre a transferencia, deixando F disponıvel paraleitura

3 B utiliza o Rsync para fazer uma copia de F

Cada repositorio tem permissao de escrita somente em seuproprio sistema

Lauro Camada de Armazenamento

Page 21: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

1 Introducao

2 Arquitetura

3 Implementacao

4 Conclusao

Lauro Camada de Armazenamento

Page 22: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Tarefas do Armazenamento de Replicas

Checar a existencia da replica

Consulta ao sistema de arquivos

Verificacao da integridade da replica

Script Shell adicional para verificar MD5sum das replicas

Lauro Camada de Armazenamento

Page 23: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Tarefas envolvendo a Base de Dados

Calcular soma do tamanho das replicas armazenadas

Verificar a necessidade de executar uma auditoria

Lauro Camada de Armazenamento

Page 24: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Interface para a Base de Dados

Script Shell funciona como interface para o banco de dados

Interface oference um conjunto de operacoes possıveis

Criar banco / tabelaInserir / Remover entradasConsultar chaves dos objetos que precisam de auditoriaAtualizar datas de auditoriaOutras

Interface e responsavel por executar as consultas SQL

Lauro Camada de Armazenamento

Page 25: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Troca de mensagens usando SSH

Notificar / Consultar outro repositorio

Repositorios compartilham par[es] de chave[s] (publica,privada)

Conexao SSH esta restrita a execucao de um unico comando

Lauro Camada de Armazenamento

Page 26: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Troca de mensagens

1 Repositorio A precisa notificar / consultar o Repositorio B

2 A utiliza uma interface para iniciar a conexao SSH enviandouma lista de parametros

3 Autenticacao utilizando chave de preservacao

4 A chave publica em B restringe o acesso a execucao de umunico Script Shell (OperacoesSSH.sh)

5 O primeiro parametro enviado por A seleciona a operacao aser executada em B

6 A recebe a resposta do comando em B pela saıda padrao

Lauro Camada de Armazenamento

Page 27: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Restricao de um comando na chave publica

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command=”/home/ufpr digitalpreservation/gt-dp/repositorio/armazenamento/ssh/operacoesSSH.sh”ssh-rsaAAAAB...

Lauro Camada de Armazenamento

Page 28: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Interface para utilizacao do SSH

Responsavel por estabelecer uma conexao SSH entre doisrepositorios

Gerencia numero de tentativas, timeouts e erros de conexao

Lauro Camada de Armazenamento

Page 29: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Operacoes SSH

Unico comando que pode ser executado via conexao SSH

Parametro enviado seleciona uma das operacoes possıveis

Notificar transferencia de replicaVerificar existencia de replicaConsultar espaco disponıvel para armazenamentoConsular / Atualizar informacoes de auditoriaOutras

Lauro Camada de Armazenamento

Page 30: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Transferencias de replicas

Transferencia eficiente e confiavel utilizando Rsync

Insercao de objeto

Auditoria de objeto

Recuperacao de objeto

Lauro Camada de Armazenamento

Page 31: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Armazenamento de ReplicasArmazenamento de informacoes de replicaTroca de mensagensTransferencia de replicas

Rsync

Cada repositorio roda um daemon rsync

Diretorio de replicas e publico

Repositorio informa path da replica para envia-la

Repositorio pergunta path da replica para recupera-la

Lauro Camada de Armazenamento

Page 32: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

1 Introducao

2 Arquitetura

3 Implementacao

4 Conclusao

Lauro Camada de Armazenamento

Page 33: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Camada e responsavel por armazenar replicas e informacoesrelacionadas

Camada implementa troca de mensagens e transferencia dearquivos entre repositorios

Software livre e ferramentas amplamente utilizadas

Lauro Camada de Armazenamento

Page 34: GT-Digital Preservation - Camada de Armazenamento

university-logo

IntroducaoArquitetura

ImplementacaoConclusao

Duvidas? Comentarios? Sugestoes?

Lauro Camada de Armazenamento