ローカルシェルスクリプトからエラーが返された場合は、Pacemakerノードを停止しますか?

ローカルシェルスクリプトからエラーが返された場合は、Pacemakerノードを停止しますか?

ローカルテストスクリプトが失敗した場合、Facemakerはノードを停止し、ローカルテストスクリプトが再びtrueを返すとノードを起動させることができますか?

これは非常に簡単な質問のように見えますが、Pacemakerでこれを行う方法を見つけることができないので、すべてのノードで次のシェルスクリプトを実行します。

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を使用してステータスを確認できます。

ベストアンサー1

おすすめ記事