Sistema de arquivos Distribuidos Luiz Carlos, Rafael Tavares, Aline Universidade Estacio de Sá 4 de novembro de 2013 (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 1 / 16
Introdução Um sistema de arquivos (SAD) ou ficheiros distribuído é um sistema de arquivos no qual os arquivos nele armazenados estão espalhados em hardwares diferentes, interconectados através de uma rede.para que esses arquivos sejam acessados, modificados e que sejam criados outros arquivos e necessaria uma estrutura que permita tais operações. Eles tem vários aspectos semelhantes aos dos sistemas de arquivos centralizados, além de operações de manipulação de arquivos, preocupações com redundância, consistência, dentre outros atributos desejados de um sistema de arquivos. Essa característica do SAD possibilita que os usuários acessem arquivos de qualquer computador da rede de forma transparente para o usuário ou programa. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 2 / 16
Caracteristica Um sistema distribuído é caracterizado por fornecer fácil acesso aos seus recursos sem revelar que os seus componentes são distribuídos pela rede, permitindo que o conjunto possa ser expandido (TANENBAUM; STEEN, 2007). (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 3 / 16
Transparencias A transparência consiste em promover acesso a recursos distribuídos aparentando-se como um único sistema para usuário ou aplicação (tornar menos perceptível alguns detalhes). O SAD deve prover transparência nos seguintes contextos: Transparência de acesso Transparência de mobilidade Transparência de desempenho Transparência de escalabilidade Transparência a falhas Transparência de replicação (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 4 / 16
Transparencias "A transparência é altamente desejável em sistemas distribuídos, mas nem sempre é possível alcançá-la ou, em determinadas situações, não convém ocultá-la. Pode-se destacar uma situação que seja mais conveniente o usuário tomar uma decisão sobre alguma falha do que o sistema distribuído tentar resolver por si só "(FERNANDES, 2012). Convém lembrar que alterações feitas por um cliente não devem interferir nas operações de outros clientes, mesmo que esses clientes estejam manipulando o mesmo arquivo. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 5 / 16
Replicação de arquivos A garantia da disponibilidade dos arquivos em SADs é algo que não se pode prever, mas que é possível antecipar. A disponibilidade se faz com o uso da replicação de arquivos, técnica que pode ser empregada com ações simples como uso de caches no lado do cliente ou recursos mais avançados, os quais envolvem réplicas mantidas por gerenciadores de réplicas. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 6 / 16
Heterogeneidade O SAD deve ser concebido levando em conta a heterogeneidade de plataformas ( sistemas operacionais, arquiteturas de processador, dentre outros fatores), que podem ser usadas, tanto do lado dos servidores como dos clientes. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 7 / 16
Segurança Algumas medidas devem ser adotadas em favor da privacidade e da integridade dos arquivos. Nesse aspecto, os SADs utilizam recursos de criptografia, canais seguros e controle de acesso para evitar que dados sejam acessados por usuários sem permissões. Esses fatores levantam três aspectos de grande importância: confiabilidade (impedir acesso não autorizado). integridade (garantir a qualidade do arquivo mediante modificações não autorizadas ou falhas no sistema). disponibilidade (garantir o estado de acesso aos recursos contra problemas provenientes do meio). (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 8 / 16
Desempenho Nos SADs, os principais fatores observados que podem influenciar o nível de desempenho são comumente representados pela latência da rede e/ou latência dos servidores. Uma forma de aliviar a latência é através do uso de técnicas de cache. Com o uso da cache é possível armazenar informações que são acessadas frequentemente, minimizando o custo de obtê-las novamente do local de origem. Esse processo evita que toda solicitação de arquivos viaje através da rede até o servidor onde o arquivo está armazenado. Na maioria dos SADs, assume-se que os dados estão assegurados pelo servidor e, com isso, o foco da segurança é centralizado no canal de comunicação entre servidores e clientes. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 9 / 16
Escalabilidade A escalabilidade define a eficiência do sistema, conforme se elevam o número de recursos e o número de usuários. Algumas situações que podem acontecer com o uso de SADs são exploradas nos itens a seguir: Sobrecarga do servidor Sobrecarga na rede Incompatibilidade de hardware e sistema operacional Consistência dos arquivos (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 10 / 16
Tolerância a falhas "Um dos objetivos dos sistemas distribuídos, que por consequência estende-se aos SADs, é garantir a recuperação automática de falhas parciais, sem que isso interfira de forma significativa no desempenho do conjunto. Considerando que as falhas são inevitáveis, a maior preocupação concentra-se em detectá-las e como tratá-las. Entretanto, a detecção não é um processo exato, pois em um cenário não supervisionado, um problema consiste em como distinguir falhas reais de problemas de latência da rede. Nesse sentido, o tratamento das falhas são apoiadas em suposições de que algo pode estar errado e, através disso, ocultá-las do usuário e tratá-las"(fernandes, 2012). (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 11 / 16
Tipos de falhas falha por queda: problema físico ou lógico no servidor, causando o travamento do sistema operacional; falha por omissão: significa o não recebimento das mensagens, quer seja por causa de mensagens não aceitas ou por não enviar uma resposta depois da ação concluída; falha de temporização: ocorre quando uma reposta está fora do intervalo de tempo adequado; falha de resposta: consiste da resposta emitida estar incorreta, ou seja, o retorno não condiz com a solicitação; falha arbitrária: ocorre quando um servidor envia mensagens inadequadas, mas que não são consideradas como incorretas. Também pode ser associada a um servidor que está atuando maliciosamente e, portanto, emitindo respostas erradas de forma proposital. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 12 / 16
Exemplo de Sistemas de Arquivos Distribuídos SUN Network File System: é um sistema de arquivos distribuído no qual clientes acessam os arquivos armazenados em apenas um servidor. Ceph: Um sistema de arquivos distribuído Linux de escala petabyte. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 13 / 16
Curiosidades sobre o Ceph O Ceph é um acréscimo recente à impressionante seleção de sistemas de arquivos Linux, sendo constituído por um sistema de arquivos distribuído que incorpora a replicação e a tolerância a falhas ao mesmo tempo em que mantém compatibilidade POSIX. O Ceph começou como um projeto de pesquisa de PhD em sistemas de armazenamento de Sage Weil na University of California, Santa Cruz (UCSC). No entanto, desde o final de março de 2010 já era possível encontrar o Ceph no principal kernel Linux (desde 2.6.34). Embora o Ceph possa não estar pronto para ambientes de produção, ainda é útil para fins de avaliação" (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 14 / 16
Objetivos do Ceph O desenvolvimento de um sistema de arquivos distribuído é uma empreitada complexa, mas imensamente valiosa se for capaz de resolver os problemas certos. Os objetivos do Ceph podem ser simplesmente definidos como: Fácil escalabilidade para capacidade de vários petabytes. Alto desempenho com cargas de trabalho variáveis (operações de entrada/saída por segundo [IOPS] e largura da banda). Grande confiabilidade. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 15 / 16
Conclusão Diversos aspectos devem ser considerados no desenvolvimento e na análise dos SADs sendo os mais comuns e principais utiliziados: a Transparência, Arquitetura, Comunicação, Compartilhamento e sincronização, cache, Tolerância a falhas e Segurança. Quando este serviço está bem projetado(mesmo nem sempre contendo todos) dá acesso a arquivos armazenados em um servidor com desempenho e confiabilidade semelhantes aos arquivos armazenados em discos locais. (Universidade Estacio de Sá) Arquitetura de Sistemas 4 de novembro de 2013 16 / 16