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)
Agora vamos clicar no link Global Settings para iniciarmos as configurações: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.
Na aba REAL SERVER exibe o status dos servidores reais que fazem parte do grupo de um servidor virtual, exibe se o host está UP, nome dado a máquina virtual e o endereço IP.
Adicionando ou editando um REAL SERVERName: nome do servidor REAL
Address: IP do servidor REAL
Weight: Prioridade usada pelo algoritmo de balanceamento.
Na aba MONITORING SCRIPTS, são mostrado os scripts utilizados para verificar se um host está UP ou DOWN.
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