Upload
jose-miranda
View
220
Download
0
Embed Size (px)
Citation preview
7/25/2019 07-Aula7-SistemasArquivos
1/41
Sistemas de Arquivos
DistribudosUniversidade Federal do ABC
Prof. Dr. Francisco Isidro Massetto
7/25/2019 07-Aula7-SistemasArquivos
2/41
Conceitos
Dois tipos Stateless
Statefull
Statefull Mantm informaes de estado
Nome do arquivo
Ponteiro para arquivo Posio atual
7/25/2019 07-Aula7-SistemasArquivos
3/41
Conceitos
Stateless Cliente deve especificar todas as informaes a
cada acesso
No mantm informaes para acessossubsequentes
7/25/2019 07-Aula7-SistemasArquivos
4/41
Benefcios
Tolerncia a falhas Mais fcil de implementar em sistemas Stateless
Desempenho
Sistemas statefull reduzem o nmero e tamanhoda mensagem, otimizando o trfego na rede
7/25/2019 07-Aula7-SistemasArquivos
5/41
Caractersticas
Transparncia Usurio v o sistema de arquivos como um
sistema nico
Localizao fsica dos arquivos fica oculta aousurio
Garantia de transparncia Sistemas de nomes robusto
7/25/2019 07-Aula7-SistemasArquivos
6/41
Caractersticas
Escalabilidade Novos computadores podem ser adicionados com
facilidade
Duplicao de dados
Aumentando a escalabilidade aumenta aconcorrncia
Largura de banda na rede de comunicao
nico servidor?? gargalo!!!
7/25/2019 07-Aula7-SistemasArquivos
7/41
Caractersticas
Segurana Acesso aos recursos
Permisso de acesso aos arquivos
Hierarquias de acesso Proprietrio grupo outros
Identidade dos usurios
Transmisso de dados Criptografia das informaes
7/25/2019 07-Aula7-SistemasArquivos
8/41
Caractersticas
Tolerncia a falhas Muito mais complexo Falha no servidor
Cliente no pode ficar indefinidamente bloqueado Timeout
Idempotncia Vrias chamadas para executar a mesma operao Em alguns casos vlida (consulta de saldos)
Outros casos podem gerar inconsistncias Solues?? Cache Identificao da mensagem
7/25/2019 07-Aula7-SistemasArquivos
9/41
Caractersticas
Consistncia Caching de cliente
Cpia local para evitar sobrecarga no servidor Manter consistncia
Invalidar verso do cliente
Timestamps Se Tlocal < Tservidor solicite verso do servidor
Travamentos (locking) Acesso exclusivo a um arquivo por parte do cliente Travas podem expirar Clientes devem renovar travamentos
Replicaes Vrias cpias que devem ser atualizadas
7/25/2019 07-Aula7-SistemasArquivos
10/41
Em Resumo...
Transparncia
Acesso: Mesmas operaes
Locao: Mesmo espao de nomes, at mesmoem realocao de arquivos ouprocessos
Mobilidade:Realocao automtica de arquivos possvel
Desempenho: desempenho satisfatrio sobre umavariedade de carga no sistema
Escalabilidade: Servio pode ser expandido paraalcanar carga desejada
Concorrncia
IsolamentoBloqueio em nvel de arquivo ou registro
Outros tipos de concorrncia podem
eliminar conteno
ReplicaoSistema de arquivos mantm mltiplas cpias
idnticas de arquivos
Compartilhamento de arquivos entre servidorestorna servio mais escalvel
Acesso local com melhor resposta (baixalatncia)
Tolerncia a falhasReplicao total difcil de implementar
Caching (de partes ou todo o arquivo) proporcionaa maioria dos benefcios (exceto tolerncia a
falhas)
Heterogeneidade
Servio pode ser acessado por clientes rodandoem (quase) todas as plataformas de SO.
Projeto deve ser compatvel com sistemas dearquivos de diferentes SOs
Interfaces de servio devem ser abertas especificaes precisas da API so publicadas.
Tolerncia a Falhas
Servio deve continuar mesmo com os clientes emcrash ou cometerem erros.
Semntica at-most-once Semntica at-least-once
Requer operaes idempotentes
Servio deve reiniciar aps a queda de um
servidor.Se o servio for replicado, deve continuar mesmo
com a queda de um servidor.
Consistncia
Unix fornece semntica de atualizao one-copypara operaes em arquivos locais caching
transparenteDificuldade de atingir o mesmo para Sistemas de
Arquivos Distribudos, mantendo bomdesempenho e escalabilidade
Segurana
Deve manter controle de acesso e privacidadepara arquivos locais.
Baseado em identidade de usurios paraefetuar requisio
autenticao
Comunicao segura
Interfaces de servios so abertas para todos osprocessos no excluindo firewalls.
Vulnervel a ataques
Eficincia
Objetivo de um Sistema de Arquivos Distribudos ter um desempenho comparado a um Sistema
de Arquivos Local
Transparncia
ConcorrnciaReplicao
Heterogeneidade
Tolerncia a Falhas
Consistncia
SeguranaEficincia
7/25/2019 07-Aula7-SistemasArquivos
11/41
Estudo de Caso
SUN NFS(Network File System)
7/25/2019 07-Aula7-SistemasArquivos
12/41
Viso Geral
Caractersticas Gerais Arquitetura Protocolos Implementao
Proteo de arquivos Transparncia Performance
Escalabilidade Concluses
7/25/2019 07-Aula7-SistemasArquivos
13/41
NFS: Caractersticas Gerais
NFS um sistema de arquivos distribudo que
permite aos usurios acessar arquivos e diretrioslocalizados em computadores remotos e trat-loscomo se fossem locais
possvel usar comandos convencionais para criar,remover, ler (...) para manipular arquivos e
diretrios remotos
7/25/2019 07-Aula7-SistemasArquivos
14/41
NFS: Caractersticas Gerais
Criado pela Sun em 1985
Primeiro sistema de arquivos desenvolvido comoproduto
Interfaces disponibilizadas para domnio pblico
Tornou-se popular e amplamente utilizado naindstria e na academia
7/25/2019 07-Aula7-SistemasArquivos
15/41
NFS: Caractersticas Gerais
NFS pode ser utilizado em uma grande variedade
de tipos de mquinas, sistemas operacionais earquiteturas de rede. Essa independncia alcanada atravs da utilizao de RemoteProcedure Call (RPC)
Entrega de mensagens: protocolo at-least-once
Nvel de transporte: UDP/IP (1987)
7/25/2019 07-Aula7-SistemasArquivos
16/41
NFS: Caractersticas Gerais
Mquinas possuem diferentes representaes para
um mesmo tipo de dados
XDR: prov um mtodo independente para a
representao de dados a serem transmitidos narede. uma especificao para a representaopadro de vrios tipos de dados
7/25/2019 07-Aula7-SistemasArquivos
17/41
NFS: Arquitetura
Na maioria dos casos: clientes e servidores namesma rede local;
Cada servidor exporta um ou mais de seus
diretrios; Lista de diretrios que um servidor exporta:
mantida no arquivo /etc/exports;
Clientes montam em seus sistemas de arquivosos diretrios exportados;
7/25/2019 07-Aula7-SistemasArquivos
18/41
NFS: Arquitetura
E se a estao de trabalho no tem disco?
Um cliente sem disco pode montar um sistema dearquivo remoto no seu diretrio raiz
Estaes que possuem disco podem montardiretrios em qualquer lugar que desejarem...
7/25/2019 07-Aula7-SistemasArquivos
19/41
NFS: Protocolos
Heterogeneidade interface entre
clientes e servidores bem definida
Dois Protocolos: Protocolo de Montagem dos arquivos Protocolo para Acesso a Diretrios e a Arquivos
7/25/2019 07-Aula7-SistemasArquivos
20/41
NFS: Protocolos
Protocolo de Montagem dos arquivos
Cliente Servidor
1- Nome de caminho, solicitao permisso
2 -Autorizao para manipulao de arquivo (tipodo sistema de arquivo, disco onde est, nmero don-I do diretrio, informaes segurana)
7/25/2019 07-Aula7-SistemasArquivos
21/41
NFS: Protocolos
Protocolo de Montagem dos arquivos
Montagem automtica durante o boot da mquinacliente
Automontagem Nenhum diretrio remoto montado durante o boot
nem servidores so contactados Montagem dinmica de um sistema de arquivos
Tolerncia a falhas Melhoria na performance
7/25/2019 07-Aula7-SistemasArquivos
22/41
7/25/2019 07-Aula7-SistemasArquivos
23/41
Implementao do Protocolo
No cliente
Montar sistema de arquivo $mount server:/dir /local/dir t nfs
Mount aplicao que mapeia um dispositivo (neste caso,um sistema de arquivos em outro computador)
server:/dir endereo do servidor que est exportando osistema de arquivo e qual diretrio ser mapeado /local/dir ponto de montagem, diretrio local que
tornar-se- acessvel
-t nfs especifica que o tipo de sistema de arquivo queser montado remoto via protocolo NFS.
7/25/2019 07-Aula7-SistemasArquivos
24/41
Implementao do Protocolo
Configurao automtica Arquivo /etc/fstab Configurao de montagem no momento do boot
Leitura do arquivo e montagem
$mount -a
ser ver : / di r / l ocal / di r nf s r w, noaut o 0 0
7/25/2019 07-Aula7-SistemasArquivos
25/41
NFS: Protocolos
Protocolo para Acesso a Diretrios e a Arquivos
Clientes enviam mensagens aos servidoressolicitando autorizao para ler ou escrever emarquivos
Chamadas open e close no so aceitas
No guarda informaes sobre o estado dos arquivosabertos (stateless)
Problemas no tratamento a bloqueios de arquivos
7/25/2019 07-Aula7-SistemasArquivos
26/41
NFS: Implementao
7/25/2019 07-Aula7-SistemasArquivos
27/41
Proteo de Arquivos
Utiliza o mecanismo de proteo do UNIX: bits rwx
(read-write-execute) 3 nveis de proteo
Proprietrio grupo - outros
Utilizao de sistema de criptografia: validao docliente e do servidor a cada pedido e resposta
Chaves usadas na autenticao: mantidas pelo NIS(Network Information Service)
7/25/2019 07-Aula7-SistemasArquivos
28/41
Proteo de Arquivos
NIS (Network Information Service) Armazena pares (chave, valor) Cuida da criptografia das chaves
Mapeamento nome-usurio senhascriptografadas
Mapeamento nome mquina endereo da rede
7/25/2019 07-Aula7-SistemasArquivos
29/41
NFS: Transparncia
Transparncia de Acesso:
Em clientes UNIX, o acesso a arquivos remotos feitoatravs dos comandos do UNIX
Transparncia a Falhas: Caractersticas importantes: servio stateless e operaes
so idempotentes
Se servidor falha servio suspenso
Quando servidor retorna processamento continua doponto que havia sido interrompido.
7/25/2019 07-Aula7-SistemasArquivos
30/41
NFS: Transparncia
Transparncia de Localizao:
Arquivos remotos podem estar associados a diferentespathnames em diferentes clientes
7/25/2019 07-Aula7-SistemasArquivos
31/41
NFS: Transparncia
Transparncia de Performance:
Uso de cache no cliente e no servidor Difcil manter coerncia de cache dos mdulos cliente
7/25/2019 07-Aula7-SistemasArquivos
32/41
NFS: Transparncia
Transparncia de Migrao:
No totalmente suportada pelo NFS Quando um sistema de arquivos movido de um servidor
para outro, as tabelas remotas dos clientes precisam seratualizadas
NFS no suporta: Transparncia de replicao,transparncia de concorrncia
7/25/2019 07-Aula7-SistemasArquivos
33/41
NFS: Performance
Cache no servidor Sistema UNIX: arquivos, diretrios e atributos lidos do
disco retidos no cache
Quando uma pgina alterada novo contedo serescrito no disco apenas quando o bufferfor requeridopara outra pgina
Porm, para evitar perda de dados, as pginasalteradas so enviadas para o disco a cada 30segundos
7/25/2019 07-Aula7-SistemasArquivos
34/41
NFS: Performance
Cache no servidor (NFS)Acesso para escrita
Modificaes so enviadas imediatamente para o disco
Falhas no servidor resultariam em perdas de dados nodetectadas pelos clientes
7/25/2019 07-Aula7-SistemasArquivos
35/41
NFS: Performance
Cache no Cliente
Objetivo: reduzir o nmero de pedidostransmitidos ao servidor
Diferentes verses de arquivos podem existirem diferentes ns cliente
Mtodo baseado em timestamp validao deblocos no cache
7/25/2019 07-Aula7-SistemasArquivos
36/41
NFS: Performance
Cache no Cliente
Clientes mantm no cache um timestamp indicando ahora que o arquivo foi modificado pela ltima vez noservidor
Validao: sempre que um arquivo aberto e sempreque o servidor contactado para buscar um novo blocode um arquivo cliente requisita ao servidor o horrio
da ltima modificao e compara com seu timestamp
7/25/2019 07-Aula7-SistemasArquivos
37/41
NFS: Performance
Cache no Cliente
Operao de Escrita
Pginas modificadas so marcadas
So enviadas para o servidor quando o arquivo fechadoou de tempos em tempos.
7/25/2019 07-Aula7-SistemasArquivos
38/41
NFS: Escalabilidade
Limitada: projetado originalmente para
permitir cada servidor suportar 5-10 clientes Nmero de clientes que podem acessar
simultaneamente um arquivo compartilhado limitado
7/25/2019 07-Aula7-SistemasArquivos
39/41
Concluses
Objetivos:
Independncia de Mquina e sistema operacional Tolerncia a Falhas Transparncia de Acesso Performance
Projeto do NFS: Portabilidade
Heterogeneidade
7/25/2019 07-Aula7-SistemasArquivos
40/41
Concluses
Outras implementaes do NFS: WebNFS
Solstice Network Client 3.2: MS Windows 3.x,
Win95, Win98 e Windows NT
7/25/2019 07-Aula7-SistemasArquivos
41/41
Bibliografia Coulouris et al. 1994 Distributed System: Concepts and Design,
Second Edition, Addison Wesley
Tanenbaum, A. S. - Distributed Operating Systems, Prentice Hall Int.Ed., 1st Edition, 1995.
Mullender, S. - Distributed Systems, Addison-Wesley PublishingCompany, 2nd. Edition. 1993.
AIX Version 4.3 System Management Guide: Communications andNetworks (Chapter 10 Network File System)http://nscp.upenn.edu/aix4.3html/aixbman/commadmn/toc.htm
Sandberg R. The Sun Network Filesystem: Design, Implementation and
Experience. Proceedings of the Summer 1986 USENIX TechnicalConference and Exhibition, 1986