gerência de arquivos distribuidos

42
Gerência de arquivos distribuidos Prof: Diovani Milhorim

Upload: ula

Post on 07-Jan-2016

32 views

Category:

Documents


1 download

DESCRIPTION

Gerência de arquivos distribuidos. Prof: Diovani Milhorim. Gerência de arquivos distribuidos. Em um sistema de arquivos distribuídos os arquivos se encontram armazenados e um ou mais servidores, e se tornam disponíveis a clientes da rede que os enxerga de forma transparente. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Gerência de arquivos distribuidos

Gerência de arquivos distribuidos

Prof: Diovani Milhorim

Page 2: Gerência de arquivos distribuidos

Gerência de arquivos distribuidos

Em um sistema de arquivos distribuídos os arquivos se encontram armazenados e um ou mais servidores, e se tornam disponíveis a clientes da rede que os enxerga de forma transparente.

Page 3: Gerência de arquivos distribuidos

Gerência de arquivos distribuidosRazões para uso de arquivos distribuídos.

Deseja adicionar servidores de arquivos ou modificar a localização de arquivos.

Os usuários que acessam destinos estão distribuídos por um ou vários locais.

A maioria dos usuários requer acesso a vários destinos. O equilíbrio da carga do servidor pode ser melhorado

com a redistribuição de destinos.

Page 4: Gerência de arquivos distribuidos

Gerência de arquivos distribuidosOs sistemas de arquivos distribuídos devem prover:

Confiabilidade Redundância Disponibilidade Escalabilidade

Page 5: Gerência de arquivos distribuidos

Gerência de arquivos distribuidosOs sistemas de arquivos distribuídos devem prover:

Confiabilidade Redundância Disponibilidade Escalabilidade

Page 6: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos

Esses sistemas são responsáveis por organizar armazenar, recuperar, nomear, compartilhar, proteger, autorizar acesso a arquivos e rede. Fornecendo:

Conjunto de operações para programador (API, desconhecimento dos detalhes)

Chamadas do sistema relacionadas: open, close, read, write, dup, lseek, chmod, umask.

Estrutura de Dados (i-node): armazena timestamp de criação, de alteração, de acesso, tamanho, proprietário e lista de acesso rwx (ready-write exclusive).

Define-se sintaxe para os arquivos (caracteres inválidos, extensão, etc.).

Page 7: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosDiretório

Tipo especial de arquivo que fornece mapeamento entre nome textual e identificador interno. Pode-se incluir nome de outros diretórios (atualmente conhecido como pastas). Possui a hierarquia de estrutura em árvore, formando os pathnames cujo diretório raiz global é representado por “/”.

As árvores dispõem das seguintes operações com diretório: criar, remover, nomear, renomear e mover. Havendo também a possibilidade de criar vínculos (com outros diretórios.

Page 8: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosDFS Possuem dois componentes distintos para lidar

com arquivos ou diretórios.

Sistema de Arquivo: operação em arquivos individuais (leitura, escrita, concatenação, remoção)

Serviço de Diretório: criação e gerência de diretórios, manipulação de arquivos em diretórios.

Page 9: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosExistem dois modelos de Projeto do Serviço de

Arquivos:

Upload/Download: simplicidade, o cliente precisa dispor do mesmo espaço do servidor, causando overhead em alterações mínimas.

Acesso Remoto: amplo número de operações, requer pouco espaço nos clientes por isso tornou-se um modelo consagrado

Page 10: Gerência de arquivos distribuidos

Gerência de arquivos distribuidos

a) Modelo de acesso remoto

b) Upload/download

Page 11: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNomeação

A nomeação é um mapeamento entre objetos lógicos e físicos.

Usuários lidam com objetos lógicos de dados representados por nomes de arquivos, enquanto que o sistema manipula blocos físicos de dados, armazenados em trilhas de discos. Geralmente, um usuário faz referência a um arquivo por meio de um nome textual. Este mapeamento é um identificador numérico de baixo nível que, por sua vez, é mapeado em blocos de disco. Esse mapeamento em vários níveis fornece aos usuários uma abstração de um arquivo que oculta os detalhes de como e onde no disco o arquivo está de fato armazenado.

Page 12: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosTransparência:

Em um DFS transparente, uma nova dimensão é adicionada à abstração: a de ocultar o local na rede onde o arquivo se encontra.

sistema de arquivos convencional: mapeamento = endereço em disco

Esse intervalo é aumentado para incluir a máquina específica em cujo disco o arquivo está armazenado.

Também existe a possibilidade de replicação de arquivos. Dado um nome de arquivo, o mapeamento retorna um conjunto das posições das réplicas desse arquivo.

Page 13: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosEstruturas de Nomeação

Existem duas noções no contexto de mapeamento de nomes em um DFS que precisam ser diferenciadas:

Transparência de posição: o nome de um arquivo não revela qualquer indício da posição do arquivo no armazenamento físico.

Independência de posição: o nome de um arquivo não precisa ser alterado quando muda da posição do arquivo no armazenamento físico.(raro de ser encontrado. AFS e sistemas experimentais)

Page 14: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosSemântica

Quando dois ou mais usuários compartilham o mesmo arquivo, é necessário definir a semântica de leitura e escrita precisamente. Se o sistema possui um único processador, ele é forçado a uma ordenação em todas as operações e sempre retorna o valor mais recente (chama-se semântica UNIX).

Em um sistema distribuído a semântica UNIX pode ser atingida facilmente se existe um único servidor de arquivos e os clientes não guardam arquivos em cache.(pode ocorrer problema de gargalo)

Page 15: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosSemântica

Para diminuir gargalos podemos usar políticas de cache.

Problema de cache:

Uso simultâneo de mesmo arquivo por diferentes usuários.

Solução do problemas:

Propagação instantânea de toda modificação no arquivo. Compartilhamento do ponteiro de escrita do arquivo.

Page 16: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosHistória

O primeiro SAD que se tem notícia usava a ARPANET, chamava-se datacomputer, e entrou em funcionamento em 1973.

O Interim File Server (IFS), criado por pesquisadores do Xerox Palo Alto Research Center (PARC).

Woodstock File Server (WFS), criado também pelo PARC. Em 1977, o PARC criou o Xerox Distributed File System O LOCUS (1980) que já implementava transparência de

localização, replicação O SWALLOW (início dos anos 80) do MIT, que usava uma técnica

de controle de acesso concorrente baseado em timestamps. Acorn File Server (início dos anos 80), desenvolvido para

implantação de uma rede de microcomputadores em escolas a um custo muito baixo

o VICE (1984), ancestral do AFS e do CODA

Page 17: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosPrincipais DFS em uso comercial:

Network File System (NFS) Andrew File System (AFS) Coda

Page 18: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS (network file system)

Desenvolvido pela Sun Microsystems (1985), sendo o primeiro serviço de arquivos projetado como produto com suporte a estações diskless (sem disco rígidos, quando eram caros). Alcançando seu sucesso técnico e comercial em 1989 (RFC1094) suas interfaces foram disponibilizadas em domínio público (openess).

Page 19: Gerência de arquivos distribuidos

Gerência de arquivos distribuidosArquitetura NFS

Page 20: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS (network file system)

Características:

Transparência de Acesso: Os programas clientes não se preocupam com a distribuição dos arquivos. Um único conjunto de operações acessa arquivos locais e remotos.

Transparência de Localização: Servidor exporta (compartilha) o sistema de arquivo para onde o cliente escolheu o ponto de montagem e visualiza como se fosse local.

Transparência de Falha: Uso de servidores stateless , onde falha no cliente não o afeta, podendo ser reinicializado com recuperação de contexto de cada cliente.

Page 21: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos.NFS (network file system)

Transparência de Desempenho: Tem como objetivo trabalhar satisfatoriamente na variação de carga, onde o cliente e o Servidor empregam cache para melhorar desempenho

Transparência de Migração: O serviço de montagem (mount) roda em cada nó e fornece interface via RPC para montagem e desmontagem– Utilizado no boot das máquinas– Não é totalmente resolvida pelo NFS: mudança da localização do FS requer atualização de tabelas locais– Automontagem (automounter) permite distribuição de carga por servidores de arquivos somente leitura (read-only)

Page 22: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS (network file system)

Transparência de Replicação: O sistema não fornece esse tipo de replicação

Transparência de Concorrência: O sistema não fornece esse tipo de transparência, dispõe apenas do lock rudimentar do Unix.

Escalabilidade: O sistema não fornece uma escalabilidade, ou seja, ela é limitada, projetada para suportar de 5 a 10 Clientes, onde o gargalo passa a ser o desempenho do Servidor o qual utiliza UDP (User Datagram Protocol) para transporte (default) e o portmap para serviço de registro para programas que utilizam RPC.

Page 23: Gerência de arquivos distribuidos

Operação v3 v4 Descrição

Create Não Sim Cria um arquivo não regular

Link Sim Sim Cria uma ligação para um arquivo (hard link)

Symlink Sim Não Cria uma ligação simbólica para um arquivo (symbolic link)

Mkdir Sim Não Cria um sub-diretório in um dado diretório

Mknod Sim Não Cria um arquivo especial

Rename Sim Sim Altera o nome de um arquivo

Open Não Sim Abre um arquivo

Close Não Sim Fecha um arquivo

Lookup Sim Sim Procura um arquivo em função do nome

Readdir Sim Sim Lê o conteúdo de um diretório

Readlink Sim Sim Lê o nome de um caminho armazenado em uma ligação simbólica

Getattr Sim Sim Lê os atributos de um arquivo

Setattr Sim Sim Configura o valor dos atributos de um arquivo

Read Sim Sim Lê os dados contidos em um arquivo

Write Sim Sim Escreve dados no arquivo

Gerência de arquivos distribuídosNfs3 x Nfs4

Page 24: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNfs3 x Nfs4

Leitura dos dados de um arquivo no NFS versão 3Leitura dos dados utilizando procedimentos compostos no NFS versão 4

Page 25: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosCache em sistemas NFS

Page 26: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS em dois clientes.

Page 27: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS em dois servidores.

Page 28: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosNFS (network file system)

Passos Instalar o servidor Configurar o servidor Instalar o cliente Montar o diretório remoto

Exemplo Debian Linux No servidor: apt-get install nfs-kernel-service nfs-common portmap

No cliente: apt-get install nfs-common portmap

Para utilizar: mount <address>:/<remote_dir> /mnt <options> ls /mnt/<remote_dir> 

Page 29: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos:Andrew File System (AFS)

AFS é um produto de sistemas de arquivos distribuídos que oferece uma arquitetura do cliente-servidor de arquivos compartilhados, fornecendo independência de posição, escalabilidade, segurança e potencial transparecia de migração de dados. Um sistema usando AFS é organizado em células, que são compostas de máquinas clientes e servidores. As máquinas servidoras executam diversos programas servidores, onde cada um deles cuida de um serviço diferente, como serviço de cache, serviço de arquivos, segurança, localização de arquivos, dentre outros. Uma célula é um agrupamento de administração independente, onde um administrador de uma célula não necessita conhecer ou compartilhar da configuração de outras células.

Page 30: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos. Coda File System

É uma evolução do AFS, onde um sistema de arquivo distribuído permite operações desconectadas, e a replicação do servidor e cache se dá pelo cliente.

Page 31: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos:Andrew File System (AFS)

Page 32: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos:Andrew File System (AFS)/coda

Venus é um processo executado no nível do usuário que fornece basicamente as mesmas operações que NFS

Page 33: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos:Andrew File System (AFS)

Características: O Volume : Embora possam variar em tamanho, em geral são

menores que uma partição. Seu tamanho reduzido facilita sua movimentação entre partições e até entre servidores (a fim de aumentar a ciência do sistema e também para manter a carga balanceada entre os servidores). Cada volume corresponde logicamente a um diretório na árvore de arquivos. Assim pode-se manter um volume para cada diretório raiz de um usuário.

Desempenho e Cache: Nas máquinas clientes são mantidos caches dos arquivos em utilização, visando melhora na desempenho do sistema. Recursos de rede são economizados quando um cliente obtém um arquivo diretamente do seu cache, sem necessidade de obtê-lo remotamente. O sistema mantém um mecanismo de callback para garantir que os caches dos clientes estejam atualizados em caso de alterações feitas por outros clientes.

Page 34: Gerência de arquivos distribuidos

Gerência de arquivos distribuídos:Andrew File System (AFS)

Segurança: Um mecanismo de autenticação mútua garante aos servidores que eles apenas disponibilizam os arquivos aos clientes autorizados, e garante aos clientes que ele estão obtendo os arquivos também dos servidores corretos. O sistema também mantém lista de controle de acessos mantido pelos usuários que permitem uma configuração mais precisa do controle de acesso.

Transparência de Localização: Os arquivos disponíveis em um sistema AFS fazem parte de um espaço de nomes único e global. É completamente transparente aos clientes a localização física de um arquivo. Os clientes acessam os arquivos como se eles estivessem efetivamente em seu computador local. Além disto, o espaço de nomes é uniforme entre os diversos clientes.

Page 35: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Desenvolvido por Larry Page e Sergei Brin, quando ainda eram alunos da Universidade de Stanford

Atualmente, o sistema é comercializado pela Google

Projetado para buscas em grandes bases de dados

Replicação e acesso paralelo: no mínimo 3 réplicas

Page 36: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Arquitetura

Page 37: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Passo a passo

Page 38: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Passo a passo

Page 39: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Operação de escrita

Page 40: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

Operação de escrita

Page 41: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)

oAltamente escaláveloMestre apenas coordena, são os Chuncks que fazem todo o trabalho pesadooA arquitetura Mestre/Chuncks pode ser reaplicada, criando super mestresoTodos os índices ficam em memóriaoExploração de paralelismooLeitura, escrita e incluir dados (append) em paralelo

Page 42: Gerência de arquivos distribuidos

Gerência de arquivos distribuídosGoogle File system (GFS)