Configurando o Heartbeat
Configurando o arquivo ha.cf
Existem três arquivos que você precisará configurar antes de disparar o Heartbeat. O primeiro é o arquivo ha.cf. Este está colocado no diretório /etc/ha.d que é criado depois da instalação. Ele diz ao Heartbeat quais tipos de caminho de media usar e como configurá-los. O arquivo ha.cf, no diretório fonte, contem todas as várias opções que você pode usar, vou descrevê-lo linha por linha...
serial /dev/ttyS0
Use uma serial heartbeat – se você não usa uma serial heartbeat, você precisa usar outro meio, tal como um bcast heartbeat (Ethernet). Substitua pelo arquivo de dispositivo apropriado /dev/ttyS0 para a sua serial requerida heartbeat.
watchdog /dev/watchdog
Opcional. A função watchdog fornece uma forma de ter um sistema que está ainda funcionando minimamente, mas sem fornecer um heartbeat, reboot em si após um minuto de insuficiência. Isso pode ajudar a evitar um cenário em que a máquina recobre seu heartbeat depois de ter declarado morto. Se isso aconteceu e uma montagem de disco se recuperou da falha, você pode ter dois Nós montando um disco simultaneamente. Se você desejar usar estas características, então além dessa linha, você vai necessitar carregar o módulo do kernel "softdog" e criar o arquivo de dispositivo normal. Para fazer isso, primeiro digite "insmod softdog" para carregar o módulo. Depois, digite "grep misc /proc/devices" e anote o número que ele reporta (deve ser 10). Seguindo, digite "cat /proc/misc | grep watchdog" e note o número (deve ser 130).
Agora você pode criar o arquivo de dispositivo com esta informação, digitando "mknod /dev/watchdog c 10 130".
bcast eth1
Especifica para usar um broadcast heartbeat sobre a interface eth1 (substitua por eth0, eth2, ou aquela que você usa).
keepalive 2
Define o tempo entre mensagens heartbeat como 2 segundos.
warntime 10
O tempo em segundos antes de inserir um aviso "late heartbeat" nos logs.
deadtime 30
O Nó é anunciado morto depois de 30 segundos.
initdead 120
Com algumas configurações, a rede gasta algum tempo para startar o funcionamento depois de um reboot. Esse é um "deadtime" separado para tratar este caso. Deve ser pelo menos duas vezes o deadtime normal.
baud 19200
A velocidade na qual roda a linha serial (bps).
udpport 694
Usa número de porta 694 para as comunicações bcast ou ucast. Esse é padrão, e o número de porta oficial registrada na IANA.
auto_failback on
Exigido. Para aqueles que são familiar com o Tru64 Unix, Heartbeat age como se estivesse no modo "favored member". O master listado no arquivo haresources mantém todos os recursos até um failover, no momento em que o escravo assume as tarefas. Quando o auto_failback é definido em on uma vez o master volte a ficar online, ele vai pegar tudo de volta do escravo. Quando definido em off esta opção vai evitar o nó master de reassumir os recursos depois de um failover. Esta opção é similar à opção obsoleta nice_failback. Se você deseja atualizar um cluster que tinha a opção nice_failback definida em off, para esta ou versões recentes, aplicar considerações especiais a fim de desejar evitar exigência de um corte de flash. Favor veja as FAQ para detalhes de como tratar com esta situação.
node linuxha1.linux-ha.org
Obrigatório. O hostname da máquina no cluster como descrito por uname -n.
node linuxha2.linux-ha.org
Obrigatório. O hostname da máquina no cluster como descrito por uname -n.
respawn userid cmd
Opcional: Lista um comando a ser lançado e monitorado.
Por exemplo: Para executar os daemons ccm a linha seguinte precisa ser acrescentada:
respawn hacluster /usr/lib/heartbeat/ccm
A linha acima informa ao Heartbeat para inserir o comando com as credenciais de identificação desse usuário (nesse exemplo, hacluster) e monitora a saúde do processo, chamando-o novamente se morreu.
Para o ipfail, a linha ficaria:
respawn hacluster /usr/lib/heartbeat/ipfail
NOTA: Se o processo morre com código exit 100, o processo não será chamado de novo.
ping ping1.linux-ha.org ping2.linux-ha.org ....
Opcional: Especifica o nó de ping. Estes nós não são considerados como nós do cluster. Eles são usados para verificar a conectividade da rede para módulos como o ipfail.
ping_group name ping1.linux-ha.org ping2.linux-ha.org ....
Opcional: Especifica um grupo de Nós de ping. Eles são similares ao Nós de ping, porém se algum Nó em um grupo estiver disponível então o grupo é considerado disponível. O nome do grupo pode ser qualquer string e é usada para identificar unicamente o grupo. Cada grupo precisa aparecer em uma linha separada. Igual aos Nós de ping o grupo não é considerado um Nó do cluster. Eles parecem ser o mesmo que os Nós de ping e são usados para verificar a conectividade de rede para módulos como ipfail.
Configurando o arquivo haresources
Uma vez você já tenha configurado seu arquivo ha.cf, você precisa configurar o arquivo haresources. Este arquivo especifica os serviços para o cluster e quem é o proprietário padrão.
Nota: Este arquivo precisa ter conteúdos iguais em ambos os Nós ou coisas ruins acontecerão. Para o nosso exemplo, assumiremos que os serviços de alta disponibilidade são o Apache e o Samba. O endereço IP para o cluster é obrigatório, e não configure o endereço IP do cluster fora do arquivo haresources!. O arquivo haresources vai precisar dessa linha:
linuxha1.linux-ha.org 192.168.85.3 httpd smb
Assim, essa linha ordena que no startup, tenha linuxha1 que serve o endereço IP 192.168.85.3 e starta o Apache e o Samba também. No shutdown, o Heartbeat primeiro vai parar smb, depois o Apache, em seguida libera o endereço IP. Isso assume que o comando "uname -n" cospe "linuxha1.linux-ha.org" – o seu pode muito bem produzir "linuxha1" e se não conseguir, use aquele em vez disso!
Note que: o httpd e o smb são os nomes dos scripts de startup para o Apache e o Samba, respectivamente. O Heartbeat vai procurar os scripts de startup do mesmo nome nos seguintes caminhos:
/etc/ha.d/resource.d
/etc/init.d
Estes scripts precisam dar partida aos serviços via "scriptname start" e pará-los via "scriptname stop". Assim, você pode usar quaisquer serviços tão logo eles estejam em conformidade com o padrão acima. Você deve precisar passar argumentos para um script customizado, o formato seria:
scriptname::argument
Então, se nós acrescentamos um serviço "maid" que necessita do argumento "vacuum", nosso linha no arquivo haresources seria modificado para o seguinte:
linuxha1 192.168.85.3 httpd smb maid::vacuum
Isso nos traz alguma flexibilidade adicionada com o endereço IP do serviço. Nós estamos usando normalmente uma notação estenográfica acima. A linha atual pode ter lido (nós enlatamos o maid):
linuxha1 IPaddr::192.168.85.3 httpd smb
Onde o IPaddr é o nome do nosso script do serviço, tomando o argumento 192.168.85.3. Suficiente seguro, se você olhar no diretório /etc/ha.d/resource.d, você vai encontrar um script chamado IPaddr. Este script também vai permitir você manipular a máscara de rede, endereço de broadcast e a interface base deste endereço IP do serviço.
Para especificar uma sub-rede com endereços de 32, você pode definir o serviço como (deixando de fora o script IPaddr porque nós podemos!):
linuxha1 192.168.85.3/27 httpd smb
Isso define o endereço IP de serviço como 192.168.85.3, a máscara de sub-rede como 255.255.255.224 e o endereço de broadcast ficariam os padrões como 192.168.85.31 (que é o endereço mais alto na sub-rede). O último parâmetro que você pode definir é o endereço de broadcast.
Para cancelar o padrão e defini-lo como 192.168.85.16, sua entrada leria:
linuxha1 192.168.85.3/27/192.168.85.16 httpd smb
Você deve estar curioso se as coisas mostradas acima são necessárias a você. Depende. Se você tem estabelecido adequadamente uma rota de rede (independente do Heartbeat) para o endereço IP do serviço, com a sub-rede correta e endereço de broadcast, então não, não é necessário para você. Contudo, neste caso não se adequa a todos e isso é a razão do porque da opção está lá! Alem do mais, você pode ter mais do que uma interface possível que pode ser usada para o serviço IP. Para continuar a leitura, ver como o Heartbeat trata isso ...
Uma vez você tenha arrumado seu arquivo haresourcese, copie os arquivos ha.cf e haresources para o diretório /etc/ha.d e você esta pronto para startar!
Nenhum comentário:
Postar um comentário