私は高可用性システムを構築しましたハートビートメイン クラスターで障害が発生し、セカンダリ クラスターがアクティブ化されたときに、Heartbeat がそこで起動し、シェル スクリプトを実行することを望みます。
の内容
/etc/ha.d/haresourcesmaster IPaddr::10.0.0.1/24 test.shの内容
/etc/ha.d/ha.cfautojoin 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 リソース エージェントを作成できます。ra-dev-guide.html を参照してください。
または、ocf:heartbeat:anything リソース エージェントを使用することもできます。任意のコマンドを実行できますが、セットアップや要件があります。詳細を確認するには、いずれかのノードで次のコマンドを実行します。# crm ra info ocf:heartbeat:anything


