07-Aula7-SistemasArquivos

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