Fundamentos de Clusters, Sistemas de Arquivos, DNS e RAID

Classificado em Computação

Escrito em em português com um tamanho de 8,62 KB

Clusters

São dois ou mais computadores que se relacionam entre si, trabalhando conjuntamente para realizar uma tarefa. Eles executam o trabalho de maneira simultânea, porém precisam ter o mesmo Sistema Operacional.

Sistemas de Arquivos

É a organização de dados que é feita nos HDs e através do Sistema Operacional é possível decodificar, ler ou gravar estes dados. É fornecida uma interface capaz de manipular os dados sem conhecer os detalhes de implementação.

O Setor 0 do disco é usado para fazer boot.

Os sistemas de arquivos mais utilizados no Windows são: FAT32 e NTFS. No Linux, são Ext3 e Ext4.

NTFS

O NTFS possui capacidade de recuperar erros de disco automaticamente e oferece mais segurança, pois permite usar permissões e criptografia para restringir o acesso a determinados arquivos.

Sistemas de Arquivos Distribuídos

É igual a um sistema de arquivo convencional, com a diferença que o acesso fica transparente ao usuário.

Vantagens

  • Maior disponibilidade de informação
  • Visão única que todos os clientes têm do sistema de arquivos

Desvantagem

  • Complexidade

Requisitos

  • Transparência
  • Segurança
  • Escalabilidade
  • Heterogeneidade
  • Disponibilidade
  • Confiabilidade

Exemplos de sistemas de arquivos distribuídos incluem NFS e Google File System (GFS).

Google File System (GFS)

É um sistema de arquivos criado pelo Google. Esse sistema consiste basicamente em milhares de máquinas rodando um sistema operacional, ao invés de ter supercomputadores caros. Essas máquinas suportam muitos acessos. Ele busca performance, escalabilidade, desempenho, confiabilidade e disponibilidade. Nele é permitido criar, deletar, close e open.

É utilizado em serviços como Google Maps, Gmail, Orkut, YouTube e Google+.

Diferenciais

  • Mecanismos de monitoramento constante para detecção de erros e recuperação automática.
  • Restauração rápida e replicação.

Ele trabalha como um cluster de vários computadores interligados com sistema Linux.

Arquitetura GFS

Arquivos

  • Divididos em partes de tamanho fixo de 64 MB, chamadas de chunk.
  • Cada chunk é identificado por um chunk handle de 64 bits.
  • Por confiabilidade, cada chunk é replicado em múltiplos chunkservers (por padrão, 3 réplicas).

Master

  • Não é diretamente envolvido na transferência de arquivos.
  • Responsável por armazenar metadata do sistema de arquivos. A metadata inclui: namespace, controle de acesso, mapeamento de arquivos para os chunks e a localização dos chunks.
  • Controla o empréstimo de chunks, garbage collection e migração de chunks entre chunkservers.
  • Comunicação periódica com os chunkservers para dar instruções e saber o estado.

DNS – Domain Name System

O DNS é responsável por traduzir o IP de um servidor para nomes de domínio. Ele consiste em um sistema hierárquico de definição de nomes baseados em domínios, implementado em um banco de dados distribuído.

Bancos de Dados Distribuídos (DNS)

No serviço de DNS, os nomes são armazenados em Zonas. Essas zonas são arquivos de texto que contêm os nomes de um ou mais domínios.

Resolução de Nomes DNS

O mecanismo que consiste em encontrar o endereço IP que corresponde ao nome de um host é chamado de "resolução de nome de domínio". A aplicação que permite realizar esta operação (geralmente integrada no sistema operacional) chama-se "resolutor" (em inglês, "resolver").

Quando uma aplicação deseja se conectar a um host conhecido pelo seu nome de domínio (por exemplo, "www.registrodedominios.net.br"), ela vai interrogar um servidor de nomes definido na sua configuração de rede. Cada máquina conectada à rede possui em sua configuração os endereços IP de dois servidores de nomes do seu fornecedor de acesso.

Um pedido é então enviado ao primeiro servidor de nomes (chamado "servidor de nomes primário"). Se este possuir o registro em cache, envia-o para a aplicação; caso contrário, interroga um servidor raiz (no nosso caso, um servidor raiz que corresponde ao TLD ".br"). O servidor de nomes raiz reenvia uma lista de servidores de nomes que têm autoridade sobre o domínio (no nosso caso, os endereços IP dos servidores de nomes primário e secundário de registrodedominios.net.br).

O servidor de nomes primário com autoridade sobre o domínio vai então ser interrogado e enviar o registro que corresponde ao host do domínio (no nosso caso, "www").

RAID – Redundant Array of Independent Disks

A sua definição é Matriz Redundante de Discos Independentes. É uma tecnologia que combina vários discos rígidos para formar uma única unidade lógica, onde os mesmos dados são armazenados em redundância. Ou seja, é um conjunto de discos rígidos que funciona como se fosse um só.

O RAID geralmente é utilizado por servidores, pois ele permite uma alta tolerância contra falhas. Se um disco tiver problemas, os demais continuam funcionando.

Para que o RAID funcione, é necessário ter no mínimo 2 HDs. Neste caso, o Sistema Operacional enxergará os discos como uma unidade lógica única. Ou seja, quando há uma gravação de dados, os dados são repartidos entre os discos.

Com isso, é garantida a disponibilidade em casos de falha de um disco. É possível também equilibrar o acesso às informações de forma que não haja gargalos.

RAID 0 (Striping / Fracionamento)

Ele é conhecido como fracionamento (ou striping), pois nele os dados são divididos em pequenos segmentos e distribuídos entre os discos. Neste tipo de RAID, não existe tolerância a falhas, pois não há redundância. Por isso, o RAID 0 é utilizado para melhorar a performance do computador, uma vez que a distribuição de dados entre os discos proporciona grande velocidade na gravação e leitura de informações. É muito utilizado em tratamento de imagens, vídeos e em aplicações CAD.

RAID 1 (Mirroring / Espelhamento)

É conhecido como espelhamento (ou mirroring), pois ele funciona adicionando HDs paralelos aos HDs principais. Ou seja, se um computador tiver 2 discos, é necessário, então, colocar mais 2, totalizando 4, pois os discos que foram adicionados trabalham como uma cópia do primeiro. Se o disco principal recebe dados, o disco adicionado também recebe, ou seja, ele passa a ser uma cópia idêntica do outro HD. Dessa forma, se um dos HDs apresentar falha, o outro pode imediatamente assumir a operação e continuar a disponibilizar as informações. A consequência disso é que a gravação de dados é mais lenta, pois ela é realizada duas vezes. Já a leitura é mais rápida, pois pode acessar duas fontes. Este RAID é muito utilizado em servidores de arquivos.

RAID 5

No RAID 5, ele sacrifica apenas uma fração do espaço total. Ou seja, ao invés de utilizar metade dos HDs para armazenar cópias, os arquivos são divididos em fragmentos de tamanho configurável. Para cada grupo de fragmentos, é gerado um fragmento adicional, contendo códigos de paridade. Desta forma, é possível gravar dados simultaneamente em todos os HDs, melhorando o desempenho. Neste tipo de RAID, é necessário no mínimo 3 HDs. Ele é um dos mais utilizados.

DFS – Distributed File System

É um serviço que tem o objetivo de centralizar pastas compartilhadas e utilizar replicação para obter disponibilidade e centralização dos arquivos. Ou seja, ele permite criar um ponto único de acesso a arquivos que estejam armazenados em servidores diferentes.

Podemos dizer que um Sistema de Arquivo Distribuído oferece serviços para a manipulação de arquivos dos clientes. Ações primitivas como criar, excluir e escrever podem ser usadas, sendo controladas por um servidor onde os dados são armazenados e as operações são processadas.

É importante lembrar que o DFS não substitui uma solução mais completa de alta disponibilidade, como Cluster, e muito menos uma rotina de backup. Além disso, o DFS também é muito utilizado para facilitar a administração de pastas compartilhadas em grandes corporações.

Entradas relacionadas: