Linux slogan
Visite também: BR-Linux.org · Dicas-L · SoftwareLivre.org · UnderLinux

Linux banner
Linux banner
Linux banner
Linux banner


» Screenshot
Linux: ubuntu 10.10
Por tatuiano

Dica

HeartBeat - Web server com Alta Disponibilidade (HA)
Linux user
Publicado por Michel Pereira em 23/02/2009

Login: michel_suporte, 21150 pontos
[ Hits: 19501 ]

HeartBeat - Web server com Alta Disponibilidade (HA)

Configuração de um servidor web utilizando H.A. com HeartBeat. O cenário utilizado foi entre dois servidores de hardware e software idênticos.

S.O - CentOS 5.2.

O objetivo deste documento é explicar como é feita a estrutura Alta Disponibilidade entre dois servidores Web.

O software responsável por este cluster é o HeartBeat (Batimento Cardíaco) - http://linux-ha.org

Estrutura básica do cenário:

Cada servidor tem duas placas de rede, onde uma placa trabalha na rede interna e a outra é utilizada pelo HeartBeat através de um cabo crossover.
  • Eth0 - Lan
  • Eth1 - Rede HeartBeat (Cabo Cross)

O funcionamento básico do H.A. é fazer com que o servidor "Slave" assuma o lugar do servidor "Master" quando houver algum problema, esse procedimento ocorre através de uma monitoramento entre os serviços no dois servidores.

Instalando o HeartBeat:

# yum install heartbeat

Configuração de rede:

LAN: arquivo /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.10.100
NETMASK=255.255.255.0
ONBOOT=yes

HEARTBEAT: arquivo /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
IPADDR=10.0.0.1 #Servidor Master
NETMASK=255.0.0.0
ONBOOT=yes

Arquivo /etc/sysconfig/network-scripts/ifcfg-eth1:

DEVICE=eth1
BOOTPROTO=static
IPADDR=10.0.0.2 #Servidor Slave
NETMASK=255.0.0.0
ONBOOT=yes

Após a instalação do HeartBeat será criado o diretório /etc/ha.d (diretório de configurações do sistema).

Basicamente todas as configurações do HeartBeat são definidas no arquivo ha.cf, que deve ser criado no diretório acima.

# vim /etc/ha.d/ha.cf

# Arquivo de log de Debug:
debugfile /var/log/ha-debug

# Arquivo de Log
logfile    /var/log/ha-log

# Usa o próprio heartbeat como daemon de log
logfacility    daemon

# Frequência em segundo de batimentos cardíacos
keepalive 1

# tempo mínimo para declarar o outro servidor como morto
deadtime 10

# Quanto tempo o heartbeat deve esperar por bits atrasados
warntime 5

# Tempo máximo para declarar o outro servidor como morto
initdead 120

# Porta de sincronia do heartbeat
udpport    694

# Endereço de broadcast da rede - usada para setar o endereço primário do servidor
bcast    eth2    

# Determina se o serviço volta para o master caso ele volte a responder.
auto_failback on

# Nós do cluster devem ser escritos conforme a saída do comando #uname -n
node webserver1
node webserver2

# Endereço ip em comum para testes de conectividade
ping (ex. router do servidor web)

# Plugin que auxilia no monitoramento de conexões entre a rede
respawn hacluster /usr/lib/heartbeat/ipfail

# Se usa o syslog ou não
use_logd off

# Compactação de dados
compression    bz2

# Compactação de dados
compression_threshold 2

Ao configurar o ha.cf deve-se criar um arquivo que define qual o servidor master no cluster.

# vim /etc/ha.d/haresources

webserver1    10.0.0.1   apache

Legenda:
  • Webserver1 - Nome do servidor Master;
  • 10.0.0.1 - IP do servidor Master;
  • apache - Serviço monitorado pelo HeartBeat (o script de monitoramento do apache está em: /etc/ha.d/resource.d/).

Ao concluir a configuração do cluster deve-se criar o arquivo de autenticação dos nós.

# vim /etc/ha.d/authkeys

auth 1
1 md5 <insira uma palavra-frase>

Todas as configurações definidas acima devem ser feitas nos dois servidores que compõem o cluster.




Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Testando sua memória RAM
   Dica Linux recomendada Instalando Tibia 8.0 no Linux
   Dica Linux recomendada Tutorial completo sobre modem HSP56 no Conectiva 10
   Dica Linux recomendada Servidor DHCP automático com limitação por MAC no Debian 2.6
   Dica Linux recomendada Personalizando a Interface do KALI Linux

Comentários
[1] Comentário enviado por hemersonmilano em 25/02/2009 - 10:34h:

Nota 10 por esta dica de como configurar um web server com alta disponibilidade.

Estou fazendo um projeto de cluster e com certeza isto já me ajudou bastante.

Valeu pela dica.


[2] Comentário enviado por andre_ramos em 10/09/2010 - 10:38h:

kara Blz, estou precisando de uma solução, e o seguinte: preciso de instalar um serviço no linux onde tenho 2 links de internet instalado em um firewall e que quando um link cair o outro entra em ação automaticamente,

alguns colegas do vol me disseram que o serviço heartbeat faz isso,

vc pode me explicar mais sobre este serviço?

pois estou interessado em estudar isso

grato



[3] Comentário enviado por arianevsf em 05/04/2012 - 23:56h:

Olá pessoal,

Vocês saberiam me dizer se pra serviços como o Quagga, eu também posso utilizar essa redudância?

Lembrando que na pasta: resource.d, o Quagga não existe. =/

Outra observação, durante a utilização do ipfail a minha versão do heartbeat (2.0), apresenta incompatibilidade, ou seja, nõ consigo usar o ipfail.

Isso aconteceu com algum de vcs?

Agradeço a resposta.


[4] Comentário enviado por tiagobsd em 23/09/2012 - 01:58h:

Olá,

Tenho uma solução de HA para Linux.

http://saolabs.com/products/ha-server/

team@saolabs.com



[5] Comentário enviado por PretooOO em 22/07/2013 - 09:46h:

Muito Obrigado!"
Foi muito util!!
Testado em Debian 7 e tudo OK, so fazendo meus ajustes.. :-D

Abraço.



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.