• Nenhum resultado encontrado

Sistema de Arquivos Distribuído Flexível e Adaptável

N/A
N/A
Protected

Academic year: 2023

Share "Sistema de Arquivos Distribuído Flexível e Adaptável "

Copied!
87
0
0

Texto

Com o aumento do volume de dados e a incerteza dos recursos de hardware e software, a descentralização dos dados no sistema de arquivos surgiu para reduzir as chances de perda total desses dados. Tahoe-LAFS: Tahoe-Least Authority File System TCP: Transmission Control Protocol UCP: Central Processing Unit UDP: User Datagram Protocol.

Motivação

Baseada na ideia de compartilhamento de recursos, a distribuição em nível de sistema de arquivos para redes traz o conceito de um sistema de arquivos distribuído (DSS), ou seja, um sistema de arquivos no qual os arquivos são armazenados e distribuídos em diferentes computadores conectados entre si via uma rede ( COULOURIS; DOLLIMORE ; KINDBERG, 2005). Mas para isso é importante conhecer os desafios envolvidos nesses sistemas, que devem ser explicados no Capítulo 2 com os principais tópicos sobre sistemas de arquivos distribuídos.

Objetivos

Devido a essa interferência entre os atributos, existe uma quantidade considerável de DSS que tenta favorecer uma determinada característica para um determinado cenário (PATE, 2003; COULOURIS; DOLLIMORE; KINDBERG, 2005; HUANG; GRIMSHAW, 2011).

Organização do texto

Considerações Iniciais

Características

Transparência de mobilidade: independentemente dos arquivos que se movem entre os servidores, os programas clientes não precisam mudar para o novo local do grupo de arquivos. A garantia da disponibilização de arquivos nos SADs é algo que não se pode prever, mas é possível prever.

Modelos Arquiteturais

Considerações Finais

Considerações Iniciais

No âmbito deste DSS, a escolha do NFS, AFS e GFS para o desenvolvimento deste trabalho justifica-se pela extensa documentação disponível, permitindo a investigação de problemas comumente encontrados em projetos de DSS. Quanto à escolha do Tahoe-LAFS, sua importância para este projeto foi ditada pelo seu desenvolvimento em um projeto open source, disponibilizando um modelo de acesso a arquivos por upload/download (upload/update) e a utilização do princípio da menor autoridade ( KARP , 2003;MILLER, 2006) para distribuir arquivos.

Network File System

Na interface do cliente, a transparência do NFS ocorre por meio de um Virtual File System (VFS), que é responsável por direcionar as solicitações para o módulo de sistema de arquivos apropriado e atua como um intermediário para os aplicativos do usuário. Isso possibilita trabalhar com o sistema de arquivos local, com o módulo NFS ou com outro sistema de arquivos (COULOURIS; DOLLIMORE; KINDBERG, 2005). No lado do cliente, há um comando de montagem personalizado para solicitar a montagem de sistemas de arquivos remotos.

Quando o usuário tenta resolver um determinado caminho, ele é encaminhado para o montador automático, que procura em sua lista o sistema de arquivos desejado e envia uma requisição para montar o sistema de arquivos remoto. Se o tempo for muito longo, a consistência pode ser comprometida, dando lugar ao uso de arquivos desatualizados (COULOURIS; DOLLIMORE; KINDBERG, 2005).

Figura 3.2: a) Modelo acesso remoto b) Modelo carga atualização ( TANENBAUM;
Figura 3.2: a) Modelo acesso remoto b) Modelo carga atualização ( TANENBAUM;

Andrew File System

Por fim, caso haja alterações no arquivo por parte do cliente, essa cópia é enviada ao processo Vice, que é responsável por atualizar os dados nos discos do servidor (COULOURIS; DOLLIMORE; KINDBERG, 2005). Quanto à reprodução, os arquivos compartilhados e raramente alterados pelos clientes podem ser gerenciados de maneira diferente. Os arquivos são armazenados em cache, sendo persistentes nas reinicializações da estação local, ou seja, não há necessidade de copiá-los novamente do servidor para futuros acessos.

Conhecidos em alguma literatura como promessa de retorno de chamada, eles são distribuídos junto com os arquivos baixados. Eles têm dois estados, válidos ou revogados, que determinam se novas cópias devem ser recuperadas dos servidores.

Figura 3.3: Arquitetura AFS ( COULOURIS; DOLLIMORE; KINDBERG , 2005)
Figura 3.3: Arquitetura AFS ( COULOURIS; DOLLIMORE; KINDBERG , 2005)

Google File System

Em vez disso, os clientes executam operações diretamente nos servidores de parcela (GHEMAWAT; GOBIOFF; LEUNG, 2003). Equilibre o uso dos recursos de computação disponíveis e ajuste o melhor uso do espaço em disco nos subservidores. Nesse caso, o GFS aplica um tratamento específico, com maior fator de replicação para esses arquivos nos servidores da parcela (GHEMAWAT; GOBIOFF; LEUNG, 2003).

O cliente GFS se comunica com o mestre através de metadados para descobrir quais pedaços se referem a um determinado arquivo e onde eles estão localizados, enquanto as operações nos arquivos são realizadas diretamente pelo cliente GFS nos servidores de pedaços. Retorno rápido: permite que os servidores batch e o master retomem seus processos em segundos, independentemente de como pararam.

Figura 3.5: Arquitetura GFS ( TANENBAUM; STEEN , 2007)
Figura 3.5: Arquitetura GFS ( TANENBAUM; STEEN , 2007)

Tahoe-LAFS

O resultado final é um conjunto de partes criptografadas do arquivo original, distribuídas em N servidores de armazenamento. No Tahoe-LAFS, o controle de acesso é gerenciado por dois manipuladores denominados defile-capability(file-caps) e dir-capability(dircaps) que definem o gerenciamento de arquivos e o gerenciamento de diretórios, respectivamente. O processo consiste em assinar as permissões do arquivo com a chave RSA seguida por strings de hash para formar a chave de criptografia AES-128.

Verify-capper permite apenas verificar as propriedades de um arquivo sem que o cliente ou aplicativo precise abri-lo. Por fim, a disponibilidade do arquivo é obtida usando a codificação de eliminação em conjunto com a divisão e distribuição de partes do arquivo em um conjunto de servidores.

Figura 3.7: Visão Geral Tahoe-LAFS ( WILCOX-O’HEARN; WARNER , 2008) O processo de distribuição segue um ajuste de 1 <= K <= N, em que N  repre-senta a quantidade de servidores que serão utilizados para armazenar os arquivos e K o mínimo necessário de
Figura 3.7: Visão Geral Tahoe-LAFS ( WILCOX-O’HEARN; WARNER , 2008) O processo de distribuição segue um ajuste de 1 <= K <= N, em que N repre-senta a quantidade de servidores que serão utilizados para armazenar os arquivos e K o mínimo necessário de

Considerações Finais

Sem o conceito de diretório raiz e subdiretórios, ele simplesmente começa no local do dircap e percorre outros diretórios por meio dos links associados a esse dircap. O uso de dircaps permite manipular cada diretório individualmente para que um arquivo possa ter vários pais. Alta escalabilidade através do uso de políticas de cache agressivas nos clientes e possibilidade de clustering de grupos de servidores.

Método independente do sistema local com criptografia direta no arquivo usando chave assimétrica RSA de 2048 bits e chave simétrica AES de 128 bits. Este capítulo apresenta a evolução do sistema de arquivos distribuído FlexA, destacando sua confiabilidade, integridade e disponibilidade de dados por meio de recursos herdados de outros DSSs.

Tabela 3.1: Comparação entre NFS, AFS, GFS e Tahoe-LAFS
Tabela 3.1: Comparação entre NFS, AFS, GFS e Tahoe-LAFS

Características

A tolerância a falhas é suportada pela distribuição de partes do arquivo pelos nós de armazenamento, descrita por Ghemawat, Gobioff e Leung (2003) e por Wilcox-O'Hearn e Warner (2008). Cache agressivo do lado do cliente, que elimina o acesso subsequente a arquivos já usados, o que pode levar a ganhos de latência de rede e recursos de computação.

Visão geral do FlexA

Essas interações são propagadas por meio do grupo de réplicas e os clientes ativos são notificados sobre novas alterações. A adaptabilidade permite que os clientes façam parte do pool de servidores, ajudando a entregar arquivos distribuídos. A utilização do grupo réplica é opcional, o que possibilita o controle da disponibilidade de porções de acordo com a demanda dos pedidos.

Esse processo é baseado no algoritmo bully, que determina um novo candidato para os servidores primários com base na prioridade dos membros do grupo de réplicas. Para versões desatualizadas, o usuário é informado sobre a disponibilidade de um novo arquivo no grupo de servidores.

Figura 4.1: Arquitetura FlexA
Figura 4.1: Arquitetura FlexA

Validação

Para a operação de leitura (flexa.py -g arquivo-5MB), o flexmodule e seu módulo coletor são usados ​​no cliente, enquanto no servidor apenas o módulo coletor é usado. Para o usuário, a saída de tela da operação de leitura exibe o manipulador de tipos presente no computador e busca nos servidores de escrita as seções necessárias para compilar o arquivo solicitado, mostrado na Figura 4.11. Enquanto isso, o módulo cliente-coletor aguarda as parcelas solicitadas pelo módulo flexa aos servidores, conforme Figura 4.12.

Com base nesse cenário, foi avaliado o tempo médio de gravação e leitura (upload e download) para arquivos de 1 MB, 5 MB, 10 MB, 25 MB e 50 MB com frequência de três vezes para cada operação. Por meio desse processo foi possível identificar a variação do consumo de tempo em relação ao tamanho do arquivo, conforme Figura 4.14.

Tabela 4.1: Comandos FlexA
Tabela 4.1: Comandos FlexA

Considerações Finais

Considerações Iniciais

Cenário, critérios de avaliação de desempenho e ferramentas

O cenário de pequena escala, conforme mostrado na Figura 5.1, é composto por estações de trabalho com processadores Intel Pentium Dual E2160 - 1,8 GHz, 2 GB de memória RAM, disco rígido de 40 GB a 7200 RPM, com sistema operacional Ubuntu Linux 64 bits e interligados com um Rede Ethernet full duplex de 100 Mbps através de um Switch3Com. Para o cenário de avaliação, os testes foram aplicados e analisados ​​por um script escrito em Python, que repetidamente realizava operações de upload e download para os cinco tipos de arquivos simultaneamente entre os clientes. A avaliação foi aplicada cliente a cliente, sendo cada novo computador verificado em simultâneo com o anterior, conforme ilustrado na Figura 5.2.

Com isso, no cenário avaliado, a média de transferências de pacotes chegou a 11,2 MB/s em uma rede de 100 Mbps. Nesse caso, a taxa de transferência desse pool é atribuída como global, o que inclui o consumo de rede de todos os servidores.

Figura 5.1: Cenário de testes
Figura 5.1: Cenário de testes

Resultados

Estendendo esta situação para um cenário com 6 clientes de acesso simultâneo e tendo em conta o seu consumo real, conforme ilustrado na Figura 5.4, temos um processo. Para o processo de leitura, mostrado na Figura 5.5, a taxa de transferência segue uma proporção maior, próxima ao limite teórico para seis clientes. Para o cliente, o impacto desse consumo na configuração do cenário avaliado e nos arquivos de carga testados gera mais tempo para o processo ser concluído, conforme a Figura 5.11.

O impacto desse novo conjunto no consumo da aplicação cliente é mostrado na Figura 5.12, alcançando uma economia no processo criptográfico de 47,17% para a tarefa de leitura e 46,47%. Nesse contexto, o consumo de memória RAM permanece uniforme com um leve aumento para o cliente, conforme Figura 5.17 e Figura 5.18.

Figura 5.3: Taxa de escrita FlexA
Figura 5.3: Taxa de escrita FlexA

Comparação de desempenho

A razão pela qual o FlexA é significativamente mais lento que o Tahoe-LAFS ao gravar arquivos acima de 5 MB é devido ao maior número de divisões e distribuições que o FlexA realiza em um conjunto de três servidores, totalizando 66% do arquivo para cada estação de trabalho em comparação com 50% arquivo para Tahoe-LAFS. Devido ao fator de divisão e ao processo de seleção para obter as partes distribuídas, a leitura do Tahoe-LAFS é limitada a apenas dois dos três canais de comunicação. A estimativa de utilização de recursos de hardware, Figura 5.26, mede quanto servidores e clientes gastam em operações de leitura e gravação.

Nesta análise, o Tahoe-LAFS se destaca pelo alto consumo de CPU e memória RAM no cluster de servidores e no cliente, tornando-o uma solução mais cara em comparação com outros DSSs. Essa economia no uso de recursos computacionais é obtida pela simplificação do modelo de permissão descentralizado herdado do Tahoe-LAFS.

Figura 5.24: Comparação entre as taxas de transferências para escrita de arquivos escrita de arquivos abaixo de 4 MB, para a qual o FlexA é ligeiramente mais rápido com aproximadamente 8 MB/s comparado com o 5 MB/s do Tahoe-LAFS
Figura 5.24: Comparação entre as taxas de transferências para escrita de arquivos escrita de arquivos abaixo de 4 MB, para a qual o FlexA é ligeiramente mais rápido com aproximadamente 8 MB/s comparado com o 5 MB/s do Tahoe-LAFS

Considerações finais

A simplificação de sua construção traz flexibilidade na utilização dos recursos computacionais com uso mais eficiente do poder de processamento do cliente e menores condições de sobrecarga do servidor. Além disso, o FlexA é mais suscetível a melhorias relacionadas à evolução do hardware cliente, em comparação com outros DSSs que priorizam apenas o consumo de recursos computacionais nos servidores. A adaptação do modelo de permissão descentralizada Tahoe-LAFS permite maior independência dos administradores e mais agilidade no processo de criptografia, pois o FlexA gerencia com a ausência da chave RSA assimétrica e com o uso de mais sequências de hash na chave de criptografia realiza o processo criptográfico com menos etapas, enquanto fornece um nível aceitável de segurança.

Para o FlexA, o melhor desempenho na operação de leitura é explicado pelo fator de compartilhamento de arquivos de utilizar três servidores simultaneamente, o que consequentemente gera um consumo maior em seu processo de escrita em relação ao Tahoe-LAFS. Além dessa diferença, tem-se enfatizado o consumo de recursos computacionais, onde o FlexA poderia oferecer um sistema mais eficiente para distribuição de arquivos com uso concorrente entre clientes.

Trabalhos futuros

Com esse baixo consumo nos servidores e garantias de confiabilidade, integridade e disponibilidade dos arquivos, o uso em ambiente virtual oferece uma saída interessante, técnica que vem crescendo nos últimos anos com o objetivo de aumentar o número de servidores lógicos para consolidar , uso eficiente de todos os recursos dos servidores físicos.

Imagem

Figura 2.2: Arquitetura Peer-To-Peer ( COULOURIS; DOLLIMORE; KINDBERG , 2005)
Figura 2.3: Funcionamento da estrutura torrent ( TANENBAUM; STEEN , 2007)
Figura 3.1: Arquitetura NFS ( TANENBAUM; STEEN , 2007)
Figura 3.3: Arquitetura AFS ( COULOURIS; DOLLIMORE; KINDBERG , 2005)
+7

Referências

Documentos relacionados

Como alternativa para melhorar a eficiência produtiva da pecuária leiteira no Estado foram implantadas na região sudeste do Estado, unidades de referência