Você está na página 1de 4

Sistema de arquivos distribuídos

Em capítulos anteriores, foi identificado o compartilhamento de recursos como o


principal foco dos sistemas de informação distribuídos, sendo as informações
compartilhadas o aspecto mais importante dos recursos distribuídos.

O mecanismo para o compartilhamento de dados apresenta várias formas.

Ex: Um servidor Web fornece uma forma restrita de compartilhamento de dados,


onde os arquivos que estão armazenados de forma local, estão disponíveis para os
clientes em toda a internet, mas esses dados são gerenciados e atualizado em um
sistema de arquivos no servidor, ou estão distribuídos em uma rede local.

OBS: O projeto de um sistema de arquivo remoto


que permite leitura e escrita em grande escala,
apresenta vários problemas como:

• Balanceamento de carga;
• Confiabilidade;
• Segurança;
• Disponibilidade.

Uma solução para os problemas apresentados é


utilizar o sistema de armazenamento de arquivos
peer-to-peer.

Um serviço diferente que suporte o armazenamento persistente de dados e a


distribuição consistente destes é requerido dentro das redes locais e intranets, como
requisitos de compartilhamento.

Inicialmente os sistemas de arquivos foram desenvolvidos para sistemas


centralizados, onde os recursos fornecidos pelo sistema operacional apresentavam
uma interface de programação conveniente para o armazenamento dos dados em
disco. Com o tempo, esses sistemas foram adquirindo características de controle,
acesso e mecanismos de proteção de arquivos.

Os sistemas de arquivos distribuídos suportam o compartilhamento de informações


através de arquivos e recursos de hardware com o armazenamento persistente. Um
servidor de arquivos distribuídos bem projetado oferece acesso a arquivos que estão
armazenados em um servidor, com desempenho e confiabilidade semelhantes aos
arquivos armazenados em disco local, ou até melhor, pois o projeto é adaptado para
as características de desempenho e confiabilidade das redes locais, portando sendo
mais eficiente no armazenamento de arquivos persistentes.

Um servidor de arquivos distribuídos permite aos programas o acesso a arquivos


remotos como se eles estivessem localmente, possibilitando aos usuários
acessarem os seus arquivos a partir de qualquer computador.
O armazenamento persistente em alguns servidores reduz a necessidade de
armazenamento em disco local, permitindo que sejam feitas economias no
gerenciamento e no arquivamento dos dados de uma organização.

Outros serviços podem ser facilmente implementados quando são capazes de


chamar os serviços do sistema de arquivo para atender às necessidades. Os
serviços são:

• Serviços de nomes;
• Serviços de autenticação de usuários;
• Serviços de impressão;
• Servidor Web.

As organizações que utilizam servidores Web para acessos internos e externos


através de intranets, armazenam e acessam os arquivos através de sistemas de
arquivos distribuídos.

Os sistemas de arquivos são responsáveis por:

• Organização dos arquivos;


• Armazenamento dos arquivos;
• Recuperação dos arquivos;
• Atribuição de nomes de arquivos;
• Compartilhamento de arquivos;
• Proteção dos arquivos.

É fornecida uma interface de programação que caracterizam a abstração dos


arquivos, tirando a preocupação dos desenvolvedores com os detalhes de alocação
e do layout do armazenamento físico no disco.

Requisitos dos sistemas de arquivos distribuídos

Com o desenvolvimento inicial dos sistemas de arquivos distribuídos, alguns


requisitos foram surgindo como armadilhas no projeto, e foram sendo atendidos e
solucionados em fases subseqüentes do projeto. Discutiremos cada um desses
requisitos a seguir:

1. Transparência:

Os sistemas de arquivo são utilizados normalmente em intranets, o que torna crítica


as suas funcionalidades e o seu desempenho. O projeto de um sistema de arquivos
distribuído deve suportar vários requisitos de transparência, contrabalanceando a
flexibilidade e a escalabilidade que são derivados da transparência.

Formas de transparência que são tratadas pelos sistemas de arquivos distribuídos


atuais:

Transparência de acesso: os programas clientes não devem conhecer a distribuição


dos arquivos.
Transparência de localização: os programas clientes devem ter um espaço de
nomes de arquivos uniformes.

Transparência de mobilidade: nem os programas clientes, nem as tabelas de


administração do sistema precisam ser alterados quando um arquivo é movido.

Transparência de desempenho: os programas clientes continuam funcionando


normalmente, enquanto a carga utilizada pelos serviços oscila dentro de intervalos
definidos.

Transparência de mudança de escala: os serviços podem ser expandidos, para


tratar uma ampla variedade de cargas e tamanho da rede.

2. Atualizações concorrente de arquivos

As alterações que são feitas em um arquivo por um cliente X, não devem interferir
nas alterações feitas pelos clientes Y e Z, que estejam acessando ou alterando o
mesmo arquivo simultaneamente.

3. Replicação de arquivos

Serviços de arquivos que suportam replicação permitem que um arquivo possa ser
representado por várias cópias do seu conteúdo em locais diferentes.

Vantagens:

Permite que vários servidores compartilhem a carga de fornecimento para clientes


que acessam o mesmo conjunto de arquivos, melhorando a escalabilidade dos
serviços e tolerância a falhas.

Em caso de falha, os clientes localizam outro servidor que contenha uma cópia do
arquivo.

4. Tolerância a falhas

É essencial para o sistema de arquivos distribuídos continuem a funcionar diante de


falhas que aconteçam em clientes e servidores. Para suportar falha de comunicação,
o projeto deve se basear na semântica do “no máximo uma vez” ou a do “pelo
menos uma vez”.

5. Segurança

Todos os sistemas de arquivos fornecem mecanismos de controle de acesso. Nos


sistemas de arquivos distribuídos, existe a necessidade de autenticar as requisições
dos clientes para que o controle de acesso no servidor seja baseado nos usuários
corretos e proteja o conteúdo das mensagens de requisição e resposta.

6. Eficiência
O sistema de arquivos distribuído deve oferecer o mesmo poder de regeneralidade
dos encontrados em sistemas convencionais, obtendo um nível de desempenho
comparável.

Todos os requisitos e técnicas que citamos representam uma importante parte no


projeto de um sistema de arquivos distribuídos.

Você também pode gostar