SD09 - Sistemas de Arquivos Distribuídos.ppt

download SD09 - Sistemas de Arquivos Distribuídos.ppt

of 36

Transcript of SD09 - Sistemas de Arquivos Distribuídos.ppt

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    1/36

    SistemasDistribuídos

    Parte 09

    Sistemas de ArquivosDistribuídos

    Conteúdo adaptado a partir do material dos professores

    Luís Fernando Friedrich (Universidade Federal de Santa Catarina) eFrederico Madeira (Faculdade Maurício de assau ! "#)

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    2/36

    Sistema de $r%uivo

    • "arte importante dos sistemasoperacionais& pois ele fornece'

     – iso abstrata dos dados persistentes

     – Controle sobre o servi*o de nomes

     – $cesso + ar%uivos e sua or,ani-a*o,eral.

     – 2 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    3/36

    Sistema de $r%uivo

    • Conceitos – $r%uivo

    • Uma se%uencia de b/tes.

    • Um sistema especi0co de uma estruturainterna.

    • $tributos 1amanho& acesso& datas& dono.

     –

    Diret2rio (ar%uivo especial)• Mapeia os nomes para os identi0cadores.

    • "ode conter subdiret2rios (arvore).

     – 3 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    4/36

    Sistema de $r%uivos

    Distribuído• 3"ermite aos pro,ramas arma-enarem eacessarem ar%uivos remotos e4atamente

    como se fossem locais& possibilitando

    %ue os usu5rios acessem ar%uivos apartir de %ual%uer computador em umarede. 6 desempenho e a se,uran*a noacesso aos ar%uivos arma-enados em

    um servidor devem ser compar5veis aosar%uivos arma-enados em discos locais.7 – 8Coulourus& 9.: Dollimore& ;.:

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    5/36

    S$D @ Sistemas de $r%uivosDistribuídos• 6ferecem'

     – $cesso remoto aos ar%uivos arma-enados em umservidor

     – $cesso aos dispositivos de #AS de outras m5%uinas

     – Controle de verso e restaura*o de c2pias dese,uran*a

    • 6s sistemas de ar%uivos distribuídos devemprover' – Con0abilidade

     – Bedundncia

     – Disponibilidade

     – #scalabilidade

     – 5 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    6/36

    "or %ue adotar S$D

    • Compartilhamento de recursos E sempre umdesa0o.

     – Clientes dispersos

     –

    "onto de vista centrali-ado – Mobilidade e e4ibilidade

    • S$D oferece um es%uema decompartilhamento bem estruturado.

     –

    #spa*o em disco. – $dministra*o compartilhada.

     – Cada ma%uina no tem %ue arma-enar ar%uivos %ueir5 acessar.

     – 6 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    7/36

    S$D ! 6 %ue se busca

    • Tolerância a Falhas – Se um servidor cair ou 0car fora do ar ou da rede&

    o sistema de ar%uivos no pode perder informa*Gese nem 0car indisponível total ou parcialmente

    • Acesso Concorrente – 5rios usu5rios podem acessar v5rios ar%uivos& ou os

    mesmos ar%uivos& sem sofrer danos& perda deperformance ou %uais%uer outras restri*Ges

    Replicação de Arquivos – Com esta funcionalidade& a con0an*a e a

    e0ciHncia do servi*o de ar%uivos E aumentadasi,ni0cativamente

     – 7 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    8/36

    S$D @ Be%uisitos

    •  1ransparHncia de... – Acesso' clientes tratam ar%uivos como locais

     – Localização' espa*o de nomes uniforme e

    sem mudan*a %uando ar%uivos mudarem – Concorrência' opera*Ges dos clientes no

    devem interferir umas com as outras

     – Falha' servidores devem operar normalmente

    na falha dos clientes& e vice@versa – Desempenho' no deve variar com a car,a

     – 8 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    9/36

    S$D @ Be%uisitos

    • Usabilidade depende de... – Heteroeneidade de H! e "!

    • Interfaces de0nidas de forma %ue possam ser implementadaspor v5rios JK e SK

     – #scala$ilidade• Servi*o deve ser e4tensível para acomodar mudan*as de escala do SD

    • Se escalabilidade envolver muitos hosts... – Transparência de replicação

    • $r%uivos podem estar 0sicamente replicados e cliente i,noraesse fato

     – Transparência de miração• $r%uivos podem mudar de lu,ar e isso no deve alterar os

    clientes

     – 9 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    10/36

    S$D @ Be%uisitos

     – # ainda...• Compartilhamento

     –  1oda opera*o em um ar%uivo deve ser visível a todosprocessos

     – Semntica de sesso' nenhuma modi0ca*o E visível aosoutros processos atE %ue o ar%uivo se=a fechado.

    • Arquivos imut%veis& – Modi0ca*Ges no so possíveis:

     – Simpli0ca compartilhamento e replica*o:

     – Modi0ca*Ges ocorrem apenas em diret2rios

    • Transaç'es& –  1odas as modi0ca*Ges tHm a propriedade do tudo@ou@nada

    (atomicidade):

     – Seriali-a*o

     – 10 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    11/36

    S$D ! Servi*os 5sicos

    • "erviço de (omes Distri$u)do – 6 servi*o de nomes cuida de indicar a locali-a*o de

    um determinado ar%uivo dado o seu nome ou caminho.

    • "erviço de Arquivos Distri$u)do –

    Bespons5vel por fornecer opera*Ges sobre os ar%uivos %uecompGe o sistema.

     – 6s ar%uivos podem ser arma-enados de diferentesformas& dependendo do seu tipo e uso.

    • "erviço de Diret*rios Distri$u)do –

    Bespons5vel por manter a or,ani-a*o dos ar%uivosarma-enados no sistema.

     – #le fornece uma interface para %ue os usu5rios possam arran=arseus ar%uivos num formato hier5r%uico& %ue E estruturadoem diret2rios e subdiret2rios.

     – 11 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    12/36

    S$D ! $spectos de

    Implementa*o• Componentes – "ara preencher os

    re%uisitos e implementar

    servi*os& a=uda bastantese o S$ for implementadocom trHs componentes'

    • Servi*o de ar%uivob5sico

    • Servi*o de diret2rio

    • M2dulo de cliente

     – uem fa- o %ue

     – 12 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    13/36

    S$D ! $spectos de

    Implementa*o• Servi*o de ar%uivos b5sico – Implementa opera*Ges nos ar%uivos

     – $r%uivos so referenciados por seus FIDs (File

    Ids)• FIDs devem ser únicos no SD

     – Cria*o de um novo ar%uivo

    • 9era um FID e devolve ao re%uisitante

     – 13 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    14/36

    S$D ! $spectos de

    Implementa*o• Servi*o de Diretorio – Bespons5vel por converter nomes te4tuais em

    FIDs

     – Diret2rio• Con=unto de FIDs e nomes te4tuais

     – Cliente do servi*o de ar%uivo b5sico

    • $r%uivos de diret2rio so ar%uivos& e

    ,erenciados pelo S$• Jierar%uia de diret2rios

     – 14 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    15/36

    S$D ! $spectos de

    Implementa*o• Modulo Cliente – Chamadas de sistema para manipula*o de

    ar%uivos

    Criar& ler& escrever... – $rma-ena locali-a*o na rede do servi*o de

    diret2rio e de ar%uivo b5sico

     – "ode ,erenciar cache local

     – 15 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    16/36

    S$D ! $spectos de

    Implementa*o• Interface do Servi*o de $r%uivo asico(S$) – $spectos dessa interface

    • o tem openAclose: manipula usando I$(identi0cador de ar%uivo)

    • Servidor sem estado (stateless)

     – Clientes so respons5veis por saber onde

    esto lendoAescrevendo – o caso de falha& depois do retorno no h5

    procedimento especial

     – 16 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    17/36

    S$D ! $spectos de

    Implementa*o• $penas relembrando... – Stateless

    • Servidor no ,uarda informa*o sobre clientes

    nem sobre ar%uivos (I$s) – Besponsabilidade do cliente em manter o

    estado

     – Stateful•

    MantEm informa*o de %ual cliente abriu %ualar%uivo& e em %ue bloco est5

    • Be%uisi*Ges so atendidas mais r5pido& pois noprecisa locali-ar o I$ do ar%uivo

     – 17 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    18/36

    S$D ! $spectos de

    Implementa*o• 9era*ao de I$s – Devem ser ,erados de forma única no

    espa*oAtempo e difícil de for=ar• $r%uivo removido& I$ descartado

     – I$ no E endere*o• o contEm informa*Ges sobre locali-a*o

    do ar%uivo

     – 18 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    19/36

    S$D ! $spectos de

    Implementa*o• 9era*ao de I$s – Como ,arantir unicidade e inte,ridade

    • Usar um espa*o de números pouco

    populoso• Unicidade

     – I$ N ID do ,rupo O inteiro (no reutili-5vel)

    • ! Inte,ridade – $crescentar uma parte aleat2ria ao inteiro

     – 1ornar a distribui*o de I$s v5lidos esparsa

     – "arte aleat2ria inacessível aos clientes

     – 19 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    20/36

    S$D ! $spectos de

    Implementa*o• Modos de $cesso – Controle de acesso tem por base o I$

    • Uma chave ou 3capacidade7 (capabilit/)

    • S2 fornecer I$ a %uem tem direito de acesso

     – # ar%uivo compartilhado• Dono precisa de direitos especiais

     –

    Incorporar seletividade na capacidadedo I$• Incluir campo de permisso no I$ proposto

     – 20 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    21/36

    S$D ! $spectos de

    Implementa*o• Modos de $cesso – its adicionais indicando permisso

    • Leitura

    • #scritaAtruncamento• Bemover

    • 6bterAde0nir permissGes

     – a cria*o& usu5rio pode tudo

     – Durante LooPup (busca)& I$ retorna apenascom permissGes concedidas ao usu5rio

     – 21 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    22/36

    S$D ! $spectos de

    Implementa*o• Modelos de $r%uivos – $r%uivos estruturados e no@estruturados

    • $r%uivos estruturados (se%uHncia ordenada de

    re,istros) so raramente utili-ados& podendo serinde4ado ou no@inde4ado. $ maioria dos S6Qsmodernos utili-am ar%uivos no@estruturados.

     – $r%uivos modi0c5veis e no@modi0c5veis•

    6 modelo mais usado E o modi0c5vel. $l,unssistemas atuais utili-am o modelo no@modi0c5vel %ue permite um compartilhamentoconsistente e assim facilita cachin, e rEplicas.

     – 22 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    23/36

    S$D ! $spectos de

    Implementa*o• Semntica de Compartilhamento – uando h5 mais de um processo lendo

    eAou escrevendo em um ar%uivo

    • Controle de concorrHncia (oPR)• Semntica de compartilhamento

     – uatro tipos b5sicos de semntica• Semntica UI

    • Semntica de sesso

    • $r%uivos imut5veis

    • 1ransa*Ges

     – 23 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    24/36

    S$D ! $spectos de

    Implementa*o• Semntica UI – Um read %ue se,ue um Trite vH o valor

    escrito pelo Trite• 6bri,atoriedade de ordena*o total

    • Sempre retorna o valor mais atual

     – Implementa*o f5cil•

    Servidor central %ue processa re%uisi*Ges naordem (l2,ica)

     – 24 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    25/36

    S$D ! $spectos de

    Implementa*o• Semntica de sesso – Bela4amento na semntica UI

     – Mudan*as em um ar%uivo aberto so visíveis

    apenas ao processo %ue modi0ca o ar%uivo – uando o ar%uivo E fechado& as mudan*as so

    visíveis para outros processos. 6 ar%uivofechado E enviado de volta para o servidor

     – #st5 errado• o

    • $mplamente implementado

     – 25 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    26/36

    S$D ! $spectos de

    Implementa*o• Semntica de sesso (continua*o)• Servidor centrali-ado tra- problemas de ,ar,alo e

    ponto central de falha

    • 9ar,alo pode ser aliviado com uso de caches nosclientes

     – Cliente@ lH o ar%uivo (coloca no cache) e altera

     – Cliente@V lH o ar%uivo  verso anti,a do ar%uivo

    • 6 %ue acontece se dois ou mais clientes esto

    modi0cando um mesmo ar%uivo em suas caches

     – 6 resultado 0nal depende do último close

     – "ode@se usar uma re,ra arbitr5ria para decidir

     – 26 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    27/36

    S$D ! $spectos de

    Implementa*o• Semntica de ar%uivos no modi0cados• "or %ue se preocupar

    • $r%uivos no podem ser alterados – $penas B#$D e CB#$1#

    • # para alterar um ar%uivo – enhum ar%uivo pode& ser alterado& mas pode@se criar um

    novo de forma atWmica

     – $r%uivos so imut5veis& mas diret2rios no

    • "roblema ' se dois clientes dese=am trocar umar%uivo no mesmo tempo – Usa@se o último ou adota@se %ual%uer re,ra no

    determinística

     – 27 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    28/36

    S$D ! $spectos de

    Implementa*o• Semntica de transa*o•  1ratar opera*Ges de forma atWmica

     – Uma transa*o

     –  1odas modi0ca*Ges nos ar%uivos sodelimitados por um e,in e um #ndtransaction

    • Dois processos ao mesmo tempo

     –  1ransa*Ges permitem concorrHncia – Sistema fa- seriali-a*o

     – 28 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    29/36

    S$D ! $spectos de

    Implementa*o

     – 29 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    30/36

    S$D ! Uso de Mem2ria

    Cache• a mem2ria do servidor – #limina transferHncia deApara disco em cada acesso

     – Unidade de cache' ar%uivos inteiros: blocos

     – uando a cache est5 cheia Descartar informa*o mais

    anti,a –  1ransparente para clientes  Sem problemas com

    consistHncia ante suas re%uisi*Ges

    • a mem2ria do cliente – Bedu- volume de acesso via rede

     – #s%uemas'

    • Cache direto no processo do usu5rio

    • Cache no núcleo do S.6.

    • Cache em um processo separada a nível de usu5rio

     – 30 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    31/36

    S$D ! Uso de Mem2ria

    Cache• MEtodos de consistHncia de cache – !rite throuh

    • 6pera*o de escrita E propa,ada instantaneamente

     – Dela+ed ,rite• 6pera*Ges de escrita so propa,adas em bloco (ap2s tempo 4).• Melhor desempenho& mas risco de ambi,uidade na semntica

    (depende de timin,84>)

     – !rite on close&• Semntica de sesso e%uivalente a sistemas centrali-ados

     – Centralized control• Semntica UI  1oda opera*o pode ser vista instantaneamente

    • "erformance e escalabilidade comprometidas:

     – 31 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    32/36

    S$D @ Beplica*o

    • SDs ,eralmente oferecem al,uma forma dereplica*o de dados – Múltiplas c2pias do mesmo ob=eto

    • "or %ue – $umentar con0abilidade @ a %uebra de um servidor no

    implica na perda de dados

     – "ermitir acesso mesmo na caso de falha  mesmo %ueum servidor no este=a disponível o acesso continua

     –

    Diviso de car,a entre servidores  espalhar a car,ade trabalho em v5rios servidores

    • "rincipal problema' transparHncia

     – 32 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    33/36

    S$D @ Beplica*o

    • Beplica*o e4plícita – "ro,ramador fa- todo o

    3trabalho su=o7

     – Servi*o de diret2rio pode

    permitir múltiplos I$s porar%uivo

    • Becupera todos no looPup

    • uando for manipular& tenta

    se%uencialmente um por umdos I$s& atE conse,uir

     – Funciona& mas E muitotrabalhoso& e nada transparente

     – 33 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    34/36

    S$D @ Beplica*o

    • Beplica*o atrasada – $penas uma c2pia E feita

    em um servidor

     –

    6 servidor E respons5velpor...

    • "ropa,ar atuali-a*Ges

    • Selecionar outro servidor

    para atender& se ele nopuder

     – 34 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    35/36

    S$D @ Beplica*o

    • Beplica*o em ,rupos – 6pera*o de escrita E

    feita ao mesmo tempo em

    todos os n2s• Multicast atWmico (tudo@ou@

    nada)

     – $trasada 4 ,rupo• Um servidor 4 ,rupo

    • Se,undo plano 4 atWmica

     – 35 – 

  • 8/16/2019 SD09 - Sistemas de Arquivos Distribuídos.ppt

    36/36

    S$D ! #4emplos

    • FS

    • 9FS(9lobal FileS/stem)

    "FS (parallel virutal 0le s/stem)• $FS ($ndreT FileS/stem)

    • 9M$ILFS

    • DFS• C6D$ (Constant Data $vailabilit/)

    36