Estes tipos de cluster são utilizados para base de dados de missões críticas, correio, servidores de arquivos, aplicações web, e uma série de outros serviços.
Resumo
Para quem tem uma grande quantidade de acessos e roda aplicações que são essências, que não podem ter a produção afetada por uma queda, mesmo que temporariamente, bom, ai vai um exemplo de como montar um cluster de servidores web usando o recurso do LVS (Linux Virtual Server).
Topologia
Teremos a seguinte topologia em nosso exemplo, na qual iremos nos basear para efetuarmos a configuração logo abaixo.
Iremos usar o modo DR do LVS (Direct Routing)
Servidor real (Servidor onde está instalado o software de gerenciamento das conexões)
Nosso servidor real, ou seja, nosso front-end terá dois ips:
IP REAL (eth0) = 10.0.20.10/24
IP VIRTUAL (eth0:1)= 10.0.20.20/32
Os servidores que fazem parte do cluster, irão possuir o mesmo endereço ip, que no caso nós chamamos de IP VIRTUAL.
Servidor web 01
IP REAL (eth0) = 10.0.20.11/24
IP VIRTUAL (l0:1) = 10.0.20.20/32
Servidor web 02
IP REAL (eth0) = 10.0.20.12/24
IP VIRTUAL (l0:1) = 10.0.20.20/32
Servidor web 03
IP REAL (eth0) = 10.0.20.13/24
IP VIRTUAL (l0:1) = 10.0.20.20/32
Pré-requisitos
Distribuição: CentOS 4.x ou CentOS 5.x
Pacotes: ipvsadm, piranha
O pacote ipvsadm é responsável pela administração da distribuição das conexões aos servidores.
O pacote piranha é apenas a interface (GUI) de administração, é nela que iremos configurar os servidores que fazem parte do cluster, qual tipo, e outras mais...
Instalação
[root@centos ]# yum install ipvsadm piranha
Após instalados os pacotes acima, vamos definir uma senha de acesso a interface de administração do piranha usando o comando abaixo:
[root@centos ]# piranha-passwd
Após termos definidos uma senha para o usuário piranha, vamos iniciar o serviço usando o seguinte comando:
[root@centos ]# service piranha-gui start
[root@centos ]# chkconfig piranha on
Depois de termos inicializado o serviço vamos abrir a interface de administração:
http://meuservidor.com.br:3636


Após efetuarmos o login, será mostrado a tela de controle e monitoramento (CONTROL/MONITORING)

Primary server public IP: 10.0.20.10 (IP REAL)
Primary Server private IP: deixe em branco
Use network type: direct

Na aba REDUNDANCY só é necessária quando utilizamos um servidor secundário para alta disponibilidade, não sendo necessário neste caso.
Vamos então a aba VIRTUAL SERVERS

Nesta aba criaremos o host virtual, responsável pelo encaminhamento das solicitações. Para criarmos um servidor virtual, clique em ADD, depois selecione o novo servidor e clique em EDIT. Será exibida a tela abaixo onde em VIRTUAL SERVER devemos entrar com as seguintes informações:
Name: Nome do servidor virtual
Application port: Endereço do serviço onde está rodando sua aplicação
Virtual Network Mask: Máscara de rede da rede virtual, que no caso é de 32bits (255.255.255.255).
Firewall Mark: Não aplicável.
Device: O nome do dispositivo que será criado na interface virtual.
Re-entry Timeout: Intervalo de verificações, no caso de uso do HEARTHBEAT, não aplicável no nosso caso.
Service Timeout: Define o intervalo de tempo em que o servidor será considerado como DEAD, retirando o mesmo do Cluster.
Quiesce Server: Habilita a limpeza automática das das tabelas de roteamento caso um host anteriormente considerado como DEAD retorna ao status de ativo.
Load monitoring tool: Usado para monitorar os status dos hosts em caso de uso com o HEARTHBEAT. Não aplicável.
Scheduling: É o algoritmo que será utilizado para decidir como será efetuado o balanceamento das conexões entre os REAL SERVERS. Neste caso utilizamos o tipo Weighted least-connections, ele irá enviar as conexões para os serviços que possuírem o menor numero de conexões ATIVAS.


Name: nome do servidor REAL
Address: IP do servidor REAL
Weight: Prioridade usada pelo algoritmo de balanceamento.


Após realizar toda configuração indicada acima, vamos iniciar o serviço pulse, responsável pelo gerenciamento do cluster.
[root@centos ]# service pulse start
[root@centos ]# chkconfig pulse on