LRM Prof. Mantovani ← Aulas da disciplina
Semana 9 · Aula 9 de 14

Sistemas de arquivos distribuídos

Como compartilhar arquivos entre máquinas de forma transparente: modelos de SAD, replicação, cache e exemplos reais.

📚 Redes e Sistemas Distribuídos📝 mini-quiz ao final
Objetivos da aula

O que você vai aprender

1

Definir sistema de arquivos distribuído (SAD).

2

Explicar o papel de cache e replicação na consistência.

3

Reconhecer exemplos e aplicações de SADs.

1 · Motivação

Arquivos que não cabem (nem ficam bem) em uma máquina

Como dezenas de pessoas editam os mesmos arquivos de uma empresa? Como um cluster de big data guarda petabytes que jamais caberiam em um disco só? A resposta é colocar os arquivos na rede.

O sistema de arquivos distribuído permite acessar arquivos remotos como se fossem locais — abrindo, lendo e gravando com os mesmos comandos de sempre.

💡
Você já usou um SAD se montou uma pasta de rede no trabalho ou abriu um arquivo "no servidor" que estava em outra máquina.
2 · Mapa

O caminho desta aula

Conceito de SADCacheReplicaçãoConsistênciaExemplos reais
  • O que é um SAD e como funciona.
  • Por que usar cache e réplicas.
  • O preço disso: manter as cópias consistentes.
  • NFS, SMB, AFS, HDFS na prática.
3 · Conceito

O que é um SAD

SAD. Sistema que oferece acesso transparente a arquivos espalhados por uma rede, com clientes acessando servidores de arquivos por uma interface comum, como se fossem locais.

A meta é a transparência de acesso e de localização: o usuário não precisa saber em qual servidor o arquivo está.

4 · Explicação

Cliente e servidor de arquivos

A arquitetura básica tem dois papéis:

  • Servidor de arquivos: guarda os arquivos e atende pedidos de leitura/escrita.
  • Cliente: apresenta os arquivos remotos ao usuário como uma pasta local, traduzindo operações em requisições de rede.
Cliente→ requisição →Servidor de arquivosArmazenamento
5 · Exemplo

Montando um diretório remoto

# montar um compartilhamento NFS no Linux mount -t nfs servidor:/dados /mnt/dados # a partir daqui, /mnt/dados parece uma pasta local ls /mnt/dados cp relatorio.pdf /mnt/dados/
💡
Repare: depois de montar, os comandos são os mesmos de um disco local. A rede fica invisível — isso é transparência de acesso.
6 · Interativo

Passo a passo: lendo um arquivo remoto

Passo 1
O programa pede para abrir /mnt/dados/relatorio.pdf.
Passo 2
O cliente verifica o cache local — se a cópia válida já estiver lá, usa-a.
Passo 3
Se não, envia uma requisição pela rede ao servidor de arquivos.
Passo 4
O servidor lê do armazenamento e devolve os blocos pedidos.
Passo 5
O cliente guarda os blocos em cache para acelerar acessos futuros.
7 · Cache

Cache: aproximar os dados

Cache. Cópia local e temporária de dados remotos, mantida pelo cliente para evitar ir à rede a cada operação, reduzindo latência e tráfego.

Sem cache, cada byte lido viajaria pela rede. Com cache, o que já foi acessado fica perto do usuário.

8 · Replicação

Replicação: várias cópias

Replicação. Manutenção de múltiplas cópias do mesmo arquivo em servidores diferentes, aumentando disponibilidade, tolerância a falhas e desempenho de leitura.

Se um servidor cai, outro com a réplica assume. Se há muitos leitores, eles se distribuem entre as cópias.

9 · Analogia

A biblioteca com filiais

📚 Analogia
Um SAD é como uma rede de bibliotecas: o livro (arquivo) pode estar em qualquer filial (servidor), mas você o pede no balcão (cliente) sem saber de onde veio. O cache é a cópia que você leva para casa; a replicação são as várias filiais que guardam o mesmo título para ninguém ficar sem.
10 · Comparação

Cache × replicação

CacheReplicação
ObjetivoReduzir latência/tráfegoAumentar disponibilidade
Onde ficaNo clienteEm vários servidores
DuraçãoTemporáriaPersistente
Desafio comumConsistência entre as cópias
11 · Fluxo

O dilema da consistência

Quando um cliente grava em uma cópia, as demais ficam desatualizadas até serem avisadas:

Escrita
cópia A
PropagarAtualizar
cópias B, C
Consistente
⚠️
Entre a escrita e a propagação existe uma janela em que as cópias divergem. Quanto mais forte a consistência exigida, maior o custo de desempenho.
12 · Aprofundamento

Modelos de consistência

SADs adotam diferentes garantias de consistência, equilibrando rigor e desempenho:

ModeloGarantia
ForteToda leitura vê a última escrita (caro)
EventualAs cópias convergem com o tempo (barato)
SessãoO próprio cliente vê suas escritas em ordem
🔑
Não existe "consistência grátis": mais consistência custa mais comunicação e latência. O projeto escolhe o ponto certo para cada caso.
13 · Interativo

Verifique seu entendimento

Qual é o principal desafio introduzido por cache e réplicas em um SAD?

Quando há várias cópias, alterar uma exige atualizar (ou invalidar) as outras — esse é o desafio da consistência.
14 · Caso real

HDFS: arquivos gigantes em clusters

O HDFS (inspirado no GFS do Google) armazena arquivos enormes em clusters de big data.

  • Divide o arquivo em blocos (ex.: 128 MB cada).
  • Replica cada bloco em 3 nós por padrão (tolerância a falhas).
  • Um nó mestre (NameNode) sabe onde está cada bloco; os DataNodes guardam os dados.
💡
Se um disco morre, o bloco já existe em outros dois nós — o sistema recria a terceira cópia sozinho, sem perda de dados.
15 · Erros comuns

Cuidados ao usar SADs

⚠️
Tratar um disco de rede como se fosse local em desempenho: a rede adiciona latência, e operações com muitos arquivos pequenos ficam lentas.
⚠️
Ignorar a janela de inconsistência: dois usuários editando a mesma cópia em cache podem sobrescrever o trabalho um do outro se a política de consistência for fraca.
16 · Dicas

Tirando o melhor de um SAD

Prefira ler arquivos grandes em vez de muitos pequenos: o overhead de rede por arquivo pesa.
Entenda a política de cache/consistência antes de confiar em escritas críticas: saiba quando sua gravação realmente "chegou" às réplicas.
17 · Interativo

Revele a resposta

Por que o HDFS replica cada bloco em três nós por padrão?
Para tolerar falhas sem perder dados: com três cópias, mesmo que dois nós falhem ao mesmo tempo, ainda resta uma cópia íntegra. Além disso, várias cópias permitem que diferentes tarefas leiam o mesmo bloco em paralelo, aproveitando a localidade dos dados no cluster.
18 · Flashcards

Fixe os conceitos

SADvirar
Acesso transparente a arquivos remotos por uma interface comum, como se fossem locais.
Cachevirar
Cópia local temporária que reduz latência e tráfego de rede.
Replicaçãovirar
Várias cópias em servidores diferentes, elevando disponibilidade e tolerância a falhas.
Consistênciavirar
Garantir que as cópias reflitam as mesmas alterações; o preço de cache e réplicas.
19 · Conexões

Onde isso se liga

  • Sistemas distribuídos (aula 8): o SAD aplica transparência, replicação e tolerância a falhas.
  • Cliente-servidor (aula 6): o SAD é cliente-servidor de arquivos.
  • Protocolos e portas (aula 5): NFS, SMB e afins rodam sobre TCP/UDP em portas próprias.
20 · Síntese

O essencial em uma frase

🔑
Um SAD dá acesso transparente a arquivos remotos; cache reduz latência e replicação aumenta disponibilidade — e o preço de ambos é manter a consistência entre as cópias. Exemplos: NFS, SMB/CIFS, AFS, HDFS/GFS.
Mão na massa · colaborativo

Atividade em grupo · Comparando SADs

Em trios, comparem dois sistemas de arquivos distribuídos.

⏱️ 25 min👥 trios🧩 pesquisa comparativa

Roteiro

  1. Escolham dois SADs entre NFS, SMB, AFS e HDFS.
  2. Comparem: modelo de acesso, uso de cache, estratégia de replicação.
  3. Indiquem um cenário ideal de uso para cada um.
  4. Montem uma tabela comparativa e apresentem.
Pesquisador Aestuda o primeiro SAD
Pesquisador Bestuda o segundo SAD
Sintetizadormonta a comparação
📤 Entrega: Tabela comparativa de 2 SADs + cenário de uso recomendado para cada.
Teste seu conhecimento

Mini-quiz · Aula 9

20 questões sobre esta aula. Escolha e veja a explicação na hora.

0/20

📌 Resumo — leve isto para a prova

  • SAD dá acesso transparente a arquivos remotos por uma interface comum.
  • Cache reduz latência e tráfego; replicação aumenta disponibilidade e tolerância a falhas.
  • O preço de cache e réplicas é a consistência: modelos vão do forte (caro) ao eventual (barato).
  • HDFS/GFS dividem arquivos em blocos replicados; NameNode guarda a localização.
  • Exemplos: NFS (Unix/Linux), SMB/CIFS (Windows), AFS (cache/escala), HDFS/GFS (big data).