Alta Disponibilidade (HA) com Debian (Heartbeat + DRBD + Mon)

Neste tutorial estaremos montando um ambiente de alta disponibilidade usando Heartbeat, DRBD e Mon baseados em Debian. Tendo em vista a dificuldade que tivemos em encontrar tutoriais atualizados sobre esse assunto, decidimos compartilhar nossas experiências com a comunidade.

[ Hits: 121.785 ]

Por: Ciro Siqueira em 01/09/2008


Heartbeat



Instalação do Heartbeat

Primeiramente instale o pacote do heartbeat (versão2):

# aptitude install heartbeat-2

Em seguida precisamos copiar os arquivos necessários para a configuração do mesmo da área de documentação do heartbeat, já que no Debian esses arquivos não vem no diretório de config por padrão.

# cd /usr/share/doc/heartbeat-2
# cp authkeys ha.cf.gz haresources.gz /etc/ha.d
# cd /etc/ha.d
# gunzip ha.cf.gz haresources.gz


Configuração do Heartbeat

Em seguida vamos configurar os arquivos.

O primeiro arquivo que configuraremos é o authkeys, que cuida da autenticação entre os dois nodos.

# vi authkeys

auth 3
#1 crc
#2 sha1 HI!
3 md5 senha

Precisamos configurar as permissões do arquivo authkeys. Para isso execute:

# chmod 600 authkeys

Em seguida configure o arquivo principal do serviço, o ha.cf.

# vi ha.cf

logfile      /var/log/ha-log
logfacility   local0
keepalive   2
deadtime   10
warntime   5
initdead   20
udpport      694
bcast      eth1
auto_failback   off
node      master
node      slave

E por fim, o arquivo haresources, que gerencia os daemons de responsabilidade do heartbeat.

# vi haresources

master \
   IPaddr2::192.168.1.240/24/eth0/192.168.1.255 \
   apache2

IMPORTANTE: É necessário desabilitar da inicialização os serviços declarados no arquivo haresources, pois quem irá levantá-los será o serviço heartbeat.

Para desativar os serviços, execute:

# cd /etc/rc2.d
# mv S91apache2 K91apache2


Além disso é preciso desabilitar o carregamento da placa de rede eth0 nos dois nodos, já que a mesma também será carregada pelo heartbeat. Isso é realizado no arquivo /etc/network/interfaces.

Depois de tudo configurado, reinicie ambas as máquinas para que possamos testar o heartbeat, porém, reinicie primeiro a máquina master e depois a slave.

Página anterior     Próxima página

Páginas do artigo
   1. Preparando o sistema
   2. Heartbeat
   3. DRBD
   4. DRBD - Continuação
   5. Mon
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Guia de referência do ISOLINUX (parte 1)

Viva o Linux Training: seja um moderador do VOL

Técnicas de memorização para facilitar o uso VI (Comandos básicos)

Conhecendo o LXDE

Dúvidas iniciais para começar Open Hardware de mouse + GUI

  
Comentários
[1] Comentário enviado por diekn em 01/09/2008 - 18:43h

Bem,amigo,gostei bastante do seu arquivo,sobre tudo,que é em debian,estarei implementando para testar,desde já,parabens.

[2] Comentário enviado por nuvem_negra em 02/09/2008 - 13:55h

Perfeito estava a tempos a procura de um tutorial sobre essas ferramentas, parabéns

[3] Comentário enviado por madrux em 02/09/2008 - 16:16h

Caro amigo, também estou montando um ambiente de alta disponibilidade para o meu firewall, mas me deparei com uma pequena duvida. Os arquivos que quero sincronizar entre os servidor1 e servidor2 estão na partição "/dev/sdax" , mas acontece que enquanto esta partição estvier montada não poderei fazer o sincronismo da mesma através do DRDB. Gostaria de saber como que posso fazer para sincronizar as informações e utilizar os arquivos contidos nessa mesma partição que quero sincronizar através DRDB? Tanto que em seu arquivo você colocou uma observação informando que deveria ser comentada a linha de ponto de montagem do disco que será sincronizado

Muito Obrigado pela ajuda.

[4] Comentário enviado por fmpfmp em 02/09/2008 - 16:16h

Parabéns pela iniciativa. Realmente, a configuração de alta disponibilidade no Linux é algo bastante nebuloso.

[5] Comentário enviado por agimenez em 03/09/2008 - 00:56h

Show de bola esse artigo!!! Fui atrás de váários na net.. e cada um me traz uma luz para meu problema.

Uma coisa que não entendi é os IPs das placas de rede:
# Eth0: 192.168.1.240 (Lan) - não irá dar conflito de ter duas máquinas com o mesmo IP?
# Eth1: 172.16.1.241 (HA) - essa placa de rede estará ligada direto na eth1 da maquina slave?


Para quem sempre buscou sobre o assunto, segue alguns locais que eu achei informações:
http://www.howtoforge.com/high_availability_heartbeat_centos
http://www.linux-ha.org/LearningAboutHeartbeat

[6] Comentário enviado por cirosiqueira em 03/09/2008 - 09:51h

Caro madrux

Pense no DRBD como um RAID porém em máquina separadas. Você não pode ter uma partição física montada e criar um arranjo de discos em cima desta partição. Portanto você deve pensar que será uma nova partição em cima de (/dev/sdax). Faça backup dos seus arquivos, monte o arranjo DRBD, e depois restaure-o, até porque essa "nova partição" também terá de ser formatada. Por isso você deve comentar a entrada da partição "física" (/dev/sdax) no seu FSTAB, porque você irá carregar na verdade o arranjo DRBD.

Abraço e boa sorte.

[7] Comentário enviado por cirosiqueira em 03/09/2008 - 11:41h

Caro agimenez

No caso da placa de rede LAN leve em consideração que quem irá levantar esse IP na placa é o Heartbeat, ou seja o IP estará disponivel em apenas uma das máquinas (máquina mestre). Caso ocorra da maquina mestre falhar, a escrava assume esse endereço IP derrubando o endereço em questão da máquina mestre. Por esse motivo não configuramos este IP em "/etc/network/interfaces", deixando isso ao encargo do Heartbeat.
A outra placa de rede (eth1), é conectada diretamente a outra eth1 na máquina slave, sendo usada para o DRBD e Heartbeat. Por isso elas precisam ter IP's diferentes e são carregadas na inicialização, diferentemente da placa usada na LAN. Se você preferir também pode separar os serviços de DRBD e Heartbeat em interfaces separadas.

Abraço.

[8] Comentário enviado por grandmaster em 03/09/2008 - 22:52h

Muito bom. Adicionado para uso futuro :D

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[9] Comentário enviado por hibiki em 07/10/2008 - 14:20h

Bom estou com uma duvida aqui na empresa tenho que configurar o compartilhamento com a net e o squid como fazer eles com o Heartbeat + DRBD + Mon, como comento a configuração na rede do interface.. fico a divida

[10] Comentário enviado por fabiobc em 31/10/2008 - 10:13h

Preciso ter uma placa especifica para o heartbeat?
seriam duas placas por maquina?

[11] Comentário enviado por rubensurquisa em 01/04/2010 - 01:20h

seu artigo é muito bom e também quero implantar esta solução, mas apereceu um probleminha quando executo:
#make clean all
FATAL: Module drdb not found.

Desde já lhe agradeço por qualquer sugestão

[12] Comentário enviado por rubensurquisa em 02/04/2010 - 00:58h

garimpei um pouco mais e descobri outro forma mais simples de instalar o drdb8 sem precisar compilar o codigo fonte mas pelo pacote binário fornecido pelo debian lenny no repositorio.

S.O debian 5.04 com kernel 2.6.26-2-686
Actualize o repositório do debian Lenny

#nano /etc/apt/sources.list
#Repositório oficial Brasil
deb ftp://ftp.br.debian.org/debian lenny main contrib non-free
deb-src ftp://ftp.br.debian.org/debian lenny main contrib non-free

#Se quiser utilizar os repositórios USA descomente a linha
deb ftp://ftp.us.debian.org/debian lenny main contrib non-free
deb-src ftp://ftp.us.debian.org/debian lenny main contrib non-free

# Repositório de atualizações frequentes
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

# Repositório de atualizações de segurança
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

# Repositório de atualizações propostas
deb ftp://ftp.br.debian.org/debian lenny-proposed-updates main contrib non-free
deb-src ftp://ftp.br.debian.org/debian lenny-proposed-updates main contrib non-free

# aptitude update

# aptitude install drbd8-modules-2.6-686 drbd8-utils

depois é só configurar, lembrando que testei isso no debian 5.04 lenny



[13] Comentário enviado por brpemerson em 01/09/2011 - 19:24h

Boa noite,

alguém já passou pela experiência de ter que migrar um servidor em produção para este sistema em alta disponibilidade?

Tenho um servidor debian em produção que preciso passar ele para este sistema de alta disponibilidade.
O que me sugerem?

[14] Comentário enviado por ogaroto666 em 05/07/2012 - 21:37h

olá amigo, gostaria de saber quanto você me cobraria para configurar uma infra estrutura dessas aqui em minha empresa. Estamos interessados em aplicar isso em nossos servidores.
favor entrar em contato
rafael_0015@yahoo.com.br
61 81332935

[15] Comentário enviado por Luismar em 13/05/2013 - 20:44h

Gente, eu instalei aqui rapidinho o Heartbeat + DRBD + Apache2 só que o IP virtual do Heartbeat está sumindo, ele só carrega no inicio quando eu faço o login no debian e depois de alguns segundos ele some e não aparece mais, dou um restart no Heartbeat mas depois de alguns segundos ele some novamente, alguém já passou por este problema aí ???

[16] Comentário enviado por angelogpl em 03/02/2014 - 14:18h

Temos um IBM BladeCenter, possuindo chassi e lâminas. Dentre essas lâminas, apenas uma rodando um servidor Debian não virtualizado. A idéia seria virtualizá-lo e trabalhar com alta disponibilidade e possivelmente com balanceamento de carga. Na lâmina atual que foi citada, tenho 16GB de RAM, 16 núcleos em HT e disco de 250 GB, aproximadamente.

Gostaria de saber como implantar no Linux, em conceitos práticos, mas particularmente sob o aspecto da implantação do Hardware, associado a softwares de virtualização gratuitos ou pagos, caso seja necessário, a melhor solução de software para virtualização, que mais se adequasse com a Alta Disponibilidade e Balanceamento de Carga, aplicada a esse cenário ou ao mais semelhante possível.

Estou aberto a sugestões.

Favor, entrem em contato por um dos e-mails a seguir:

frequenciadigital@cidadaopg.sp.gov.br

ou

angeloztemobile@gmail.com


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts