Configurando o Heartbeat para executar script de shell

Configurando o Heartbeat para executar script de shell

Eu configurei um sistema de alta disponibilidade comBatimento cardiaco, gostaria que quando houvesse uma queda no cluster principal e o cluster secundário fosse ativado, o Heartbeat iniciasse nele e executasse um shell script.

  • Conteúdo de/etc/ha.d/haresources

    master IPaddr::10.0.0.1/24 test.sh
    
  • Conteúdo de/etc/ha.d/ha.cf

    autojoin none
    debugfile /var/log/ha-debug
    logfile /var/log/ha-log
    logfacility local0
    ucast ens32 10.0.0.3 
    ucast ens32 10.0.0.2
    udpport 694 
    use_logd yes
    keepalive 1
    deadtime 10
    warntime 5
    initdead 20
    node master
    node slave
    auto_failback on
    

Dei permissão de execução para o script e coloquei no path /etc/init.d/, mas ainda não consegui executar através do Heartbeat, esse tipo de procedimento é possível?

Responder1

Existem algumas maneiras diferentes de conseguir isso.

Você pode inserir um script /etc/init.d/, mas precisará ter certeza de que é compatível com LSB:http://www.linux-ha.org/wiki/LSB_Resource_Agents

Você poderia escrever um agente de recursos OCF para o Pacemaker:http://www.linux-ha.org/doc/dev-guides/ra-dev-guide.html

Ou você pode tentar usar o agente de recursos ocf:heartbeat:anything. Ele pode executar um comando arbitrário, mas há configurações/requisitos envolvidos. Execute o seguinte comando em um de seus nós para saber mais:# crm ra info ocf:heartbeat:anything

informação relacionada