Tecnologia de Sistemas Distribuídos 7. Tolerância a Faltas PJG 98 17-03-2000 2:061
Tecnologia de Sistemas
Distribuídos
Capítulo 8: Sistemas de
Ficheiros Distribuídos
Paulo Guedes
Paulo.Guedes@inesc.ptAlves Marques
jam@inesc.ptINESC/IST
Sistema de Ficheiros
Distribuídos
Permite a um processo aceder a ficheiros
situados noutras máquinas, de uma forma
quase idêntica aos ficheiros locais
– Mecanismo que se adiciona ao sistema operativo local
para permitir o acesso remoto aos sistemas de ficheiros já existentes na máquina;
– Sistema de ficheiros separado que pode ser acedido
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:063
Exemplo: Cada Máquina
Exporta o seu Sistema de
Ficheiros Local
Máquina X Máquina Y
Máquina Z
Tecnologia de Sistemas Distribuídos 4
Exemplo: Sistema com
Servidores Dedicados
Servidor X Servidor Y Servidor Z Cliente Cliente Cliente Cliente Cliente Cliente Cliente Cliente Cliente ClienteTecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:065
Problemas Técnicos
• Desempenho
– Termo de comparação dos utilizadores é o mesmo
sistema de ficheiros centralizado – Solução: cache
• Espaço de nomes
– Âmbito dos nomes de ficheiros: locais à máquina, ou
globais em todo o SFD
– Pureza do nome - o nome da máquina ou do dispositivo
físico onde está o ficheiro faz ou não parte do espaço de nomes;
– Heterogeneidade - como juntar no mesmo espaço de
nomes sistemas de ficheiros com regras diferentes de produção dos nomes.
– Solução: pontos de montagem
Problemas Técnicos
• Compatibilidade com a interface de
programação
– Interface está normalmente estabelecida pelo sistema
centralizado
– Serviço sistema, qualquer modificação tem que ser
realizada no núcleo do sistema operativo – Solução: adaptação do SFD à interface existente
• Integridade na presença de falhas
– Fontes adicionais de falhas: mensagens perdidas, falhas
no servidor
– Solução: protocolo cuidadoso de cache, protocolo de recuperação no servidor
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:067
Problemas Técnicos
• Controlo de concorrência
– Problema semelhante ao caso centralizado
• Segurança
– SFD constitui um dos recursos cruciais do ponto de vista
da segurança
– Autenticação: soluções baseadas em canais seguros (ex:
Kerberos)
– Controlo de acessos: solução convencional – Privacidade: normalmente não oferecida
Tecnologia de Sistemas Distribuídos 8
Problemas Técnicos
• Localização
– Localizar o servidor responsável pelo ficheiro a que se
quer aceder
– Solução: agrupar ficheiros em volumes interligados por pontos de montagem
• Mapeamento dos dispositivos físicos
– Acesso a dispositivos remotos passa a ser feito através
do SFD
• Disponibilidade
– Problema agudizado pela concentração de todos os
ficheiros num pequeno número de servidores
– Solução: protocolo de recuperação de falhas do servidor – Solução: replicação de ficheiros em vários servidores
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:069
Estudos das Características
dos Acessos a Ficheiros
• Utilização com picos
– Pequena largura de banda média (64 Kbps)
– Picos intensos (3-4 Mbps em 10mn, 8 Mbps em 10 segs) – Separados por periodos de pouco tráfego
• Maioria dos ficheiros acedido em bloco
– Ficheiros abertos durante pouco tempo (70% menos que250 msegs)
• Maioria dos ficheiros são temporários
– 70% dos ficheiros são apagados no 6 segs seguintes – 70% da informação é apagada nos 6 mn seguintesEstudos das Características
dos Acessos a Ficheiros
• Maioria dos ficheiros são só lidos ou só
escritos
– 80-90% só para leitura – Só 1% para leitura e escrita
• Acessos em grandes blocos
– 70-80% transferem o ficheiro todo – 20-30% transferem grandes blocos
– Os outros são os ficheiros abertos para leitura e escrita
• Ficheiros normalmente pequenos
– 40% dos acessos são a ficheiros menores que 1 Kb
• Maioria dos octetos transferidos é de/para
ficheiros grandes
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:0611
Arquitectura dos Sistemas de
Ficheiros Distribuídos
• Arquitectura do cliente
• Arquitectura do servidor
Tecnologia de Sistemas Distribuídos 12
Arquitectura do Cliente
• Parte integrante do núcleo do SO
• Cliente valida a chamada sistema
• Cliente agulha para o sistema de ficheiros
local ou remoto
– Agulhamento para o servidor pode ser em 3 níveis
diferentes:
» Logo no ínicio , por exemplo, nas rotinas de interface
ou nas funções sistema correspondentes;
» No fim, na fase de acesso ao disco, correspondendo
basicamente a um acesso remoto a disco; » Algures a meio, num ponto onde seja possível
uniformizar várias chamadas sistema e obter o melhor desempenho possível.
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:0613
Arquitectura do Cliente
Processamento genérico da chamada sistema Agulhagem para o sistema de ficheiros
Sistema de ficheiros local
Sistema de ficheiros distribuído (cliente)
Núcleo SO
Acesso via rede ao Servidor Remoto
Arquitectura do Servidor
• Processo sistema que:
– Recebe as mensagens com os pedidos
– Serve-os acedendo aos sistemas de ficheiros locais – Envia as mensagens de resposta
• Normalmente executa-se no núcleo do SO por
Tecnologia de Sistemas Distribuídos 7. Tolerância a Faltas PJG 98 17-03-2000 2:0615
Arquitectura do Servidor
Sistema de ficheiros localNúcleo SO
Sistema de ficheiros distribuído (servidor)Pedidos vindos dos clientes via rede
Tecnologia de Sistemas Distribuídos 16
Soluções Técnicas
• Nomes e localização
• Cache
• Escalabilidade
• Segurança
• Disponibilidade e tolerância a faltas
• Heterogeneidade
Tecnologia de Sistemas Distribuídos
7. Tolerância a Faltas PJG 98 17-03-2000 2:0617
Nomes e Localização
• Espaços de nomes são compostos com base em pontos de montagem:
– Associado ao directório onde é efectuada a montagem – Directório fica marcado como tendo um ponto de montagem, e
• Ao ponto de montagem fica associado
– O identificador do sistema de ficheiros montado
» Identificador puro, tem que ser traduzido num servidor de nomes » Identificador impuro, p.e. endereço IP do servidor
– Um fhandle, que identifica a raiz do sistema de ficheiros remoto
» Normalmente opaco para os clientes » No servidor permite identificar o ficheiro
• Localização de ficheiros
– Efectuada por navegação no espaço de nomes
– Pontos de montagem remotos ligam os vários sistemas de ficheiros distribuídos