Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
14Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Heartbeat

Heartbeat

Ratings:

5.0

(2)
|Views: 4,709|Likes:
Published by api-3838125

More info:

Published by: api-3838125 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, DOC, TXT or read online from Scribd
See More
See less

03/18/2014

pdf

text

original

Heartbeat
Instala\u00e7\u00e3o e configura\u00e7\u00e3o do Heartbeat
Li\u00e7\u00e3o 7 - Instala\u00e7\u00e3o e configura\u00e7\u00e3o do Heartbeat
Heartbeat

Agora que j\u00e1 temos o DRBD instalado nas duas m\u00e1quinas e totalmente funcional, temos que fazer com que o cluster seja capaz de se auto-ajustar em caso de falha, ou seja, se o nodo prim\u00e1rio vier a falhar o secund\u00e1rio tem de assumir todas as suas fun\u00e7\u00f5es, inclusive a replica\u00e7\u00e3o dos dados que, como j\u00e1 foi dito anteriormente, o DRBD n\u00e3o \u00e9 capaz de realizar esse

failover
sozinho.

Heartbeat significa batimento card\u00edaco, a fun\u00e7\u00e3o do programa Heartbeat \u00e9 trocar pulsos entre os nodos para dizer que estes ainda est\u00e3o vivos. Seguindo o nosso exemplo, o Heartbeat troca pulsos (heartbeats) entre os nodos atrav\u00e9s da interface ethernet dedicada entre esses dois n\u00f3s, geralmente \u00e9 recomendado que haja dois canais de comunica\u00e7\u00e3o entre os nodos, um serial e um ethernet, para caso um destes venha a falhar o outro permita a monitora\u00e7\u00e3o pelo Heartbeat. O grande problema de existir apenas uma interface de comunica\u00e7\u00e3o \u00e9 que caso uma placa de rede, por exemplo, queime, ocorreria o que chamamos de Split Brain Syndrome (S\u00edndrome de C\u00e9rebro Dividido), essa situa\u00e7\u00e3o \u00e9 totalmente indesejada. Se essa infeliz falha ocorrer enquanto de um lado o nodo secund\u00e1rio acha que o prim\u00e1rio caiu e assume todos os servi\u00e7os, do outro, o nodo prim\u00e1rio percebe que o secund\u00e1rio caiu mas mesmo assim continua a disponibilizar os servi\u00e7os, isso causar\u00e1 uma confus\u00e3o enorme principalmente se houver uma dase de dados e essa for atualizada nesse intervalo de tempo. Observando ent\u00e3o esse problema notamos que n\u00e3o \u00e9 nada recomend\u00e1vel testar o sistema retirando o cabo de rede ou disabilitando qualquer que seja a interface de comunica\u00e7\u00e3o.

Instalando os pr\u00e9-requisitos

O Heartbeat tamb\u00e9m poderia ser instalado atrav\u00e9s da ferramenta APT, mas pelo mesmo motivo do DRBD instalaremos a
partir de pacotes.
Baixe o pacote do endere\u00e7oh t t p : / / l i n u x- h a . o r g / d o w n lo a d / in d e x . h t m l , aparecer\u00e3o v\u00e1rias op\u00e7\u00f5es mas a abordada aqui
ser\u00e1 a 1.2.4 por isso escolha o pacote heartbeat-1.2.4.tar.gz .

Para

a instala\u00e7\u00e3o do Heartbeat existem alguns programas que s\u00e3o pr\u00e9-requisitos,
esses ser\u00e3o instalados pelo APT pois a instala\u00e7\u00e3o de cada pacote na m\u00e3o
tornaria o curso muito extenso, como eu disse anteriormente, nada
impede que perguntas sejam feitas no f\u00f3rum. Os pacotes s\u00e3o:

\u2022
iproute
\u2022
adduser
\u2022
libc6.1
\u2022
libc6
\u2022
libglib1.2
\u2022
libnet1
\u2022
libpils0
\u2022
libstonith0
\u2022
libatm1
\u2022
libglib2.0-dev
\u2022
libnet1-dev
\u2022
libglib-dev
\u2022
libltdl3-dev
\u2022
zlib1g-dev
\u2022
zlib1g
Algumas dessa ferramentas j\u00e1 devem estar instaladas como o iproute e adduser. Para instalar essas depend\u00eancias damos
ent\u00e3o o comando:
debian:~# apt-get install iproute adduser libc6.1 libc6 libglib1.2 libnet1 ibpils0 libstonith0 libatm1
libglib2.0-dev libnet1-dev libglib-dev libltdl3-dev zlib1g-dev
Os que n\u00e3o forem usu\u00e1rios debian podem ter alguns problemas, mas nada que um pouco de esfor\u00e7o e algumas
perguntas n\u00e3o resolvam no f\u00f3rum.
Instalando o Heartbeat
Vamos instalar ent\u00e3o o Heartbeat. No diret\u00f3rio onde foi baixado o programa d\u00ea o comando para descompactar:
debian:/usr/src# tar zxvf heartbeat-1.2.4.tar.gz
Ser\u00e1 criada ent\u00e3o uma pasta chamada heartbeat-1.2.4, entre nela para fazer a compila\u00e7\u00e3o do programa.

debian:/usr/src# cd heartbeat-1.2.4
debian:/usr/src/heartbeat-1.2.4# ./configure
debian:/usr/src/heartbeat-1.2.4# make clean ; make CC=gcc-3.x

Antes de tudo devemos criar um grupo chamado haclient e um usu\u00e1rio hacluster.
debian:~# addgroup haclient
debian:~# adduser hacluster
debian:/usr/src/heartbeat-1.2.4# make install
Para evitar problemas, vamos utilizar o mesmo compilador do kernel e do DRBD. Em geral, a instala\u00e7\u00e3o do Heartbeat n\u00e3o
cria muitos problemas.
Depois de ter instalado num dos n\u00f3s \u00e9 s\u00f3 instalar no outro, o usu\u00e1rios debian podem fazer uma coisa mais pr\u00e1tica ainda,
criar um pacote para instalar na outra m\u00e1quina sem ter que recompilar. Para criar o pacote damos o comando:
debian:/usr/src/heartbeat-1.2.4# dpkg-buildpackage -us -uc -b
Ser\u00e3o criados v\u00e1rios pacotes .deb, basta copi\u00e1-los para o outro nodo e instalar com o comando:
debian:/usr/src/heartbeat-1.2.4# dpkg -i pacote_a_instalar.deb
Configurando o Heartbeat
Agora que o Heartbeat foi compilado e instalado falta apenas configurar os tr\u00eas scripts de configura\u00e7\u00e3o: ha.cf,
haresources e authkeys.
Agora v\u00e1 no diret\u00f3rio com os fontes e entre no diret\u00f3rio doc onde existem exemplos dos arquivos de configura\u00e7\u00e3o, voc\u00ea
deve copi\u00e1-los para /etc/ha.d, crie essa pasta se ela n\u00e3o existir.

debian:~# cd /usr/src/heartbeat-1.2.4
debian:/usr/src/heartbeat-1.2.4# cd doc
debian:/usr/src/heartbeat-1.2.4/doc# cp ha.cf haresources authkeys /etc/ha.d/

Configurando o ha.cf
O primeiro arquivo a ser configurado \u00e9 o ha.cf, nele ficam as configura\u00e7\u00f5es gerais que dizem respeito ao Heartbeat.
#Define o arquivo de debug, \u00fatil em algumas situa\u00e7\u00f5es
debugfile /var/log/ha-debug
#Define o arquivo com os logs, muito \u00fatil para verificar o funcionamento do programa
logfile /var/log/ha-log
#Define o tempo entre os heartbeats em 2 segundos
keepalive 2
#Um nodo \u00e9 declarado morto ap\u00f3s 30 segundos
deadtime 60
#Tempo antes de enviar um warning de late heartbeat (heartbeat atrasado) para o arquivo de log
warntime 10
#Como algumas redes demoram a funcionar ap\u00f3s a reinicializa\u00e7\u00e3o, esse par\u00e2metro deve ser definido para tratar essa
situa\u00e7\u00e3o (deve ser pelo menos o dobro do deadtime)
initdead 60
#Configura\u00e7\u00e3o da rede
mcast eth0:0 255.0.0.0 694 1 0
#Se essa op\u00e7\u00e3o estiver ativada, supondo que o nodo prim\u00e1rio fique fora do ar, na hora que ele voltar todos os servi\u00e7os
deixar\u00e3o o nodo secund\u00e1rio e voltar\u00e3o para o prim\u00e1rio
auto_failback on
#Os nodos que fazem parte do cluster, a op\u00e7\u00e3o "uname -n" no terminal exibe o nome do nodo
node debian1
node debian 2
Copie este arquivo para o outro nodo, o mesmo deve seri d \u00ea n t i c o nos dois nodos.
Mais informa\u00e7\u00f5es sobre a configura\u00e7\u00e3o do ha.cf:h t t p : / / w w w. l i n u x- h a . o r g / h a . c f
Configurando o haresources
O haresources \u00e9 o arquivo respons\u00e1vel por levantar os servi\u00e7os as serem monitorados, no nosso caso o DRBD e o
apache, este foi definido como o nosso servidor web.
Antes de mais nada vamos instalar o apache:
debian:~# apt-get install apache

N\u00e3o ser\u00e1 abordado o uso do apache neste curso pois o objetivo n\u00e3o \u00e9 ensinar a montar um servidor e sim um sistema de alta disponibilidade. Para testar se o apache foi instalado corretamente simplismente abra um browser qualquer (Firefox, Epiphany, Mozilla ...) e na barra de endere\u00e7os digite "http://localhost", se tudo estiver certo aparecer\u00e1 uma p\u00e1gina de apresenta\u00e7\u00e3o do apache. Depois que o apache foi instalado ele geralmente \u00e9 incializado, fa\u00e7a com que ele pare pois o Heartbeat que deve inicializar todos os programas a serem monitorados.

debian:~# /etc/init.d/apache stop
Agora finalmente vamos configurar o haresources.
debian:~# nano /etc/ha.d/haresources

Basta adicionar a linha:
debian1 IPaddr::10.0.0.100 drbddisk Filesystem::/dev/drbd0::/mnt/dados::ext3 apache
Essa linha diz ao Heartbeat qual o nodo (debian1), o ip do cluster (10.0.0.100) e os programas a serem

inicializados (drbddisk e apache).

Obs1.: O ip do cluster \u00e9 o ip pelo qual o servidor ser\u00e1 acessado, n\u00e3o deve ser definido em nenhum outro
local, nem no /etc/network/interfaces.
Obs2.: O drbddisk fica do diret\u00f3rio /etc/ha.d/resource.d/drbddisk, ele \u00e9 respons\u00e1vel por incializar o DRBD e
todos os procedimentos correlatos.
Obs3.: Alguns par\u00e2metros foram passados no que diz respeito ao sistema de arquivos, esses par\u00e2metros
foram passados para o drbddisk, atitude muito recomendada.

Copie este arquivo para o outro nodo, o mesmo deve serid \u00ea n t i c o nos dois nodos.
Mais informa\u00e7\u00f5es sobre a configura\u00e7\u00e3o do haresources:h t t p : / / w w w . l i n u x - h a . o r g / h a r e s o u r c e s
Configurando o authkeys
O \u00faltimo arquivo a ser configurado \u00e9 o authkeys, nele ficam as informa\u00e7\u00f5es que dizem respeito \u00e0 autentica\u00e7\u00e3o. Podem
ser escolhidos tr\u00eas m\u00e9todos de autentica\u00e7\u00e3o:
\u2022
sha1 - se voc\u00ea quer o m\u00e9todo mais seguro sem se importar com o consumo da CPU, utilize esse m\u00e9todo;
\u2022
md5 - se a rede n\u00e3o \u00e9 segura mas voc\u00ea quer economizar recursos da CPU, utilize esse m\u00e9todo;
\u2022
crc - se o heartbeat est\u00e1 sendo executado em uma rede segura use este m\u00e9todo, \u00e9 o que exige menos recursos.
Para configurar este arquivo:
debian:~# nano /etc/ha.d/authkeys
Para crc adicione as linhas:
auth 2
2 crc
Para md5:
auth 1
1 md5 uma_chave_que_voc\u00ea_desejar

Activity (14)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Ediley Oliveira liked this
chicoinfo541 liked this
aspire1310 liked this
MichaelLeone liked this
augustowebd liked this
Marcos Antonio liked this
FabioBorin liked this
alysonfelipe liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->