Dando Incio com Alta Disponibilidade Linux (Heartbeat)


Introduo

Deixem-me dar uma introduo sobre este documento dizendo que ele _no_  um 
trabalho original. Meu propsito para escrever este documento  somente 
tentar contribuir de alguma maneira a fornecer ajuda aqueles que REALMENTE 
utilizam coisas prontas. O "trabalho" que eu estou contribuindo , na sua 
maioria, um compilado de bits e pedaos de outros documentos sobre Alta 
Disponibilidade (como o Guia de Instalao de Hardware de Volker Wiegand) em 
um documento que pode ajudar novatos a se iniciarem em um ambiente de Alta 
Disponibilidade sem encher a pacincia de Alan (como eu fiz!) e diminuir a 
quantidade de questes repetidas nas listas de discusses.


Iniciando

A primeira coisa que iremos precisar so dois computadores. Voc no precisa 
ter hardware idntico em ambas as mquinas (quantidade de memria, etc.), 
mas se voc as tem, tornariam a sua vida mais fcil quando um dos 
componentes falhar.
Agora voc tem que decidir alguma implementao. Seu "cluster" est 
estabelecido via um "heartbeat" entre os dois computadores (nodos) gerados 
por um software de mesmo nome. Entretanto, este heartbeat necessita de um ou 
mais caminhos para comunicao (serial via um cable modem, ethernet via cabo 
crossover, etc.) entre os nodos.

Neste ponto, voc est pronto para iniciar o sistema.  claro, se voc est 
trabalhando com um ambiente de Alta Disponibilidade, ir provavelmente 
desejar evitar principalmente um ponto de falha. Neste caso seria cable 
modem/serial ou uma interface de rede (NIC)/cabo crossover. Ento, voc 
precisa decidir se vai adicionar um segundo modem serial ou uma segunda NIC 
para a conexo para cada nodo. Veja o Apndice A para instrues de como 
construir um cabo crossover Categoria 5. Minha configurao do heartbeat 
utiliza um porta serial e uma NIC extra porque eu tinha somente um cable 
modem, tinha uma NIC extra na mo e achei que seria bom ter dois tipos de 
caminhos para os heartbeats.

Uma vez em ordem seu equipamento, deve-se instalar o sistema operacional e 
configurar a rede (eu utilizei o Red Hat). Assumindo que voc tenha 2 NICs, 
uma deve ser configurada para sua rede "normal" e a outra como uma rede 
privada entre os nodos do cluster (via cabo crossover). Por exemplo, iremos 
assumir que nosso cluster tem os seguintes endereos:


Nodo 1 (linuxha1):   192.168.85.1  (rede normal 192x)
                     10.0.0.1 (rede privada 10x para o heartbeat)
Nodo 2 (linuxha2):   192.168.85.2  (192x)
                     10.0.0.2  (10x)

Obs:  Nenhum desses endereos deve ser utilizado para ser o endereo do seu 
cluster - o endereo controlado pelo heartbeat  "passado" entre os nodos!

Na maioria das distribuies Unix/Linux isto  fcil de fazer durante a 
instalao, entretanto, se voc tiver problemas, procure algum Ethernet 
HOWTO ou a documentao da sua distribuio. Confira sua configurao 
atravs do comando:

	ifconfig

Isto ir mostrar suas interfaces de rede e as suas configuraes. Voc pode 
obter informao de roteamento de sua rede com o comando "netstat -nr".

Tenha certeza que voce pode "pingar" ambos os nodos em todas as interfaces.

A seguir, se voc estiver usando somente a interface serial, precisar 
testar sua conexo. Em um nodo, que ser o receptor, entre com o comando:

	cat < /dev/ttyS0

No outro nodo, entre com:

	echo Ola > /dev/ttyS0


Voc dever ver o texto no nodo receptor. Se isso ocorrer, realize o mesmo 
procedimento, invertendo os nodos. Se isso no ocorrer, pode ser um simples 
problema de arquivo de dispositivo errado. O Guia de Hardware de Alta 
Disponibilidade de Volker e o Serial HOWTO so dois bons recursos para 
resolver problemas com sua conexo serial.


Instalando o Heartbeat

Agora voc pode instalar o pacote do heartbeat. Se voc est lendo isto, 
voc j deve possu-lo, mas por garantia, ele est disponvel em:
	http://linux-ha.org/download

H os binrios RPM no website, ou voc pode compilar o heartbeat atravs do 
cdigo-fonte. Use o arquivo no formato tar (ou instale os fontes RPM). 
Descompacte em seu diretrio favorito. Na raiz dessa nova pasta entre com 
"./ConfigureMe configure", seguido de "make" e "make install". Se voc tiver 
problemas com a instalao dos pacotes RPM localizados no site e deseje 
fazer por conta prpria, pode obter ajuda no FAQ.


Configurando o Heartbeat

Configurando ha.cf


H trs arquivos que voc precisar configurar antes de iniciar o Heartbeat. 
O Primeiro  ha.cf. Este estar localizado no diretrio /etc/ha.d que  
criado aps a instalao. Ele informa ao Heartbeat quais tipos de caminhos a 
serem usados e como configur-los. O arquivo ha.cf no diretrio fonte contm 
todos os vrios tipos de opes que voc pode usar, eu irei explicar linha 
por linha...

serial /dev/ttyS0

Usa um heartbeat serial - se voc no usar heartbeat serial, deve utilizar 
outro meio, como um heartbeat broadcast (ethernet). Substitua /dev/ttyS0 
pelo arquivo do dispositivo apropriado para o heartbeat serial.

watchdog /dev/watchdog

Opcional. A funo watchdog fornece uma maneira de ter um sistema que esteja 
funcionando ainda que minimamente, mas no esteja fornecendo o heartbeat, 
reinicia-se sozinho depois de um minuto estando com problemas. Isto pode 
ajudar a evitar um cenrio onde a mquina recupere o heartbeat depois de ter 
anunciado estar "morto" (dead). Se isto acontece e um disco montado falhar, 
voc pode ter dois nodos montando um disco simultaneamente. Se voc deseja 
usar esta caracterstica, ento, voc precisar carregar o mdulo "softdog" 
do kernel e criar um arquivo para o dispositivo. Para fazer isso, primeiro 
entre com o comando "insmod softdog" para carregar o mdulo. Ento, entre 
com "grep misc | /pro/devices" e veja o nmero informado (deve ser 10). Em 
seguida entre com "cat /proc/misc | grep watchdog" e veja o nmero (deve ser 
130). Agora voc pode criar o arquivo do dispositivo com "mknod 
/dev/watchdog c 10 130".

bcast eth1
Especificao para usar um heartbeat broadcast atravs da interface eth1 
(substitua por eth0, eth2 ou qualquer outra que voc quiser utilizar).

keepalive 2
Configura o tempo entre os heartbeats em 2 segundos.

warntime 10
Tempo em segundos antes de escrever um aviso de "heartbeat atrasado" nos 
logs.

deadtime 30
O nodo  considerado morto (inativo) depois de 30 segundos.

initdead 120
Em algumas configuraes, a rede espera um tempo para iniciar o servio 
depois de uma reinicializao. Isto  um "deadtime" separado para controlar 
este caso. Ele deve ao menos ser o dobro do tempo do deadtime normal.

hopfudge 1
Opcional. Para topologias em anel,  o nmero de saltos permitidos em adio 
ao nmero de nodos no cluster.

baud 19200
Velocidade de transmisso do canal serial (em bps).

udpport 694
Usa a porta 694 para udp. Est a porta padro,  o nmero de porta oficial 
registrado.

nice_failback on
Opcional. Para os que esto familiarizado com Tru64 Unix, o heartbeat atua 
como um "se" em um modo "membro favorecido". O mestre retm todos os 
recursos at ocorrer uma falha que o retire de funcionamento (failover), , 
ento, quando o escravo assume os servios para si. Uma vez o mestre retorne 
a funcionar, ele retoma tudo novamente. Esta opo evitar que o mestre 
retome os servios quando retornar a funcionar normalmente.

node linuxha1.linux-ha.org
Obrigatrio. Hostname da mquina no cluster de acordo com o descrito no 
comando "uname -n".

node linuxha2.linux-ha.org
Obrigatrio. Hostname da mquina no cluster de acordo com o descrito no 
comando "uname -n".

respawn userid cmd
Opcional: Lista um comando a ser gerado e monitorado. Exemplo: para gerar o 
daemon "ccm" a seguinte linha tem que ser adicionada:

respawn hacluster /usr/lib/heartbeat/ccm

Informa ao heartbeat para criar o comando com as credenciais daquele userid 
(hacluster, neste exemplo) e monitorar a sade do processo, recriando se 
morrer (dead). Para "ipfail", a linha seria:

respawn hacluster /usr/lib/heartbeat/ipfail

OBS: Se o processo morre com cdigo de sada 100, o processo no  criado.

ping ping1.linux.-ha.org ping2.linux2.linux-ha.org
Opcional: Especifica nodos para ping. Estes nodos no so considerados como 
nodos do cluster. Eles so utilizados para verificar a conectividade da rede 
para mdulos como ipfail.


Configurando o arquivo haresources

Uma vez configurado o arquivo ha.cf, voc precisa configurar o arquivo 
haresources. Este arquivo especifica os servios para o cluster e quem  o 
mestre padro.

OBS: ESTE ARQUIVO DEVE SER O MESMO EM AMBOS OS NODOS!

Para o nosso exemplo, iremos assumir que os servios de alta disponibilidade 
so Apache e Samba.
O endereo IP para o cluster  obrigatrio, e no pode ser configurado fora 
do arquivo haresources!

O arquivo haresources precisar da linha:

linuxha1-linux-ha.org 192.168.85.3 httpd smb

Ento, esta linha informa que na inicializao, linuxha1 tem que servir o 
endereo IP 192.168.85.3 e iniciar o processo do Apache e do Samba.
Quando o sistema for ser desligado, o heartbeat primeiro para o smb, o 
apache e libera o IP. Isso assumindo que o comando "uname -n" deixou 
"linuxha1.linux-ha.org" somente em "linuxha1".

Obs: httpd e smb so os nomes dos scripts de inicializao para o Apache e o 
Samba, respectivamente.

Heartbeat ir procurar por scripts de inicializao de mesmo nome nos 
seguintes diretrios:

/etc/ha.d/resource.d
/etc/rc.d/init.d

Estes scripts devem iniciar os servios via "nome_do_script start" e parar 
via "nome_do_script stop". Ento voc pode utilizar quaisquer servios se 
estes estiverem de acordo com o padro.

Se voc precisar passar argumentos para um script personalizado, o formato 
deve ser:

nome_do_script::argumento

Ento, se adicionarmos um servio "maid" precisando do argumento "vacuum", 
nossa linha no haresources deveria ser modificada para:

linuxha1.linux-ha.org 192.168.85.3 httpd smb maid::vacuum

Isso nos traz alguma flexibilidade com o endereo de servio IP. Estamos 
atualmente utilizando uma abreviao. A atual linha pode ser escrita (aqui 
retiramos o maid):

linuxha1 IPaddr::192.168.85.3 httpd smb

Onde IPaddr  o mesmo nome do nosso script de servio, utilizando o 
argumento 192.168.85.3. Se voc der uma olhada no diretrio 
/etc/ha.d/resource.d, voc encontrar um script chamado IPaddr. Este script 
tambm permitir manipular a mscara de rede, endereo de broadcast e 
interface bsica deste servio IP. Para especificar uma sub-rede com 32 
endereos, voc pode definir o servio como (deixando IPAddr de fora, porque 
ns podemos!):

  linuxha1 192.168.85.3/27 httpd smb

Isso configura o endereo do servio IP para 192.168.85.3, a mscara para 
255.255.255.224 e o endereo de broadcast para 192.168.85.31 (que  o 
endereo mais alto na sub-rede). O ltimo parmetro que voc pode configurar 
 o endereo de broadcast. Para sobrescrever o padro e configurar para 
192.168.85.16, sua entrada deveria ser:

linuxha1 192.168.85.3/27/192.168.85.16 httpd smb

Voc pode estar se perguntando se tudo isso  necessrio para voc. Depende. 
Se voc tiver uma rota de rede estabelecida (independente de heartbeat) para 
os endereos IP dos servios, com a mscara e endereo de broadcast 
corretos, ento no, no  necessrio para voc. Entretanto, este caso pode 
no estar disponvel para todos e  por isso que est a! Em adio, voc 
pode ter mais que uma possvel interface que possa ser utilizada para o IP 
do servio. Continue lendo para ver como o heartbeat lida com isso...
Uma vez que voc deixe em ordem seu arquivo haresources, copie ha.cf e 
haresources para /etc/ha.d e voc est pronto para iniciar!


Escolhendo uma Interface

Um aspecto importante de configurao do arquivo haresources para uma 
mquina que tm mltiplas interfaces ethernet  saber qual interface o 
heartbeat escolhe para suportar os endereos do servio que esto 
configurados no haresources. Depois de tudo, nenhuma interface foi 
especificada no arquivo haresources.
Heartbeat assume qual interface ser utilizada verificando a tabela de 
roteamento. Ele tenta escolher a rota de menor custo para o endereo IP. No 
caso de empate, ele escolhe a primeira rota encontrada. Para a maioria das 
configuraes isto significa que a rota escolhida ser a menos utilizada.

Se voc no especificar uma mscara de rede para o endereo IP no arquivo 
haresources, a mscara de rede associada com a rota escolhida ser a 
utilizada. Do mesmo modo, se uma interface no foi especificada, ento o 
endereo ip virtual ser adicionado na interface associada com a rota 
selecionada. Se o endereo de broadcast  omitido ento o endereo mais alto 
na sub-rede  utilizado.


Configurando o Authkeys

O terceiro arquivo para configurar determina suas chaves de autenticao. H 
trs tipos de mtodos de autenticao disponveis: crc, md5 e sha1. "Bem, 
qual eu deveria usar?", voc deve estar se perguntando. Como este documento 
 chamado "Dando Incio", iremos mant-lo simples...

Se seu heartbeat estiver rodando sobre uma rede secura, como em uma rede 
crossover, igual ao nosso exemplo, voc desejar utilizar o crc. Este  o 
mtodo que exige menos recursos (processamento). Se a rede  insegura, mas 
voc no no est muito paranico ou est interessado em minimizar os 
recursos de CPU, utilize o md5. Finalmente, se voc quer a melhor 
autenticao sem se preocupar com os recursos de CPU, use o sha1.  o mais 
difcil de ser quebrado.

O formato do arquivo  o seguinte:

auth <nmero>
<nmero> <mtodo_de_autenticao> [<chave_de_autenticao>]

Ento, para sha1, um exemplo em /etc/ha.d/authkeys poderia ser:

auth 1
1 sha1 texto-sendo-qualquer-coisa-para-a-chave

Para md5, voc poderia usar o mesmo do anterior, mas trocando "sha1" por 
"md5".

Finalmente, para crc, um exemplo poderia ser:

auth 2
2 crc

Qualquer que seja o ndice colocado depois da palavra chave de autenticao 
deve estar localizado abaixo nas chaves listadas no arquivo. Se voc colocar 
"auth 4", ento aqui deve estar uma linha "4 tipo_de_assinatura" listado 
abaixo.

Tenha certeza que as permisses do arquivo estejam seguras, como 600. E o 
"texto sendo qualquer coisa para a chave" no seja fcil de ser descoberto. 
H um limite para o nmero de caracteres que voc pode utilizar.

 isso!


Iniciando e Testando o Heartbeat


No Red Hat, ou outras distribuies que use /etc/init.d para encontrar os 
arquivos de inicializao, simplesmente entre com "/etc/init.d/heartbeat 
start" em ambos os nodos. Eu recomendaria iniciar o mestre primeiro 
(linuxha1, no nosso exemplo).
Se voc desejar que o heartbeat inicie sozinho na inicializao do sistema, 
o que fazer pode ser diferente em sua distribuio. Voc pode precisar 
colocar links para o script de inicializao no diretrio nvel de 
inicializao apropriado, mas as verses RPM iro fazer isso pra voc. Eu 
tenho iniciado o heartbeart com sua prioridade sequencial padro (75, que 
significa iniciar depois dos servios 74 e menores e depois dos servios 
76-99), e termine com a prioridade sequencial padro (05), importando 
somente os nveis 0(halt), 6(reboot), 3(somente_texto), 5(X).

Ento, se voc quer fazer isso manualmente, precisar digitar o seguinte 
(como root,  claro):

cd /etc/rc.d/rc0.d ; ln -s ../init.d/heartbeat K05heartbeat
cd /etc/rc.d/rc3.d ; ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc5.d ; ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc6.d ; ln -s ../init.d/heartbeat K05heartbeat

Da ltima vez que eu rodei o Slackware, no havia o diretrio 
/etc/rc.d/init.d (pode ser que agora tenha) e fez a mesma coisa, eu teria 
colocado em /etc/rc.d/rc.local:

/etc/ha.d/heartbeat start

*** Isto assumindo que voc copiou ha.rc para /etc/ha.d/heartbeat. Se voc 
no encontrar /etc/rc.d/init.d em sua distribuio e estiver incerto sobre 
como os processos iniciam, voc pode usar o mtodo rc.local. Mas se voc 
est no seu prprio para desligar, eu simplesmente no me recordo...

Obs: Se voc usa a funo watchdog, voc precisar carreg-lo como mdulo na 
inicializao. Voc pode colocar o seguinte comando no final do arquivo 
/etc/rc.d/rc.sysinit:

/sbin/insmod softdog

Para o mtodo rc.local, simplesmente coloque a mesma linha onde voc inicia 
o heartbeat

Uma vez iniciado o heartbeat, de uma olhada em seu arquivo de log (o padro 
 /var/log/ha-log) antes de test-lo. Se estiver tudo detalhadamente, no log 
deve estar descrito algo do tipo:

heartbeat: 2003/02/10_13:52:22 info: Neither logfile nor logfacility found.
heartbeat: 2003/02/10_13:52:22 info: Logging defaulting to /var/log/ha-log
heartbeat: 2003/02/10_13:52:22 info: **************************
heartbeat: 2003/02/10_13:52:22 info: Configuration validated. Starting 
heartbeat 0.4.9f
heartbeat: 2003/02/10_13:52:22 info: nice_failback is in effect.
heartbeat: 2003/02/10_13:52:22 info: heartbeat: version 0.4.9f
heartbeat: 2003/02/10_13:52:22 info: Heartbeat generation: 17
heartbeat: 2003/02/10_13:52:22 info: Starting serial heartbeat on tty 
/dev/ttyS0 (19200 baud)
heartbeat: 2003/02/10_13:52:22 info: UDP Broadcast heartbeat started on port 
694 (694) interface eth1
heartbeat: 2003/02/10_13:52:23 info: pid 28140 locked in memory.
heartbeat: 2003/02/10_13:52:23 info: pid 28137 locked in memory.
heartbeat: 2003/02/10_13:52:23 info: pid 28139 locked in memory.
heartbeat: 2003/02/10_13:52:23 notice: Using watchdog device: /dev/watchdog
heartbeat: 2003/02/10_13:52:23 info: pid 28141 locked in memory.
heartbeat: 2003/02/10_13:52:23 info: Local status now set to: 'up'
heartbeat: 2003/02/10_13:52:23 info: pid 28138 locked in memory.
heartbeat: 2003/02/10_13:52:23 info: pid 28134 locked in memory.
heartbeat: 2003/02/10_13:52:25 info: Link linuxha1.linux-ha.org:eth1 up.
heartbeat: 2003/02/10_13:53:23 WARN: node linuxha2.linux-ha.org: is dead
heartbeat: 2003/02/10_13:53:23 info: Dead node linuxha2.linux-ha.org held no 
resources.
heartbeat: 2003/02/10_13:53:23 info: Resources being acquired from 
linuxha2.linux-ha.org.
heartbeat: 2003/02/10_13:53:23 info: Local status now set to: 'active'
heartbeat: 2003/02/10_13:53:23 info: Running /etc/ha.d/rc.d/status status
heartbeat: 2003/02/10_13:53:23 info: /usr/lib/heartbeat/mach_down: 
nice_failback: acquiring foreign resources
heartbeat: 2003/02/10_13:53:23 info: mach_down takeover complete.
heartbeat: 2003/02/10_13:53:23 info: mach_down takeover complete for node 
linuxha2.linux-ha.org.
heartbeat: 2003/02/10_13:53:23 info: Acquiring resource group: 
linuxha1.linux-ha.org 192.168.85.3 datadisk::drbd0 datadisk::drbd1 mirror
heartbeat: 2003/02/10_13:53:23 info: Running /etc/ha.d/resource.d/IPaddr 
192.168.85.3 start
heartbeat: 2003/02/10_13:53:23 info: /sbin/ifconfig eth0:0 192.168.85.3 
netmask 255.255.255.0  broadcast 192.168.85.255
heartbeat: 2003/02/10_13:53:23 info: Sending Gratuitous Arp for 192.168.85.3 
on eth0:0 [eth0]
heartbeat: 2003/02/10_13:53:23 /usr/lib/heartbeat/send_arp eth0 192.168.85.3 
00304823BD48 192.168.85.3 ffffffffffff
heartbeat: 2003/02/10_13:53:24 info: Running /etc/ha.d/resource.d/datadisk 
drbd0 start
heartbeat: 2003/02/10_13:53:24 info: Running /etc/ha.d/resource.d/datadisk 
drbd1 start
heartbeat: 2003/02/10_13:53:25 info: Running /etc/ha.d/resource.d/mirror  
start
heartbeat: 2003/02/10_13:53:25 /usr/lib/heartbeat/send_arp eth0 192.168.85.3 
00304823BD48 192.168.85.3 ffffffffffff
heartbeat: 2003/02/10_13:53:26 info: Resource acquisition completed.
heartbeat: 2003/02/10_13:53:28 /usr/lib/heartbeat/send_arp eth0 192.168.85.3 
00304823BD48 192.168.85.3 ffffffffffff
heartbeat: 2003/02/10_13:53:30 /usr/lib/heartbeat/send_arp eth0 192.168.85.3 
00304823BD48 192.168.85.3 ffffffffffff
heartbeat: 2003/02/10_13:53:32 /usr/lib/heartbeat/send_arp eth0 192.168.85.3 
00304823BD48 192.168.85.3 ffffffffffff
heartbeat: 2003/02/10_13:53:33 info: Local Resource acquisition completed. 
(none)
heartbeat: 2003/02/10_13:53:33 info: local resource transition completed.
heartbeat: 2003/02/10_13:56:30 info: Link linuxha2.linux-ha.org:eth1 up.
heartbeat: 2003/02/10_13:56:30 info: Status update for node 
linuxha2.linux-ha.org: status up
heartbeat: 2003/02/10_13:56:30 info: Running /etc/ha.d/rc.d/status status
heartbeat: 2003/02/10_13:56:30 info: Status update for node 
linuxha2.linux-ha.org: status active
heartbeat: 2003/02/10_13:56:30 info: remote resource transition completed.
heartbeat: 2003/02/10_13:56:30 info: Running /etc/ha.d/rc.d/status status
heartbeat: 2003/02/10_13:56:31 info: Link linuxha2.linux-ha.org:/dev/ttyS0 
up.

OBS: Seu log pode ser diferente dependendo de quando voc iniciou o 
heartbeat em linuxha2!!! Eu inicie o heartbeat em linuxha2 as @13:56:30...


OK, agora tente pingar o IP do cluster (192.168.85.3 no exemplo). Se ele 
responde, entre como Telnet (ssh) e verifique se voc est no linuxha1.
Em seguida, tenha certeza que os servios disponveis para o endereo .3 . 
Com o netscape, v ao endereo 192.168.85.3. Para o Samba tente mapear o 
drive "\\192.168.85.3\teste" assumindo que tem um compartilhamento com o 
nome "teste". Veja a documentao do Samba para saber como fazer. Como de um 
lado, entretanto, voc desejar utilizar o parmetro "netbios name" para ter 
seu compartilhamento Samba listado no nome do cluster e no no hostname de 
seu membro do cluster!

OBS: Se voc no conseguir acessar o endereo IP do servio e encontrar no 
log algo similar a:

SIOCSIFADDR: No such device
SIOCSIFFLAGS: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
SIOCSIFFLAGS: No such device
SIOCADDRT: No such device

Pode ser que voce precise habilitar IP aliasing no seu kernel (e 
recompilar). Verifique /usr/src/linux/.config para "CONFIG_IP_ALIAS=y", se 
voc no tiver, encontrar a linha "CONFIG_IP_ALIAS is not set". Recompile 
seu kernel com IP aliasing habilitado.


Se tudo for feito, voc tem disponibilidade. Agora vamos ver se voc tem 
Alta Disponibilidade :-)
Derrube linuxha1. Desligue a energia, pare o heartbeat se voc tiver 
estmago, mas no remova os cabos seriais e da interface eth1. Se voc fizer 
isso, voc ter servios rodando em ambas as mquinas e quando reconectar o 
heartbeat, ser um verdadeiro caos...
Agora ping o IP do cluster. Aproximadamente 5-10 segundos depois dever 
voltar a responder novamente. Entre com Telnet (ou ssh) novamente e 
verifique se voc est em linuxha2. Se isso acontecer mas levar mais que 30 
segundos, algo est errado.

Se voc obter isso longe, ele provavelmente est trabalhando, mas voc deve 
verificar todos os seus heartbeat tambm.
Primeiro, verifique seu heartbeat serial. Desconecte o cabo crossover de sua 
NIC eth1 que est sendo utilizada para o heartbeat udp. Espere em torno de 
10 segundos.
Agora veja em /var/log/ha-log em linuxha2 e tenha certeza que no h a 
linha:

1999/08/16_12:40:58 node linuxha1.linux-ha.org: is dead

Se voc encontrou, seu heartbeat serial no est trabalhando e seu segundo 
nodo est tomando posse. Para evitar este problema, desligue o heartbeat no 
primeiro nodo, ento teste seu cabo. Rode a serial e teste novamente.

Se seu log estiver limpo, beleza! Reconecte o cabo crossover. Uma vez feito 
isso, desconecte o cabo serial, espere 10 segundos e verifique o log de 
linuxha2 novamente.
Se estiver limpo, parabns! Se no, voc pode verificar /var/log/ha-log e 
/var/log/ha-debug para mais pistas.

Apndice A - Construo de um Cabo Crossover

Seu diagrama de cabo deve ser o seguinte:

Conector A	Conector B

Pino # 		Pin #
  1 		  3
  2 		  6
  3 		  1
  6 		  2
  4 		  7
  5 		  8
  7 		  4
  8 		  5



---------------------------------------------------
Rev 1.2.0
(c) 2003 Rudy Pawul
rpawul@iso-ne.com

Traduo: Mauro Alexandre Nogueira (Mandcap) <mauronogueira@pop.com.br>

