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.
Este problema ocorre quando ambas as máquinas são carregadas de maneira isolada, não havendo conectividade entre os recursos. Com isso, as máquinas não conseguem conectar os devices ao recursos sincronizador.
Para solucionar esse problema é necessário limpar os dados de conexão do recurso em um dos nós.
Para um melhor gerenciamento do sistema DRBD em relação a montagem do volume nas duas máquinas, nós criamos um script que irá gerenciar a montagem dos devices, onde o mesmo será gerenciado pelo heartbeat.
Esse script será utilizado para transformar o nodo que está em operação em primário, além de montar, no nosso exemplo, o /dev/drbd2. Quando o nodo que está em operação cair, o outro nodo assume. Nesse caso, o heartbeat utilizará esse script para transformar esse nodo em secundário no DRBD e desmontar o device. Com isso, o nodo que assumiu faz o processo inverso, transformado o DRBD em primário e montando o device.
[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
[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?
[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.
[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.
[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
[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.
[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
[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: