当本地 shell 脚本返回错误时停止起搏器节点?

当本地 shell 脚本返回错误时停止起搏器节点?

是否可以使pacemaker在本地测试脚本失败时停止节点,并在本地测试脚本再次返回true时启动节点?

这似乎是一个非常简单的问题,但由于我在pacemaker中找不到任何方法来做到这一点,我将在所有节点上运行以下shell脚本:

while true; do
  
  pcs status 2>/dev/null >/dev/null && node_running=true
  /is_node_healthy.sh && node_healthy=true

  [[ -v node_running ]] && ! [[ -v node_healthy ]] && pcs cluster stop
  [[ -v node_healthy ]] && ! [[ -v node_running ]] && pcs cluster start

  unset node_running node_healthy
  sleep 10
done

这正是我想要的,但在我眼中看起来像是一个非常肮脏的黑客。有没有更优雅的方法来让起搏器本身完成同样的事情?

顺便说一句:我想要解决的总体任务似乎很简单:创建一个 ha 集群,将公共 IP 地址分配给重要主机,可以使用 /is_node_healthy.sh 检查活力

相关内容