Failover Clustering (I)

 

Fundamentos do Clustering

 
Clustering é a utilização de vários computadores e ligações redundantes para formar o que parece ser um sistema único e altamente disponível. Um cluster fornece protecção contra a inactividade para  aplicações importantes ou serviços que precisam estar sempre disponíveis, distribuindo a carga entre vários computadores para que, no caso de falha num sistema, o serviço esteja disponível noutro.

O conceito básico de um cluster é fácil de entender; um cluster são dois ou mais sistemas trabalhando em conjunto para alcançar um objectivo comum. No Windows existem dois tipos principais de clustering: clusters de expansão/disponibilidade conhecidos como Network Load Balancing clusters (NLB)  e clusters estritamente baseados em disponibilidade conhecidos como Failover Clusters. A Microsoft  tem também uma variante do Windows chamada Windows Compute Cluster Server.

Quando um computador inesperadamente falha ou é deliberadamente desligado, o clustering garante que os processos e serviços a ser executados, mudam para outra máquina, ou seja, fazem "failover" no cluster. Isto acontece sem interrupção nem necessidade de intervenção imediata do administrador fornecendo uma solução de alta disponibilidade, o que significa que os dados críticos estão sempre disponíveis.
 
Failover Cluster
 

Balanceamento de Carga (V)

Balanceamento de Carga por Software


Vamos dar agora uma rápida vista de olhos às soluções de balanceamento de carga executadas sem a necessidade de hardware específico, como os ADCs já discutidos em artigos anteriores. Embora existam várias soluções de software disponíveis para o mundo Unix / Linux, vou-me concentrar principalmente nas tecnologias da Microsoft. No futuro pretendo escrever uma série de tutoriais passo a passo e então eu poderei fazê-lo também para a comunidade Linux.

Balanceamento de Carga por DNS


O balanceamento de carga por DNS é uma abordagem popular e simples para as solicitações de balanceamento de servidores e consiste basicamente na criação de múltiplas entradas DNS no registo do DNS para o domínio, ou seja, o servidor DNS autoritário contém vários registos do tipo "A" para um único host.

Imaginemos que queremos equilibrar a carga em www.meusite.com, e temos três servidores web com endereços IP 64.13.192.120, 64.13.192.121 e 64.13.192.122, respectivamente, cada um deles tem uma cópia completa do site e assim, seja para qual deles for direccionado o pedido, a resposta fornecida será sempre a mesma.

Para implementar isso, basta criar as seguintes entradas no DNS:

www.meusite.com 64.13.192.120
www.meusite.com 64.13.192.121
www.meusite.com 64.13.192.122

Quando chega um pedido de DNS para o servidor DNS resolver o nome de domínio, ele pode dar um dos endereços IP do servidor com base em diferentes critérios, como a simples rotatividade (round-robin) ou localização geográfica redireccionando assim o pedido para um dos servidores de um grupo de servidores. Uma vez que o domínio seja resolvido para um dos servidores especificados, as solicitações subsequentes dos clientes usando o mesmo servidor DNS local serão enviadas ao mesmo servidor mas as provenientes de outros DNSs locais serão encaminhadas para outro servidor. Este processo é conhecido como Round Robin DNS (RRDNS).

Balanceamento de Carga por DNS