Sistemas Distribuídos e Paralelos



Documentos relacionados
Desenvolvimento de Sistemas Distribuídos Aula 03 Sistema de Arquivos Distribuídos

GESTÃO DE SISTEMAS E REDES DOMAIN NAME SYSTEM

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos

1

SISTEMAS DISTRIBUIDOS

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Redes de Computadores

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

Sistemas Distribuídos

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

MODELO CLIENTE SERVIDOR

Pg. Autoria. Versão atual V10, nov 2008 C. Geyer. Sistemas de Arquivos Distribuídos: DFS. Projeto de. Sistemas de Arquivos Distribuídos (DFS) Súmula

Sistemas Informáticos

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Arquitetura dos Sistemas de Informação Distribuídos

Referencial do Módulo B

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes.

Programação de Sistemas

Características Carlos Ferraz

Unix: Sistema de Arquivos. Geraldo Braz Junior

Capítulo 6 Sistemas de Arquivos

O AMBIENTE DE TRABALHO DO WINDOWS

Introdução aos Computadores

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Sistemas Distribuídos e Paralelos

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Conceitos de relação de confiança

Módulo de Administração de Utilizadores

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUÍDOS Ano Lectivo 2012/2013

Introdução ao Modelos de Duas Camadas Cliente Servidor

Figura 1 - O computador

WSUS. Windows Server Update Services

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação

Capítulo II Modelos de Programação Distribuída (parte 2)

Sistemas Distribuídos

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Departamento de Informática

Sistemas Operacionais. Conceitos de um Sistema Operacional

Introdução aos Sistemas Operativos

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Gestão de Configuração

Desenvolvimento Cliente-Servidor 1

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Modelos de Arquiteturas. Prof. Andrêza Leite

Programação de Sistemas

Programação de Sistemas

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Sistemas Distribuídos

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Sistemas Operacionais

Aula 03-04: Modelos de Sistemas Distribuídos

Tarefa Orientada 16 Vistas

VORONOI STATE MANAGEMENT FOR PEER-TO-PEER MASSIVELY MULTIPLAYER ONLINE GAMES

Capítulo 9. Gerenciamento de rede

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

ADMINISTRAÇÃO DE SISTEMA OPERACIONAL DE REDE (AULA 1)

Acronis Servidor de Licença. Manual do Utilizador

ACL Linux. O que são ACLs e por que usá-las?

Solução de Dashboard. Monitorização e Alarmistica IT (Networking e Sistemas) ALL IN ONE SOLUTION SCALABILITY TECHNICAL SUPPORT

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular SISTEMAS DISTRIBUIDOS Ano Lectivo 2015/2016

Prof. Luiz Fernando Bittencourt MC714. Sistemas Distribuídos 2 semestre, 2013

Prof. Marcelo Machado Cunha

Programador/a de Informática

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

Conceitos de Banco de Dados

Sistemas Operativos I

Engenharia de Software Sistemas Distribuídos

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

Transcrição:

Sistemas Distribuídos e Paralelos Sistemas de Ficheiros Distribuídos Ricardo Mendão Silva Universidade Autónoma de Lisboa r.m.silva@ieee.org December 16, 2014 Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 1 / 32

Outline 1 Introdução 2 Características dos sistemas de ficheiros distribuídos 3 Requisitos dos SFD 4 Arquitectura de um serviço de ficheiros 5 Caso de estudo: Sun Network File System 6 Caso de estudo: Andrew File System 7 Caso de estudo: Dropbox Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 2 / 32

Introdução Os mecanismos para a partilha de dados podem tomar diferentes formas, dependendo dos meios, do objectivo e dos recursos disponíveis. Por exemplo, os servidores web apresentam um modo restrito de partilhar ficheiros, nos quais ficheiros guardados localmente, são disponibilizados na Internet. O desenho de sistemas de ficheiros de larga-escala coloca diversos problemas de balanceamento de carga, fiabilidade,disponibilidade e segurança - exactamente os problemas que os sistemas peer-to-peer ambicionam resolver. A necessidade de partilha em redes locais e intranets levou à necessidade de implementar um tipo de serviço de partilha distinto - um sistema que suportasse o armazenamento persistente de dados e programas, em nome dos clientes, e que garantisse a distribuição consistente e actualizada dos dados. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 3 / 32

Introdução Um sistema de ficheiros distribuídos básico é um sistema cujo principal objectivo é emular o funcionamento de um sistema de ficheiros não-distribuído em clientes remotos. Um sistema de ficheiros distribuídos não mantém múltiplas réplicas persistentes de dados nem suporta grandes larguras de banda ou tempos de resposta, requeridos, por exemplo, pelos sistemas de streaming. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 4 / 32

Introdução Os sistemas de ficheiros foram originalmente desenvolvidos, como parte dos sistemas operativos, para sistemas centralizados e desktops. Mais tarde ganharam capacidades adicionais, tais como, controlo de acessos e mecanismos de bloqueamento, que os tornaram úteis para a partilha de dados e programas. Os sistemas de ficheiros distribuídos suportam a partilha de informação no formato de ficheiros e partilha de recursos de hardware no formato de armazenamento persistente. Um sistema de ficheiros distribuído bem desenhado deve fornecer acesso a ficheiros armazenados num qualquer servidor com performance e fiabilidade similar, ou mesmo superior, aos sistemas de ficheiros locais. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 5 / 32

Introdução A concentração dos dados persistentes num ou num cluster de servidores, reduz a necessidade de grandes capacidades de armazenamento local e permite economizar na gestão e arquivamento dos dados persistentes de uma organização. Para além disso, outros serviços, tais como, serviços de nomes, serviços de autenticação de utilizadores ou serviços de impressão, são mais facilmente implementados quando suportados pelo sistema de ficheiros. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 6 / 32

Introdução Sistemas de armazenamento e as suas características Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 7 / 32

Características dos sistemas de ficheiros distribuídos Os sistemas de ficheiros são responsáveis pela organização, armazenamento, aquisição, nomeação, partilha e protecção de ficheiros. Os sistemas de ficheiros fornecem interfaces de programação que caracterização a abstracção do ficheiro, libertando o programador de qualquer preocupação com os detalhes da alocação. Os ficheiros estão armazenados em discos ou noutros sistemas de memória não-volátil. Os ficheiro contêm tanto dados como atributos. Os dados consistem em sequências de items acessíveis pelas operações read e write. Os atributos são mantidos num único componente contendo informação diversa, tal como, o tamanho do ficheiro, timestamps, o tipo de ficheiro, a identidade do owner e a lista de controlo de acesso. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 8 / 32

Características dos sistemas de ficheiros distribuídos Os sistemas de ficheiros são desenhados para armazenar e gerir grande número de ficheiros, com capacidade para criar, nomear e apagar ficheiros. A nomeação de ficheiros é suportada pela criação de directorias. Uma directoria é um ficheiro, tipicamente de um tipo especial, que fornece um mapeamento entre nomes e identificadores de ficheiros internos. As directorias podem conter os nomes de outras directorias, originando não só a familiar hierarquia de ficheiros e esquemas de nomes, como também os caminhos multi-particionados comuns tanto em Unix como noutros sistemas operativos(ex: /home/rmsilva/documents ou c: programs sdp ) Os sistemas de ficheiros são ainda responsáveis pelo controlo de acesso, restringindo o acesso a cada ficheiro de acordo com a autorização de cada utilizador e o tipo de acesso requerido (leitura, actualização, execução, etc...) Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 9 / 32

Características dos sistemas de ficheiros distribuídos Operações nos sitemas de ficheiros Estas operações são implementadas pelo Kernel e utilizadas pelos programadores através de livrarias existentes nas diversas linguagens. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 10 / 32

Requisitos dos Sistemas de Ficheiros Distribuídos Inicialmente, a transparência no acesso e a transparência na localização eram os requisitos principais. Actualmente a lista de requisitos é bem mais extensa, incluíndo: Transparência Transparência no acesso - os programas clientes não devem estar cientes da distribuição dos ficheiros. Programas desenhados para trabalhar com ficheiros locais, devem conseguir fazê-lo de igual modo com ficheiros remotos. Transparência na localização - os programas clientes devem ver os sistema de ficheiros de modo uniforme. Os ficheiros ou grupos de ficheiros remotos podem ser re-alocados, mas os clientes devem ver sempre os mesmos caminhos. Transparência na mobilidade - Os ficheiros ou grupos de ficheiros podem ser movidos, automaticamente ou pelos administradores de sistemas, sem necessidade de actualizar as tabelas nos nós clientes. Transparência na performance - os programas cliente devem manter a mesma performance independentemente das variações de carga no serviço. Transparência na escalabilidade - o serviço pode ser expandido de modo a lidar com o aumento dos requisitos. Ricardo Mendão Concorrência Silva (UAL) na actualização Sistemas Distribuídos dee Paralelos ficheiros December 16, 2014 11 / 32

Requisitos dos Sistemas de Ficheiros Distribuídos E ainda: Concorrência na actualização de ficheiros - Mudanças num ficheiro por um cliente não devem afectar acções simultâneas de outros clientes, mesmo que se tratem de actualizações. Replicação de ficheiros - Num serviço de ficheiros com suporte de replicação, um ficheiro pode ser representado por várias réplicas armazenadas em diferentes localizações. Deste modo, torna-se possível balancear a carga, no acesso aos ficheiros, entre diferentes servidores, aumentando a disponibilidade e a performance, e ainda, implementar mecanismos de tolerância a falhas quer na manutenção do serviço quer na segurança dos dados. Heterogeneidade de hardware e sistemas operativos - As interfaces do serviço devem ser definidas de modo a que possam ser implementadas por qualquer cliente e servidor, independentemente do sistema operativo e hardware. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 12 / 32

Requisitos dos Sistemas de Ficheiros Distribuídos E ainda: Tolerância a falhas - mecanismos de tolerância a falhas capazes de garantir as semânticas no máximo um ou pelo menos um devem ser assegurados. Consistência - mecanismos de consistência devem garantir que todos os clientes que simultaneamente consultam um ficheiro, tenham todos a mesma visão. Segurança - virtualmente todos os sistemas de ficheiros fornecem mecanismos de controlo de acessos. Nos sistemas de ficheiros distribuídos existe a necessidade de autenticar devidamente os clientes que requerem acesso e pode existir a necessidade de incluir assinaturas digitais e mesmo encriptação dos dados. Eficiência - Os sistemas de ficheiros distribuídos devem fornecer, pelo menos, os mesmos níveis de serviços e qualidade de serviço, existentes nos sistemas de ficheiros centralizados. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 13 / 32

Arquitectura de um serviço de ficheiros Uma arquitectura que forneça um serviço adequado de acesso a ficheiros deve ser estruturada em três componentes: serviço básico de ficheiros serviço de directorias módulo cliente Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 14 / 32

Arquitectura de um serviço de ficheiros Serviço básico de ficheiros: Este módulo é responsável por todas as operações sobre os conteúdos dos ficheiros. Cada ficheiro é identificado por um Unique file identifiers(ufids). O UFID é uma sequência longa de bits, escolhida de modo a que cada ficheiro tenho um id único em todo o sistema distribuído. Quando um serviço básico de ficheiros recebe um pedido para criar um ficheiro, ele gera um novo UFID para o novo ficheiro e devolve-o ao elemento que realizou o pedido. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 15 / 32

Arquitectura de um serviço de ficheiros Serviço de directorias: O serviço de directorias fornece um mapeamento entre os nomes dos ficheiros e os seus UFIDs. Os clientes podem obter o UFID de um ficheiro, citando o seu nome ao serviço de directorias. O serviço de directorias fornece ainda as funções base para gerar directorias, para aicionar novos ficheiros a directorias e para obter UFIDs das directorias. O serviço de directorias é um cliente do serviço básico de ficheiros - os ficheiros directoria estão armazenados em ficheiros do sistema básico de ficheiros. Quando existem esquemas hierárquicos de nomes de ficheiros, como no UNIX, as directorias utilizam ainda referências para outras directorias. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 16 / 32

Arquitectura de um serviço de ficheiros Módulo cliente: O módulo cliente corre em cada computador cliente, integrando e estendendo as operações do serviço básico de ficheiros e do serviço de directorias. O módulo cliente mantem informação sobre a localização na rede do servidor básico de ficheiros e do servidor de directorias. O módulo cliente pode ainda desempenhar um papel fundamental na gestão da performance, implementando uma cache dos blocos de ficheiros recentemente utilizados. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 17 / 32

Arquitectura de um serviço de ficheiros Interface do serviço básico de ficheiros: Esta interface é uma interface RPC utilizada pelos módulos clientes, com as seguintes funções: Read(FileId, i, n) -> Data - Lê a sequência da i até n e devolve em Data Write(FileId,i,Data) - Lê a sequência de Data para o ficheiro FileId a começar em i Create() -> FileId - Cria um novo ficheiro de tamanho 0 e devolve o UFID gerado. Delete(FileId) - Remove o ficheiro do armazenamento. GetAttributes(FileId) -> Attr - Devolve os atributos do ficheiro:permissões, timestamps, etc. SetAttributes(FileId, Attr) - Configura os atributos do ficheiro. Normalmente só o serviço de directorias tem permissões para executar o set. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 18 / 32

Arquitectura de um serviço de ficheiros Interface do serviço de directorias: Esta interface é uma interface RPC utilizada pelos módulos clientes, com as seguintes funções: Lookup(Dir, Name) -> FileId - Localiza o Name na Dir e devolve o UFID. Se o Name não consta na Dir retorna uma excepção. AddName(Dir, Name, FileId) - Se Name não existe em Dir, adiciona Name na Dir e actualiza os seus atributos. Senão retorna uma excepção. UnName(Dir, Name) - Se Name está em Dir, remove Name da Dir. Senão reporta excepção. GetNames(Dir, Pattern)-> NameSeq - Devolve todos os nomes de ficheiros de Dir que correspondem à expressão regular Pattern. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 19 / 32

Arquitectura de um serviço de ficheiros Controlo de Acessos: Num sistema distribuído o controlo de acessos a ficheiros é efectuado no servidor, uma vez que não existe qualquer protecção nas interfaces RPC. A identidade do utilizador tem de ser passada no pedido e o servidor é vulnerável a identidades forjadas. Para além disso, se o resultado de um acesso fica guardado no servidor para acessos futuros, o servidor deixa de ser uma entidade sem estados. Como tal, duas soluções podem ser tomadas: A cada primeiro acesso são verificadas as permissões e para cada UFID são gerados os resultados, que são codificados na resposta ao cliente, para que nos próximos pedidos, este anexe esses resultados. Em todos os acessos, mesmo que repetidos, o servidor verifica as permissões do utilizador. Ambas as soluções permitem implementações de servidores sem estados, apesar da segunda solução ser a mais popular e utilizada no NFS e AFS (apresentados mais à frente). Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 20 / 32

Arquitectura de um serviço de ficheiros Sistema de ficheiros hierárquico: Um sistema hierárquico consiste num número de directorias organizadas em árvore. Cada directoria mantém o nome dos ficheiros e de outras directorias que estão acessíveis a partir desta. Cada ficheiro ou directoria pode ser referenciado utilizando um caminho constituído por múltiplas partes, que representa o caminho pela árvore (Ex: /usr/share/tomcat7/bin) A raiz tem um nome distinto e cada ficheiro ou directoria tem um nome numa directoria. Em UNIX o esquema não é uma árvore restrita, uma vez que um ficheiro pode ter vários nomes e estar em várias localização, através dos links simbólicos (ln -s). Num serviço de directorias hierárquico, cada ficheiro mantem um atributo tipo que distingue entre ficheiro e directoria, de modo a que na construção de um caminho se garanta que só o último elemento é um ficheiro. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 21 / 32

Caso de estudo: Sun Network File System A arquitectura do NFS segue o mesmo modelo apresentado anteriormente. Todas as implementações de NFS suportam o protocolo NFS, ou seja, um conjunto de RPCs que fornecem meios para os clientes efectuarem as operações num armazenamento de ficheiros remoto. O NFS é independente de SO, mas foi originalmente desenvolvido para UNIX. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 22 / 32

Caso de estudo: Sun Network File System O módulo NFS server reside no Kernel de cada computador que funciona como servidor NFS. Pedidos referenciando um ficheiro remoto são traduzidos pelo módulo cliente em operações NFS e depois passados ao servidor NFS. Tanto os módulos cliente como servidor comunicam via RPC, tendo o sistema Sun RPC sido desenvolvido precisamente para NFS. Pode operar tanto em UDP como em TCP. Existe ainda um serviço de mapeamento de porto que permite que um cliente vincule serviços. A interface RPC do servidor NFS é aberta e qualquer cliente pode efectuar pedidos.se o pedido for válido e incluir credenciais de utilizador válidas, será aceite. A submissão de credenciais de utilizador assinadas pode ser um requisito de segurança, tal como a encriptação dos dados para privacidade e integridade. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 23 / 32

Caso de estudo: Sun Network File System Virtual File System Na figura anterior, vemos claramente que o NFS fornece transparência clara, uma vez que os utilizadores invocam os ficheiros, locais ou remotos, sem distinção. Essa integração é alcançada através do sistema de ficheiros virtual (Virtual File System - VFS). O VFS foi adicionado ao kernel do UNIX para distinguir entre ficheiros locais e remotos e para traduzir os identificadores tanto dos ficheiros independentes de UNIX localizados no NFS e os ficheiros locais (UNIX ou não). Para além disso o VFS mantém referências para os sistemas de ficheiros actualmente disponíveis, sejam locais ou remotos, passando cada pedido para o local apropriado. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 24 / 32

Caso de estudo: Sun Network File System Integração do cliente O módulo do cliente NFS desempenha a mesma função que o módulo descrito na arquitectura anterior, fornecendo uma interface para uso das aplicações locais. No entanto, o cliente NFS emular precisamente a mesma semântica que os sistemas de ficheiros UNIX e está integrado no kernel UNIX. Essa integração no Kernel, em vez de disponibilização via livrarias, permite: que os programas possam aceder aos ficheiros através de chamadas do sistema UNIX, sem recompilações ou re-carregamentos. que um simples módulo cliente suporte todos os processos ao nível do utilizador, com um cache dos blocos mais utilizados partilhada entre todos. que a chave de encriptação utilizada para autenticar o id do utilizador, seja retida no kernel, prevenindo personalizações pelos clientes ao nível do utilizador. O módulo cliente coopera com o VFS em cada máquina cliente, operando como um sistema de ficheiros UNIX convencional. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 25 / 32

Caso de estudo: Sun Network File System Controlo de acessos e autenticação O servidor NFS é um servidor sem estado e, como tal, não mantem nem sessões abertas nem ficheiros alocados a clientes. Assim, o servidor deve verificar a identidade e respectivas permissões dos utilizadores a cada pedido. O protocolo RPC da Sun, obriga a que cada cliente envie informação da autênticação do utilizador (UID e GID) em cada pedido, o que depois é utilizado para verificar as permissões de acesso nos atributos do ficheiro. Este método, permitia que os utilizadores pudessem tomar identidades que não as suas, o que levou à adopção da opção de encriptação com DES. Mais recentemente, a solução de segurança evoluiu para integração de kerberos no NFS, permitindo resolver os problemas de autenticação existentes. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 26 / 32

Caso de estudo: Sun Network File System Interfaces RPC do servidor NFS versão 3 lookup, create, remove, getattr, setattr read, write, rename, link, symlink readlink, mkdir, rmdir, readdir, statfs Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 27 / 32

Caso de estudo: Andrew File System Tal como o NFS, também o AFS fornece transparência no acesso aos ficheiros remotos. O acesso aos ficheiros AFS é efectuado através da via normal do UNIX, existindo compatibilidade com NFS. Ao contrário do NFS o AFS foi desenhado para garantir maior escalabilidade, sendo altamente eficaz em servir um largo número de utilizadores simultaneamente. O ponto estratégico para alcançar tamanha escalabilidade é a realização de caching de todos os ficheiros nos nós clientes. O AFS tem duas características incomuns: Whole-file serving - Todo o conteúdo das directorias e ficheiros é transmitido para os computadores clientes pelos servidores AFS. Whole-file caching - Uma vez que uma cópia de um ficheiro é transmitido a um cliente, esta é mantida em cache no disco local. A cache contem milhares de ficheiros utilizados recentemente, sendo permanente, ou seja, sobrevive a reinicializações da máquina. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 28 / 32

Caso de estudo: Andrew File System O AFS é implementado em dois componentes de software que existem como processos UNIX, nomeadamente o Vice e o Venus Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 29 / 32

Caso de estudo: Dropbox Dropbox é um sistema de ficheiros distribuídos, bastante popular, alojado na cloud - em particular nos servidores da Amazon (Amazon Web Services - AWS), com o serviço S3 - Simple Storage Service combinado com o EC2 - Elastic Cloud Compute. Dropbox utiliza ainda o SQS - Simple Queue Service e o Route 53, o servidor de DNS altamente escalável, ambas as soluções também da Amazon. Para além disso, o Dropbox conta ainda com dois datacenters gigantes localizados em lados opostos do globo. Estes datacenters contêm os metadados de cada ficheiro existente no sistema. Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 30 / 32

Caso de estudo: Dropbox Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 31 / 32

Sistemas de Ficheiros Distribuídos Capítulo 12: George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair, "Distributed Systems: Concpets and Design", Fifth Edition, published by Addison Wesley, May 2011 ISBN 0-13-214301-1 rmsilva@ual.pt Ricardo Mendão Silva (UAL) Sistemas Distribuídos e Paralelos December 16, 2014 32 / 32