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

Por: Leandro Paulo em 24/12/2011


Criar os meta-dados e a partição



Obs.: Executar estes comandos nas duas máquinas.

Inicializando os recursos (como observado, executar nas 2 máquinas):

# drbdadm create-md r0
# modprobe drbd
# drbdadm up r0


Sincronizando pela primeira vez ( executar somente no primeiro nó ):

# drbdadm -- --overwrite-data-of-peer primary r0

Aguardar a finalização do sincronismo. O tempo depende do tamanho do recurso e velocidade da conexão entre os nós. Os logs podem ser acompanhados com o comando:

cat /proc/drbd

Após a sincronia, o log deverá ter a seguinte saída:

version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----    ns:247044 nr:0 dw:0 dr:253992 al:0 bm:14 lo:1 pe:46 ua:211 ap:0 ep:1 wo:b os:4750388
        [>...................] sync'ed:  5.0% (4636/4876)M
        finish: 0:04:42 speed: 16,640 (24,560) K/sec


Iniciando o servico do DRBD ( executar nos dois nós ):

# /etc/init.d/drbd start

Formatando o dispositivos criados nos passos anteriores (somente no primeiro nó):

# mkfs.ext4 /dev/drbd0
# mkdir /dados   #nome do diretório opcional - executa nos dois nós
# mount -t ext4 /dev/drbd0 /dados #executar no nó primário


Para certificar se realmente o dispositivo foi montado, digite:

df-h

Verifique se o diretório "/dados" foi montado.

Realizando testes

Crie um arquivo no diretório onde foi montado o DRBD, por exemplo:

# cd /dados
# touch teste


Desmonte o dispositivo:

# cd /
# umount /dados


Torne o nó primário em secundário:

# drbdadm secondary all

Tornar a outra máquina como primária. Na outra máquina digite:

# drbdadm primary all

Montar o dispositivo na nova máquina primária:

# mount -t ext4 /dev/drbd0 /dados

Verificar se o arquivo criado no nó primário antigo, existe na nova primária.
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

Servidor de Banco de Dados + Servidor Web PHP

Gerenciador de programas no pQui Linux

Configurando Wireless-USB Bright-0091

Criação de usuário, grupo e permissão

nginx em conjunto com Apache - Instalação e configuração no Debian e derivados

  
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