配置 Heartbeat 运行 shell 脚本

配置 Heartbeat 运行 shell 脚本

我建立了一个高可用性系统心跳,我希望当主集群出现掉线并且辅助集群被激活时,Heartbeat 在其中启动并执行一个 shell 脚本。

  • 内容/etc/ha.d/haresources

    master IPaddr::10.0.0.1/24 test.sh
    
  • 内容/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
    

我授予脚本执行权限并将其放在路径中/etc/init.d/,但仍然无法通过 Heartbeat 执行它,这种类型的过程可行吗?

答案1

有很多不同的方法可以实现这一点。

你可以把脚本放入/etc/init.d/但您需要确保它符合 LSB 标准:http://www.linux-ha.org/wiki/LSB_Resource_Agents

您可以为 Pacemaker 编写一个 OCF 资源代理:http://www.linux-ha.org/doc/dev-guides/ra-dev-guide.html

或者您可以尝试使用 ocf:heartbeat:anything 资源代理。它可以运行任意命令,但需要设置/要求。在其中一个节点上运行以下命令以了解更多信息:# crm ra info ocf:heartbeat:anything

相关内容