terça-feira, 16 de dezembro de 2014

Redundância Servidores - Copia do site http://blog.emporio-web.com/

  Redundância Servidores - Heartbeat no LinuxRedundância 



Servidores–Heartbeat no Linux Se o seu servidor parar,o que fazer?

Por vezes os serviços rodados são críticos e não podem parar.

A solução é ter dois servidores,sendo um deles de standby.

Mas como configurar o heartbeat no linux para redundância de servidores?
Este artigo é inspirado no artigo original da Cloud Servers Knowledge Base,IP Failover –Setup and Installing Heartbeat.

Atenção,os comandos utilizados neste artigo assumem que a distribuição do Linux utilizada é baseada em Ubuntu ou Debian e usuário ‘root’!

 Primeiramente,é necessário instalar o Heartbeat,recomenda-se que a distribuição utilizada esteja com todos os patches e updates.

Para instalar basta emitir o comando:

apt-get install heartbeat 

Seguidamente,editar os arquivos de configuração do heartbeat em /etc/heartbeat.

Começaremos com o arquivo authkeys,onde serão configuradas as chaves de autorização:

 vi /etc/heartbeat/authkeys 

O conteúdo é basico,basta colocar uma senha ou palavra partilhada entre os servidores:

 auth 1
1 sha1 YourSecretPassPhrase 

A primeira linha denota o número de autorização,uma vez que é possível ter vários servidores ou ips configurados em caso de falha. A segunda linha é a senha ou chave de autorizaçao compartilhada. Este arquivo deve ser igual em ambos os servidores. Seguidamente devemos alterar as permissões do arquivo,que não pode ser lido geral.

Se não for alterado o Heartbeat falhará:

chmod 600 /etc/heartbeat/authkeys 

O segundo arquivo a editar é o arquivo haresources:

vi /etc/heartbeat/haresources 

O conteúdo é bem simples,e também como o anterior deve ser igual em ambos os servidores,contendo apenas o IP que será compartilhado (o IP público normalmente atríbuido ao Master/Servidor principal):

master 123.45.67.89/24 

O terceiro arquivo a editar é o arquivo ha.cf,que é diferente no servidor Master e no Slave:

vi /etc/heartbeat/ha.cf

O conteúdo do arquivo no Master seria:

logfacility daemon
keepalive 2
deadtime 15
warntime 5
initdead 120
udpport 694
ucast eth1 192.168.0.2 # O endereço IP privado do servidor Slave.
auto_failback on 
node master # O hostname do servidor Master. 
node slave # O hostname do servidor Slave.
respawn hacluster /usr/lib/heartbeat/ipfail
use_logd yes


O conteúdo do arquivo no servidor Slave seria:

logfacility daemon
keepalive 2
deadtime 15
warntime 5
initdead 120
udpport 694
ucast eth1 172.0.0.1 # O endereço privado do servidor Master.
auto_failback on
node master # O nome de host do servidor Master.
node slave # O nome de host do servidor Slave.
respawn hacluster /usr/lib/heartbeat/ipfail
use_logd yes

Como se pode observar a diferença está apenas em uma linha. Após isso efetuar um restart ao serviço. 

/etc/init.d/heartbeat restart

Para terminar é necessário permitir que o HAProxy efetue o bind ao endereço IP partilhado,adicionando a seguinte linha ao arquivo

/etc/sysctl.conf: net.ipv4.ip_nonlocal_bind=1

e executar o comando:

sysctl -p 

Ok,a partir de agora temos a redundância funcionando! No entanto,podem persistir problemas com o hearbeat intermitente quando do inicio (arranque) de um servidor ou devido a um restart. Para previnir isso pode-se desabilitar configurações pré-existentes nos interfaces de rede.

Edite o arquivo /etc/network/interfaces e desabilite essas configurações:

# Comente as linhas abaixo (exemplo)
#auto eth0:1
#iface eth0:1 inet static
#address 1.2.3.4
#netmask 255.255.255.0
#gateway 1.2.3.1 … 

Após isso,reinicie o serviço de networking através do comando:

/etc/init.d/networking restart

Agora sim,o serviço deverá estar totalmente funcional! Efetue um teste através do comando ping reiniciando e desligando os servidores para ver o heartbeat em funcionamento.



fonte: http://blog.emporio-web.com/lang/pt-pt/2010/10/redundancia-servidores-heartbeat-linux/

Nenhum comentário:

Postar um comentário