Instalando DRBD + Heartbeat no Debian 6

Depois de meses de pesquisas e algumas noites em claro, desenvolvi com ajuda de alguns amigos, este material que trata a Alta
Disponibilidade.

[ Hits: 67.233 ]

Por: Leandro Paulo em 24/12/2011


Instalando Heartbeat ( executar nos dois nós )



# aptitude install heartbeat

Configurações

No Debian, por padrão, não existe os arquivos modelos no diretório "/etc/had.d", então temos que criar uma cópia dos mesmos.

# cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/authkeys
# zcat /usr/share/doc/heartbeat/ha.cf.gz > /etc/ha.d/ha.cf
# zcat /usr/share/doc/heartbeat/haresources.gz > /etc/ha.d/haresources


logfile      /var/log/ha-log
logfacility   local0
keepalive   2
deadtime   10
warntime   5
initdead   20
udpport      694
bcast      eth0
auto_failback   no
ping    192.168.254.254
node      node1
node      node2


O arquivo authkeys é responsável pela autenticação deixo da seguinte forma:

auth 1
1 md5 digite_sua-senha


Mude as permissões do arquivo:

# chmod 600 /etc/ha.d/authkeys

Edite o arquivo "/etc/ha.d/ha.cf":

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

node node1
node node2

# QUAL A INTERFACE QUE SERÁ USADA PARA COMUNICAÇÃO

bcast      eth0

# ARQUIVOS DE LOGS

debugfile /var/log/ha-debug
logfile /var/log/ha-log

# FREQUÊNCIA EM SEGUNDOS DA VERIFICAÇÃO DOS SERVIDORES

keepalive 2

# TEMPO MÍNIMO PARA DECLARAR A OUTRA MÁQUINA DESATIVADA

deadtime 30

# QUANTO TEMPO O HEARTBEAT DEVE ESPERAR POR BITS ATRASADOS

warntime 10

# TEMPO MÁXIMO PARA DECLARAR O OUTRO SERVIDOR COMO MORTO

initdead 90

# VELOCIDADE DA SERIAL BPS  – CASO ESTEJA USANDO CABO SERIAL

baud 19200

# PORTA QUE SERA USADA

udpport 694

# DETERMINANDO SE O SERVIÇO DEVE VOLTAR PARA O MASTER, CASO ELE VOLTE A RESPONDER

auto_failback off

# COMPACTAÇÃO DOS DADOS

compression    bz2

# COMPACTAÇÃO DOS DADOS

compression_threshold 2


Edite também o arquivo 'haresources', ele será responsável por quais recursos estarão no cluster bem como qual será o nó primário.

No arquivo adiante monitorar Apache e o DRBD.

Instalando Heartbeat ( executar nos dois nós ) - Continuação

# node1 IPaddr::192.168.254.10/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/dados::ext4 apache2

Nota: vale lembrar que o IP declarado no arquivo '192.168.254.10' é o IP de virtual de serviço que os usuários irão acessar as aplicações.

Obs.: todos os arquivos de configuração do Heartbeat deverão existir na duas máquinas.

Devemos colocar a montagem da partição de forma automática, edite o arquivo 'fstab' devendo ficar conforme exemplo abaixo.

# vim /etc/fstab

/dev/drbd0 /dados ext4 _netdev,defaults 0 0


Inicie o Heartebeat nos dois nós:

# /etc/init.d/heartbeat start

Em seguida, confira se a interface virtual foi iniciada no nó primário:

# ifconfig

Deve aparecer algo como mostra a figura:
Linux: Instalando DRBD + Heartbeat no Debian 6

Se a interface virtual aparecer, é sinal que correu tudo bem. Agora vamos testar nosso ambiente. Ainda no nó 1, vamos parar o Heartbeat:

# /etc/init.d/heartbear stop

Neste momento deverá ocorrer a migração dos dados para o nó 2. Conforme imagem:
Linux: Instalando DRBD + Heartbeat no Debian 6

Agora que o nó 2 é o nó primário, iremos simular um reboot na mesma e acompanhar o processo de migração novamente.

# watch cat/proc/drbd

Enquanto a máquina estiver no processo de reinício, o estado do outro nó que assume será de 'Primary/Unknow', visto que o mesmo perderá a conexão com o nó em reboot.

Portanto, assim que a máquina que estava no reboot voltar ao seu estado normal, o status do nó que assumiu os recursos mudará para 'Primary/Secondary' e a máquina que estava em reboot, ficará como 'Secondary/Primary'.
Página anterior     Próxima página

Páginas do artigo
   1. Acertar repositórios
   2. Criar os meta-dados e a partição
   3. Instalando Heartbeat ( executar nos dois nós )
   4. Notas de erro
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instale uma distro dentro de outra

Preparando o Linux SuSE Enterprise Server 9 para o Oracle 10g R2

Debmirror: Criando um repositório Debian na rede local

Converter uma distribuição Linux para rodar no coLinux

CRON e CRONTAB: um pouco de teoria, uso e exemplos

  
Comentários
[1] Comentário enviado por removido em 24/12/2011 - 12:52h

Bem legal o artigo !

[2] Comentário enviado por hideoux em 25/12/2011 - 19:02h

LEGAL demais!!!
ainda bem que TODO MUNDO sabe que software é esse e para que serve!!!!
porque seu artigo não dá nenhuma explicação!
E logo virão ovadas para cima de mim: "procura no GOOGLE"... "vai você e escreve o artigo, então..."

[3] Comentário enviado por tosko em 26/12/2011 - 02:30h

é vverdade o comentario do amigo... pra que serve esse trem? é di cume ou de passa no cabelo?

[4] Comentário enviado por leandrojpg em 26/12/2011 - 09:05h

Seguinte não me importo a mínima com os comentários que mais dão ovadas, acredito que ao contrário de ficar reclamando é so perguntar, não tenho problema nenhum em responder, mas agora ficar reclamando só para diminuir o trabalho dos outros aí não dá.

[5] Comentário enviado por ejales em 26/12/2011 - 10:10h

Muito bom o seu artigo Leandro. Já conhecia essa dupla em outras versões. Para ficar um pouco mais completo acho que você deveria ter acrescentado o mon. Nas versões que eu usava o heartbeat não verificava se o serviço estava ou não no ar, apenas se a máquina estava "ligada". O mon poderia verficar os serviços ativos e dar essa resposta ao heartbeat. Parabéns pelo artigo.

[6] Comentário enviado por vandocouto em 26/12/2011 - 16:46h

Galera,

vamos pegar leve com o colega, tenho certeza que foi feito com muito esforço o trabalho desenvolvido.
Não podemos esquecer da Liberdade de Conhecimento.

Abs,

Evandro Couto
https://tutoriaisgnulinux.com

[7] Comentário enviado por edgaroliveirace em 26/12/2011 - 17:07h

http://ha-mc.org/node/15
achei esse site explicando. muito bem explicado!

[8] Comentário enviado por rodrigom em 26/12/2011 - 23:03h

Parabéns ao amigo que escreveu o artigo, "Alta disponibilidade" que esta no título do artigo, já diz para que serve tudo isso...

[9] Comentário enviado por gdtec em 26/12/2011 - 23:30h

Parabéns pelo artigo Leandro,

Já enfrentei a mesma dificuldade a tempos atrás a procura de um bom artigo que realmente fosse esclarecedor. Todas as ferramentas citadas no artigos são excelentes, mais infelizmente quando se quer fazer algo de qualidade se tratando de HA, pesquisas e mais pesquisas são fundamentais. Aproveitando o gancho dos amigos acima, vejo que os comentários não estão sendo sob o contexto profissional, e sim no intuito de reduzir a valia do conteúdo. Creio que a galera deve gostar é de RWINDOWS....

Abraços,,

[10] Comentário enviado por leandrojpg em 27/12/2011 - 10:13h

Agradeço imensamente todos os comentários dos amigos realmente, esse material foi feito com muito esforço para comunidade, sempre haverá os pessimistas, mas para os que gostaram agradeço de coração e ainda que existam críticas sejam ela construtivas ou não, ja aviso vou continuar postando. obrigado.

Heartbeat

O Heartbeat pode ser considerado o núcleo do ambiente de alta disponibilidade, pois é sua a responsabilidade de monitorar os servidores em produção e, em caso de falha, realizar automaticamente os procedimentos para preservar o funcionamento do sistema como um todo.

Através de um meio de comunicação, que pode ser Ethernet ou Serial, um servidor redundante verifica a disponibilidade do servidor em produção enviando-lhe uma mensagem e exigindo a resposta. Essa checagem é feita entre as instâncias do Heartbeat instaladas nos dois servidores. Se por algum motivo o servidor em produção não responder, ele será considerado indisponível, e então o Heartbeat do servidor redundante automaticamente providencia a configuração e inicilialização dos serviços locais, além de outros recursos, como o endereço IP, partições de disco, etc.

Um ponto importante de observação é que o próprio Heartbeat controla a inicilialização de determinados serviços e recursos dos servidores, como o Apache e o endereço IP virtual. Logo, eles não devem ser configurados para inicializar durante o boot do sistema operacional, apenas no Heartbeat.

Heartbeat é um software que provê Alta Disponibilidade para as mais variadas aplicações, como DHCP, HTTP, DB2 além de muitas outras.


O que é DRBD ?

É a acrónimo para o nome inglês Distributed Replicated Block Device. O DRBD consiste num módulo para o núcleo Linux que, juntamente com alguns scripts, oferece um dispositivo de bloco projectado para disponibilizar dispositivos de armazenamento distribuídos, geralmente utilizado em clusters de alta disponibilidade. Isto é feito espelhando conjuntos de blocos via rede (dedicada). O DRBD funciona, portanto, como um sistema RAID baseado em rede.
Como trabalha

Cada dispositivo envolvido (tratados localmente como partições) tem um estatuto, que pode ser primário ou secundário. O DRBD cria, em todos os nós, um vínculo entre um dispositivo virtual (/dev/nbX) e uma partição local, inacessível diretamente. Toda a escrita é realizada no nodo primário, que irá transferir os dados para o “dispositivo de bloco do nível mais baixo” (a partição) e propagá-los para os restantes nodos, de estatuto “secundário”. O secundário simplesmente transfere os dados no “dispositivo de bloco do nível mais baixo”. As leituras são sempre realizadas localmente.

Fonte: http://tutoriaisgnulinux.com

[11] Comentário enviado por manoserpa em 22/04/2012 - 10:55h

Opa!

Muito bom o artigo, parabéns!

Sabe se existe o HACient disponível nessa versão do Debian, no Lenny utilizava para configurar os serviços e tals.

Valeu.

[12] Comentário enviado por Tacioandrade em 14/07/2012 - 09:48h

Amigo eu estou com uma duvida aqui no seu artigo. Estou tentando implementar um Cluster de HA aqui no VirtualBox com 2 VMs rodando Debian Squeeze, até ai normal, porem eu gostaria de sincronizar não um diretório qualquer, gostaria de montar uma maquina espelho nos nós filhos.

Tentei montar compartilhando o /dev/sda2 que é a partição / (onde para testes está todo o disco).

Será que existe a opção de fazer desta forma?

Outra duvida minha, se eu tiver 2 ou mais partições para sincronizar, como devo proceder?



Att. Tácio Andrade.

[13] Comentário enviado por leandrojpg em 14/07/2012 - 10:19h

E ai Tácio tranquilo né, então cara a ideia do DRBD é replicar partição e não um disco como um todo, e a resposta diretamente ja foi dada pois o procedimento é o mesmo utilizado para a replicacao da primeira particao.
Ou seja particao /var voce vai monta-la em um disco sdba( disco deve estar vazio) ai entao ela sera replicada e o processo se repete para quais particoes voce quere replicar. se nao ficou claro me adicione nos meios de comunicacao gtalk. leandrojpg@gmail.com msn leandrojpg@hotmail.com, grande abraco vai ser um prazer contribuir com voce

[14] Comentário enviado por Tacioandrade em 14/07/2012 - 10:36h

Compreendi agora, para "resolver" esse problema então pelo visto o rsync a cada x segundos pode ser uma solução. Vou lhe adicionar no GTalk sim, porem hoje só estou "brincando com a tecnologia" de Alta Disponibilidade, para implementar realmente só terei tempo após o FISL.


Mais obrigado mesmo pela dica.


Abraço.

[15] Comentário enviado por leandrojpg em 14/07/2012 - 10:39h

Entao cara que bom que compreendeu, mas nao é necessario rsync nao o proprio drbd usa metodos de replicação, pode entender o drbd como um raid 1 via rede ele mesmo trata de replicar isso pela rede.

[16] Comentário enviado por Tacioandrade em 14/07/2012 - 10:50h

No caso eu sitei o rsync, pois posso fazer de todo o / excluindo apenas os diretórios que não quiser sincronizar como /etc/network, /dev, etc. =)

[17] Comentário enviado por cardoso_29 em 29/10/2013 - 21:52h

Oi Boa Noite estou Precisando montar um cluster mais so rodar o heartbeat em 2 maquinas virtuais, segui estat tutorial mais só a parte do heartbeat mais da um erro authkeys [r=6] alguem poderia me ajudar ??

[18] Comentário enviado por leandrojpg em 30/10/2013 - 07:40h

Cara sugirio voce revisar os passos contidos no tutorial pois o mesmo foi testado e aplicado com sucesso. tente senao consegui volte a me chamar

[19] Comentário enviado por mbrainiac em 31/10/2013 - 00:03h


[17] Comentário enviado por cardoso_29 em 29/10/2013 - 21:52h:

Oi Boa Noite estou Precisando montar um cluster mais so rodar o heartbeat em 2 maquinas virtuais, segui estat tutorial mais só a parte do heartbeat mais da um erro authkeys [r=6] alguem poderia me ajudar ??



Fala meu amigo, estou no circuito.

Vou mexer amanhã com DEbian 7 LXDE.

Abração

[20] Comentário enviado por mbrainiac em 01/11/2013 - 11:06h

Caro Leandro,

Estou com uma pequena dúvida.

em /etc/drbd.d/r0.res

r(ZEro) ou r(Letra "O" maiúscula)?


valeu

[21] Comentário enviado por mbrainiac em 01/11/2013 - 16:31h

Caro leandro,

Não ligue para as critícas idiotas, é gente querendo aparecer.

Configurou em nat ou bridge as MV's?

na segunda página após executar os primeiro comandos aparece:

'r0' ignored since this host (<hostname>)is not mentioned with an 'on' keyword.


Minhas interfaces

node1
auto eth0
iface eth0 inet static
address 192.168.254.14
netmask 255.255.255.0
network 192.168.254.0

node2
auto eth0
iface eth0 inet static
address 192.168.254.15
netmask 255.255.255.0
network 192.168.254.0

Agradeço qualquer ajuda


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts