Configurando o Heartbeat :: Admirável Mundo Novo




Muito Bem Vindo

Prezado Leitor, a proposta desse Blog é compartilhar conhecimento com as pessoas que trabalham com Linux, Asterisk, OpenSER, e com tecnologia de voz sobre a rede IP em geral, através de tutoriais, dicas, howto, notícias entre outros assuntos.

Atente para termo de uso do conteúdo do blog no rodapé da página.

segunda-feira, 30 de junho de 2008

Configurando o Heartbeat

Configurando o Heartbeat

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 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 é 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 de ping. Estess 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ê 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!



> Configurando o ipfail ...



Nenhum comentário:




Creative Commons License
Admirável Mundo Novo: Tudo Sobre Asterisk, OpenSER, Linux e Tecnologias de Voz sobre IP
by Cléviton Mendes de Araújo is licensed under a Creative Commons Atribuição 2.5 Brasil License.