Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze

Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze.

[ Hits: 39.876 ]

Por: Douglas Q. dos Santos em 25/08/2012 | Blog: http://wiki.douglasqsantos.com.br


Plus de Heartbeat



Pense que você precisa fazer o HA de um servidor de FW, por exemplo.

O que tem de diferente? Você poderia perguntar.

Pense nas interfaces de rede: Temos no mínimo 2 interfaces, uma WAN e uma LAN. Neste caso, precisaríamos configurar o Heartbeat para atribuir endereços virtuais para as duas interfaces.

Vamos a um exemplo, vou utilizar as interfaces de bond mesmo.

Agora vamos instalar o Heartbeat no srv02:

# aptitude update && aptitude dist-upgrade -y && apt-get install heartbeat heartbeat-dev -y

Agora vamos acertar a configuração do Heartbeat:

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

Edite:

# Informe os nomes dos computadores que formam a replicação(deve ser igual a saída do comando "uname -n
node srv01
node srv02

# Qual a interface vai ser usada para comunicação
mcast bond0 225.0.0.1 694 1 0
mcast bond1 225.0.0.1 694 1 0

# Fazer com que a máquina principal receba seus serviços quando retornar a ativa
auto_failback on

# Arquivos de log
debugfile /var/log/ha-debug
logfile /var/log/ha-log

# Freqüência, em segundos, da verificação das máquinas
keepalive 1

# Tempo mínimo para declarar a outra máquina como morta
deadtime 5


Agora, vamos acertar a configuração do nosso IP compartilhado pelo Heartbeat:

# vim /etc/ha.d/haresources

srv01 IPaddr::10.101.0.27/24/bond0/10.101.0.255
srv01 IPaddr::172.20.0.27/24/bond0/172.20.0.255


Agora, vamos acertar o arquivo com a senha de autenticação entre os Heartbeats:

# vim /etc/ha.d/authkeys

auth 3
3 md5 h34rt64t


Agora vamos acertar as permissões do arquivo de senha:

# chmod 600 /etc/ha.d/authkeys

Agora vamos reiniciar o Heartbeat nos dois servidores:

# /etc/init.d/heartbeat restart

Agora vamos consultar as interfaces no servidor srv01:

# ifconfig

Resultado:
bond0  Link encap:Ethernet Endereço de HW 08:00:27:3f:b0:b8
           inet end.: 10.101.0.25 Bcast:10.101.0.255 Masc:255.255.255.0
           endereço inet6: fe80::a00:27ff:fe3f:b0b8/64 Escopo:Link
           UP BROADCASTRUNNING MASTER MULTICAST MTU:1500 Métrica:1
           RX packets:28239 errors:0 dropped:0 overruns:0 frame:0
           TX packets:1356 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:0
           RX bytes:2576871 (2.4 MiB) TX bytes:464634 (453.7 KiB)

bond0:0  Link encap:Ethernet Endereço de HW 08:00:27:3f:b0:b8
           inet end.: 10.101.0.27 Bcast:10.101.0.255 Masc:255.255.255.0
           UP BROADCASTRUNNING MASTER MULTICAST MTU:1500 Métrica:1

bond1  Link encap:Ethernet Endereço de HW 08:00:27:ff:cd:7c
           inet end.: 172.20.0.25 Bcast:172.20.0.255 Masc:255.255.255.0
           endereço inet6: fe80::a00:27ff:feff:cd7c/64 Escopo:Link
           UP BROADCASTRUNNING MASTER MULTICAST MTU:1500 Métrica:1
           RX packets:204376 errors:0 dropped:0 overruns:0 frame:0
           TX packets:36125 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:0
           RX bytes:230398360 (219.7 MiB) TX bytes:9571891 (9.1 MiB)

bond1:0  Link encap:Ethernet Endereço de HW 08:00:27:ff:cd:7c
           inet end.: 172.20.0.27 Bcast:172.20.0.255 Masc:255.255.255.0
           UP BROADCASTRUNNING MASTER MULTICAST MTU:1500 Métrica:1

eth0    Link encap:Ethernet Endereço de HW 08:00:27:3f:b0:b8
           UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1
           RX packets:14227 errors:0 dropped:0 overruns:0 frame:0
           TX packets:684 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:1000
           RX bytes:1300809 (1.2 MiB) TX bytes:246914 (241.1 KiB)

eth1    Link encap:Ethernet Endereço de HW 08:00:27:3f:b0:b8
           UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1
           RX packets:14012 errors:0 dropped:0 overruns:0 frame:0
           TX packets:672 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:1000
           RX bytes:1276062 (1.2 MiB) TX bytes:217720 (212.6 KiB)

eth2    Link encap:Ethernet Endereço de HW 08:00:27:ff:cd:7c
           UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1
           RX packets:190049 errors:0 dropped:0 overruns:0 frame:0
           TX packets:18077 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:1000
           RX bytes:229048128 (218.4 MiB) TX bytes:4820003 (4.5 MiB)

eth3    Link encap:Ethernet Endereço de HW 08:00:27:ff:cd:7c
           UP BROADCASTRUNNING SLAVE MULTICAST MTU:1500 Métrica:1
           RX packets:14327 errors:0 dropped:0 overruns:0 frame:0
           TX packets:18048 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:1000
           RX bytes:1350232 (1.2 MiB) TX bytes:4751888 (4.5 MiB)

lo        Link encap:Loopback Local
           inet end.: 127.0.0.1 Masc:255.0.0.0
           endereço inet6: ::1/128 Escopo:Máquina
           UP LOOPBACKRUNNING MTU:16436 Métrica:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           colisões:0 txqueuelen:0
           RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)


Aqui, o que é preciso mudar são as interfaces, caso não trabalhe com o bond e os endereços IPs. ;)

Referências


Artigo previamente publicado em:

Página anterior    

Páginas do artigo
   1. Introdução
   2. Instalação e configuração do Bond
   3. Instalação e configuração do Heartbeat
   4. Instalação e configuração do DRBD + OCFS2
   5. Plus de Heartbeat
Outros artigos deste autor

IDS com Snort + Guardian + Debian Lenny

Alta disponibilidade com Debian Lenny + Heartbeat + DRBD8 + OCFS2 + MONIT + LVS

Bind9 slave em chroot no Debian Lenny

Bind9 em chroot no Debian Lenny

Um pouco sobre IPtables

Leitura recomendada

Colocando ícones no menu do Fluxbox

Certificação Linux, minha experiência com a LPI 101

Acessando mainframes IBM a partir do Ubuntu

DrQueue + Blender = Render Farm para mortais

Usando o Firefox 3 sem perder alguns programas do Acer Aspire One

  
Comentários
[1] Comentário enviado por danniel-lara em 25/08/2012 - 13:57h

Parabéns pelo artigo
muito bom mesmo

[2] Comentário enviado por rafael.mendes em 31/08/2012 - 19:21h

excelente artigo!!!

[3] Comentário enviado por tborri em 20/02/2013 - 23:42h

Parabéns pelo artigo, encontrei alguns problemas estou utilizando Debian Squeeze 6.0.6
1º os módulos cn e drbd não carregavam tive que adicionar manual em
# /etc/modules
cn
drbd

2º quando carrega dava erro no mount.ocfs2 /etc/fstab
resolvi com estes cabeçalhos dos scripts
drbd

# /etc/init.d/drbd
# Default-Start: 2 3 4 5

o2cb

#!/bin/bash
# init fragment for O2CB.
#
# chkconfig: 2345 24 20
# description: Load O2CB cluster services at system boot.
#
### BEGIN INIT INFO
# Provides: o2cb
# Required-Start: $local_fs $network $syslog drbd
# Required-Stop: $local_fs $network $syslog drbd
# Should-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Load O2CB cluster services at system boot.
# Description: Load O2CB cluster services at system boot.
### END INIT INFO

ocfs2

#! /bin/bash
# Copyright (c) 2005 Oracle
# All rights reserved.
#
# chkconfig: 2345 25 19
# description: Mount OCFS2 volumes at boot.
#
### BEGIN INIT INFO
# Provides: ocfs2
# Required-Start: $local_fs $network $syslog o2cb
# Required-Stop: $local_fs $network $syslog o2cb
# X-UnitedLinux-Should-Start:
# X-UnitedLinux-Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Mount OCFS2 volumes at boot.
# Description: Mount OCFS2 volumes at boot.
### END INIT INFO

e a ordem de inicialização dos serviços continuaram a mesma

insserv -r -v ocfs2
insserv -r -v o2cb
insserv -r -v drbd

depois

insserv -f -v drbd
insserv -f -v o2cb
insserv -f -v ocfs2

e tudo funcionando, parabéns mais uma vez pelo artigo!!!

[4] Comentário enviado por Jonatas_rc2 em 04/06/2013 - 16:08h

Douglas,

Parabéns pelo artigo. Mas se possível me tire uma dúvida:

É possível fazer essa solução funcionar em um servidor Linux que tenha uma aplicação web? exemplo..

No meu trabalho tem um linux com o apache tomcat, e esse teu artigo me abriu os olhos quanto a isso. Tenho pouca experiência com Linux. Mas é possível?


Grato

[5] Comentário enviado por douglas_dksh em 06/06/2013 - 10:07h

Cara você pode sim.

Eu tenho isso implementado em alguns clientes, para servidores web, email e outros.

Não sei como você está fazendo a instalação do tomcat eu sempre faço pelos binários que baixo não instalo por pacotes, se fizer assim é so colocar o tomcat no drbd e fazer os clientes utilizarem o endereço ip do heartbeat.

qualquer coisa tem mais algumas coisas no meu site www.douglas.wiki.br

[6] Comentário enviado por rafaelmcosta em 20/10/2013 - 13:10h

Muito bom o artigo.

Uma duvida, pq vc coloca o default start do drbd assim?

/etc/init.d/drbd

# Deixe a opção Default-Start como abaixo
# Default-Start: S

Teve algum problema ao deixar 2 3 4 5?

Outra coisa, a montagem pelo /etc/fstab foi sem problemas? Aqui sempre reclama, uma vez que o DRBD e OCFS2 sobem depois.

[7] Comentário enviado por bruno-debian em 03/02/2014 - 16:51h

Muito F***. Me ajudou muito fera ! Obrigado por compartilhar !

[8] Comentário enviado por wagnerfs em 21/08/2014 - 10:34h

Parabéns pelo artigo e por difundir o conhecimento.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts