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.739 ]

Por: Leandro Paulo em 24/12/2011


Acertar repositórios



Escolha um editor de textos de sua preferência e adicione estas linhas em seu "sources.list":

# REPOSITÓRIO OFICIAL

deb ftp://ftp.br.debian.org/debian squeeze main contrib non-free
deb-src ftp://ftp.br.debian.org/debian squeeze main contrib non-free

# REPOSITÓRIO DE ATUALIZAÇÕES DE SEGURANCA

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

# REPOSITÓRIO DE ATUALIZAÇÕES PROPOSTAS

deb ftp://ftp.br.debian.org/debian squeeze-proposed-updates main contrib non-free
deb-src ftp://ftp.br.debian.org/debian squeeze-proposed-updates main contrib non-free


Após, salve e feche o "sources.list" e aplique no terminal:

# aptitude update

Acertar o arquivo nas duas máquinas:

# vim /etc/hosts

127.0.0.1         localhost
192.168.254.14    node1.local       node1
192.168.254.15    node2.local       node2  


Por se tratar de um sistema de alta disponibilidade, é importante manter a sincronia também da hora do sistema.

Executar nos dois nós:

# aptitude install ntpdate tzdata
# ntpdate a.ntp.br
# hwclock --systohc


Instalar o DRBD

# aptitude install drbd8-utils

Carregar os módulos, faça isso nas duas máquinas:

# modprobe cn
# modprobe drbd


Configurando o DRBD e inserir o seguinte parâmetro ( logo abaixo do comando ):

# vim /etc/drbd.d/global_common.conf

global {
    usage-count no;


Este arquivo deve existir nas 2 máquinas.

# vim /etc/drbd.d/r0.res

#!/bin/bash


resource r0    {
protocol C;
handlers           {
         pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
         pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
         local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
         pri-lost "echo primary DRBD lost  | mail -s ‘DRBD Alert’ adm@gmail.com adm@gmail.com";
         }
startup        {
         degr-wfc-timeout 60;    
      }
disk            {
         on-io-error   detach;
      }
net            {
         sndbuf-size 512k;
         timeout       60;    
         connect-int   12;   
         ping-int      12;  
         ping-timeout   9; 
         max-buffers     20480;
         cram-hmac-alg "sha1";
         shared-secret "ff3421bc"; 
         after-sb-0pri discard-older-primary;
         after-sb-1pri violently-as0p;
         after-sb-2pri disconnect;
         rr-conflict disconnect;
      }
syncer            {
         rate 100M;                                
         al-extents 257;
      }
                on hachi        {
                      device     /dev/drbd0;
                      disk       /dev/sda7;
                      address    192.168.254.14:7793;
                      meta-disk internal;
                      }

                on narnia       {
                      device    /dev/drbd0;
                      disk      /dev/sda7;
                      address   192.168.254.15:7793;
                      meta-disk internal;
                      }
           }


Este arquivo deve existir nas 2 máquinas.

Preparar o disco, faça isso nos dois servidores. Conforme mostra a figura:
Linux: Instalando DRBD + Heartbeat no Debian 6

    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

Viegas Rubim RMS

Nagios - Instalando uma nova interface

Configuração manual dos ponteiros do mouse

Explorando as possibilidades do XFree86

Porque o Linux é difícil

  
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