Configurao pelo modo texto
============================
Por: Luis Claudio R. Gonalves (lclaudio at conectiva dot com dot br)
Rascunho do texto para o manual do CL9, edio Servidor.


Definio dos Recursos
----------------------

Edite o arquivo /etc/ha.d/haresources.

Este arquivo contm uma lista dos servios que sero gerenciados pelo heartbeat,
dos endereos IP a serem utilizados e de quem  o servidor primrio para cada
grupo de servios.

Exemplo:

# /etc/ha.d/haresources
#nome-do-nodo  IP-virtual  recurso1  recurso2 ... recursoN
ha1 10.0.17.26 datadisk httpd mysql

Detalhes importantes a respeito desta configurao:

- O "nome-do-nodo" deve ser o nome retornado pela execuo do comando 'uname -n'
  em cada um dos nodos citados no arquivo.

- Os endereos IP listados neste arquivo no devem ser endereos fixos de
  nenhuma mquina na rede. Estes endereos sero adicionados s interfaces
  corretas, pelo heartbeat, quando os servios forem iniciados num dos nodos.
  So os chamados "endereos virtuais" citados na documentao que acompanha
  o heartbeat.

- Os recursos so inicializados na ordem em que so listados, recebendo o
  parmetro "start". So finalizados em ordem inversa, com o parmetro "stop".

- Estes recursos devem comportar-se como initscripts SystemV (scripts de
  inicializao de servios), respeitando o padro LSB para cdigos de retorno
  das operaes start, stop e status.

- Os recursos podem ser outros endereos IP virtuais,


Configurao do cluster
-----------------------

O arquivo responsvel pela configurao do cluster  /etc/ha.d/ha.cf. 

Segue abaixo um exemplo de arquivo de configurao, com as principais opes
devidamente configuradas e comentadas. O arquivo de exemplo que acompanha o
heartbeat possui outras opes mais avanadas, mas desnecessrias para a vasta
maioria das configuraes.

Das vrias possibilidades de configurao do arquivo ha.cf, o indispensvel  um
conjunto de nodos ("node ...") e uma ou mais interfaces ("serial, bcast, mcast
ou ucast").

Excetuando-se a configurao ucast que  diferente nos dois nodos e as
configuraes de porta serial, que podem ser diferentes, o arquivo ha.cf
 igual nos dois nodos.

Segue o arquivo de exemplo:

# /etc/ha.d/ha.cf

# Arquivo para mensagens de depurao (debug)
#debugfile /var/log/ha-debug
#
# Arquivo para armazenar mensagens gerais do cluster
#logfile	/var/log/ha-log

# Enviar mensagens de log e mensagens gerais para o syslog
# (pode ser utilizado em conjunto com as opes acima).
logfacility	local0

# Os tempos podem ser especificados em segundos ou milissegundos.
# A unidade padro  segundos.
# Exemplos:
#          10          significa dez segundos
#          1500ms      significa 1,5 segundos

# keepalive: tempo entre heartbeat (sinais de vida)
keepalive 3

# deadtime: tempo para declarar o nodo como inoperante
deadtime 30

# warntime: quanto tempo esperar antes de emitir o aviso de "late heartbeat"
#           (heartbeat atrasado). Verifique na FAQ como utilizar este
#           parmetro para melhor ajustar o deadtime.
#warntime 10

# initdead: deadtime na inicializao do heartbeat.
#
# Em alguns casos a rede leva algum tempo para tornar-se operante
# aps uma reinicializao do sistema. Para estes casos, existe um
# parmetro (initdead) para controlar o deadtime na inicializao
# do heartbeat. Sugere-se que ele seja no mnimo 2*deadtime.
#initdead 120



# nice_failback: determina o comportamento do cluster com relao
#                aos recursos.
#
# O comportamento padro, equivalente a "nice_failback off",  que
# enquanto o servidor declarado como primrio para um grupo de recursos
# estiver operante, os recursos esto com ele. Caso ele retorne de uma
# falha, os servios retornam para ele (failback).
#
# Com "nice_failback on", caso o servidor secundrio esteja executando os
# servios e o servidor primrio (segundo a configurao) retorne, os servios
# continuam sendo prestados pelo secundrio at que este torne-se inoperante.
#nice_failback on

# Comunicao
#
# udpport: porta udp utilizada para comunicao (694  o padro)
udpport	694

# Interfaces para o envio de heartbeats
#
# bcast: envia heartbeats por broadcast (comportamento padro das verses
#        anteriores).
bcast eth0

# ucast: envia heartbeats para um endereo IP especfico
#        Uso: ucast interface IP-do-outro-nodo
#ucast eth0 192.168.1.2

# mcast: envia heartbeats para um grupo de multicast
#	 Uso: mcast [dev] [mcast group] [port] [ttl] [loop]
#
#	[dev]		dispositivo para envio e recepo de heartbeats
#	[mcast group]	grupo de multicast a usar (end. multicast classe D
#			224.0.0.0 - 239.255.255.255)
#	[port]		porta udp para envio e recepo de heartbeats. Pode
#			ser a mesma usada nos exemplos de bcast e ucast.
#	[ttl]		propagao dos pacotes (heartbeats) enviados. (0-255)
#	[loop]		recebe (1) ou no (0) os prprios heartbeats.

# serial: porta serial utilizada para envio de heartbeats
#
# Consulte a documentao do pacote para maiores informaes sobre a
# confeco de cabos e outros detalhes.	
# Uso: serial porta
#serial	/dev/ttyS0

# baud: velocidade (baud rate) da porta serial...
#baud	19200

# node: lista os nodos do cluster
#       (contm o nome retornado por uname -n)
node	ha1
node	ha2


Chaves de autenticao de mensagens
-----------------------------------

Estas opes so configuradas no arquivo /etc/ha.d/authkeys.

Deve-se selecionar uma das trs possibilidades de autenticao de mensagens,
crc, sha1 ou md5. As duas ltimas pedem uma chave para ser usada na
autenticao.

O arquivo authkeys deve possuir direitos de leitura e escrita apenas para root.
Isso pode ser assegurando executando-se:

chmod 600 /etc/ha.d/authkeys

Segue um exemplo de arquivo de configurao:

# /etc/ha.d/authkeys
#
#auth 1
#1 crc
#2 sha1 chave
#3 md5 chave
auth 2
sha1 mahnamahna

