Questões Frequentemente Perguntadas e Dicas


1. Hey! Isto não se parece com um FAQ! O que ele me oferece?
2. O que é um cluster?
3. O que é um script de recurso?
4. Como monitorar vários recursos?
5. Toda vez que minha máquina libera um alias IP, ele perde a interface toda 
(isto é, eth0)! Como eu posso fixá-lo?
6. Eu quero muitos endereços IP como recursos (mais de 8). Qual é a melhor 
maneira?
7. A documentação indica que uma linha serial é obrigatória, mas quando eu 
comento a linha no arquivo de configuração e uso somente duas conexões 
ethernet percebi que trabalham bem.
8. Qual é a diferença entre normal e nice failback?
9. Como usar o heartbeat com o firewall ipchains?
10. Como sintonizar o heartbeat em sistemas com carga pesada?
11. Quando eu tento iniciar o heartbeat recebo a mensagem:
"Starting High-Availability services: Heartbeat failure [rc=1]. Failed.
e não há nada em qualquer arquivo de log. O que está errado?
12. Como rodar multíplos clusters no mesmo segmento de rede?
13. Como pegar a última versão do CVS do heartbeat?
14. Heartbeat em outros SOs.
15. Se nada me ajuda, o que eu devo fazer?

------------------------------------------------------------------------------

1.
---
Acabe suas cólicas! Precisamos de um documento "pega-tudo" para suprir 
informações úteis de um modo que foi facilmente referenciado e que 
cresceriam sem um monte de trabalho. Ele termina em um FAQ mais que qualquer 
outra coisa.

2.
---
HA (cluster de Alta Disponibilidade) - Isto é um cluster que permite um host 
(ou hosts) tornarem-se Altamente Disponíveis, que significa que se um nodo 
falha (ou um serviço que o nodo fornece falha) outro nodo assume o serviço 
ou nodo e passa a responder pela máquina que falhou. http://www.linu-ha.org/
Cluster de processamento - Isto é o que um cluster Beowulf é. Permite 
processamento distribuído através de componentes de prateleira. Neste caso é 
usualmente barato máquinas IA32. http://www.beowulf.org/
Cluster de balanceamento de carga - Isto é o projeto Linux Virtual Server 
faz. Neste cenário você tem uma máquina com balanço de cargo em requisições 
para um certo servidor (apache por exemplo) através de uma fazenda de 
servidores. http://www.linuxvirtualserver.org/
Todos esses sites possuem howtos, etc. Para uma visão geral sobre clustering 
sob Linux, consulte o Clustering HOWTO.

3.
---
Script de recurso são basicamente (extendido) scripts de inicialização 
System V. Eles possuem suporte as operações stop (parar), start (iniciar) e 
status (estado). No futuro adicionaremos também suporte para um operação 
"monitor" para monitoramento de serviços assim que você os requisitar. O 
script IPaddr implementa esta nova operação monitor agora (mas o heartbeat 
não usa esta função dele). Para mais informações veja Resource HOWTO.

4.
---
O Heartbeat por si só não foi designado para monitorar vários recursos. Se 
você presisa monitorar alguns recursos (por exemplo, disponibilidade de um 
servidor WWW) você precisa de algum terceiro grupo de software. Uma boa 
solução é o mon.
1. Pegue o mon
   http://kernel.org/software/mon

2. Pegue todos os módulos requeridos listados. Você pode localizá-los em um 
mirror mais próximo ou no arquivo CPAN )www.cpan.org). Eu não estou muito 
familiarizado com Perl, então eu baixei-o do arquivo CPAN em pacotes .tar.gz 
e instalei-os do modo usual (perl Makefile.pl && make && make test && make 
install).

3. Mon é um software para monitoramento diferente dos recursos da rede. Ele 
pode pingar computadores, conectar-se por várias portas, monitorar WWW, 
MySQL, etc. No caso de uma disfunção de alguns recursos ele dispara scripts.

4. Descompacte o mon em algum diretório. O melhor ponto de partida é o 
arquivo README. A documentação completa está em <dir>/doc, onde <dir> está 
localizado onde você descompactou o mon.

5. Para um rápido início faça os seguintes passos:
Copie todos os subdiretórios localizados em <dir> para /usr/lib/mon
Crie o diretório /etc/mon
Copie auth.cf de <dir>/etc para /etc/mon

Agora, o mon está preparado para trabalhar. Você precisa criar seu próprio 
arquivo mon.cf, onde você informar os recursos que o mon deve verificar e 
quais ações o mon irá iniciar em caso de disfunção e quando recursos estão 
disponíveis novamente. Todos os scripts de monitoramento estão em 
/usr/lib/mon/mon.d/. No início (cabeçalho) de cada script você pode 
localizar uma explicação de como usá-lo.
Todos os scripts de alerta estão localizados em /usr/lib/mon/alert.d/. Esses 
scripts são disparados quando algo estiver errado. No caso você está usando 
ipvs em sua homepage (www.linuxvirtualserver) você pode localizar scripts 
para adicionar e remover servidores da lista ipvs.

5.
---
Isto não é um problema com o heartbeat, mas ao contrário é causado por 
várias versões de ferramentas de rede. Atualize para as versões mais 
recentes das ferramentas de rede e elas irão longe. Você pode testá-las com 
ifconfig manualmente.

6.
---
Ao invés de falhar muitos endereços IP, somente falha um endereço do 
roteador. No seu roteador, faça a "route add -net x.x.x.0/24 gw x.x.x.2", 
onde x.x.x.2 é o endereço IP controlado pelo heartbeat. Então, faça todos os 
endereços com x.x.x.0/24 que você quiser para falhar um alias permanente de 
lo0 em AMBOS os nodos do cluster. Isto é feito via "ifconfig lo:2 x.x.x.3 
netmask 255.255.255.255 -arp" etc...

7.
---
Ele trabalhará, entretanto se alguma coisa fizer sua ethernet / pilha de IP 
falhar, você perderá ambas as conexões. Você definitivamente deve rodar 
cabos diferentes, dependendo de quão importante seus dados são...

8.
---
Modo normal failback:
Neste modo, uma das duas máquinas é designada como fornecedor preferido de 
um dado grupo de recursos. Se a máquina está no ar, então ela sempre irá ser 
fornecedora de todo o grupo de recursos para o qual ele é designado. Falhas 
ocorrem quando esta máquina sai de serviço, e quando ela retorna (failback). 
Neste modo é requerido se você deseja uma configuração ativa-ativa.
Modo nice failback:
Neste modo, não há afinidade natural entre um grupo de recursos e um nodo 
particular no cluster (arquivo haresources não se opondo). Ao invés disso, 
há uma afinidade entre um grupo de recursos e qualquer máquina que está 
atualmente rodando. Falhas ocorrem *somente* quando uma máquina que está 
fornecendo um serviço sai de funcionamento. Não há o conceito de failback 
neste modo. Este modo minimiza interrupções de serviço, mas não pode rodar 
uma configuração ativa-ativa.

9.
---
Para fazer o heartbeat trabalhar com ipchains, você deve aceitar tráfego de 
entrada e saída na porta UDP 694. Adicione algo como
/sbin/ipchains -A output -i ethN -p udp -s <IP_origem>  -d <IP_destino> -j 
ACCEPT
/sbin/ipchains -A input -i ethN -p udp -s <IP_origem> -d <IP_destino>  -j 
ACCEPT

10.
---
Existe a probabilidade que o padrão não esteja de acordo para a maioria dos 
sistemas linux sob carga pesada (desculpe!), aqui está a sugestão:
Configure deadtime para 60 segundos ou mais
Configura warntime para qualquer coisa que você *desejar* que seu deadtime 
seja.
Rode seu sistema sob carga pesada por algumas semanas.
Veja em seus logs o tempo que seu sistema ficou sem ouvir um heartbeat.
Configure seu deadtime para 1,5 - 2 vezes o que você encontrou. Configure o 
warntime para o valor que você encontrou nos logs.
Continue a monitorar os logs para avisos sobre tempos de heartbeat longos.

11.
---
Provavelmente é um problema de permissão no arquivo authkeys. Ele precisa 
estar em modo de somente leitura (400, 600 ou 700). Dependendo de onde e 
quando o heartbeat descobrir o problema, a mensagem estará localizada em 
diferentes locais.
Mas, ele tende a estar em
a) stdout/stderr
b) qualquer lugar que você especificou em sua configuração
c) /var/log/messages

12.
---
Utilizar multicast e pegar cada um de seus próprio grupo multicast. Se você 
precisa/quer usar broadcast, então rode cada cluster em números de portas 
diferentes.

13.
---
Há um depósito CVS para Linux-HA. Você pode encontrá-lo em cvs.linux-ha.org. 
Acesse somente leitura via usuário guest, senha guest, nome de módulo 
linux-ha. Mais detalhes estão localizados no email do anunciante. Está 
disponível também através da web utilizando viewcvs em 
http://cvs.linux-ha.org/viewcvs.cgi/linux-ha

14.
---
Heartbeat está sendo portado atualmente para usar automake.

15.
---
Por favor esteja certo que você leu toda a documentação e procurou nos 
arquivos das listas de discussões. Se você continuar não encontrando uma 
solução você pode postar para a lista de discussão. Por favor inclua o 
seguinte:
- Qual SO você está utilizando.
- Qual versão (distro/kernel).
- Como você instalou o heartbeat (tar.gz, rpm, src.rpm ou instalação 
manual).
- Inclua os seus logs que descrevem o erro. Envie-os como anexos. Por favor 
não envie logs "limpos". Os logs reais tem mais informação neles do que 
versões limpas. Sempre inclua pelo menos  uma pequena informação irrelevante 
ante e depois dos eventos em questão, então saberemos que você não se 
esqueceu de nada. Não edit os logs a menos que você realmente tenha algo 
super-secreto ou razão de alta-segurança para fazer isso.

------------------------------------------------------------------------------

Rev 0.0.5
(c) 2000 Rudy Pawul rpawul@iso-ne.com
(c) 2001 Dusan Djordjevic dj.dule@linux.org.yu

Tradução: Mauro Alexandre Nogueira (Mandcap) <mauronogueira@pop.com.br>

