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

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

[ Hits: 39.188 ]

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

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

Apache em chroot + MySQL + PHP + mod_security + mod_evasive + vsftpd + Fail2ban + Debian Squeeze

IDS com Snort + Guardian + Debian Lenny

Debian Lenny com Kernel 2.6.28 + Layer7 + Firewall

Bind9 em chroot no Debian Lenny

Leitura recomendada

Software Manivela VS Software Modinha

Apache + SSL + PostgreSQL + Mod_auth_pgsql + PHP

Instalação automatizada de servidores com Kickstart (parte 2)

LPI - Certificação Profissional Linux

Usando G4U, ProFTP e DHCP para clonar partições pela rede

  
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