私たちは、複数のサーバーで実行される(ベンダー提供)分散アプリケーションを扱っています。これらのサーバーは「同じ」ではありません。つまり、セカンダリサーバーを起動する前に、プライマリサーバーを実行している必要があります。
secondary.service
この依存関係をファイルにどのように表現できますか?私は以下が欲しい:
- 起動時に、すべてのセカンダリサーバーのセカンダリサービスはプライマリサービスを待ちます。メインサーバーからまもなく始まります。私はこれがカスタマイズによって達成できることを知っています。しかし、それは補助サービスセクションの(または)条項
ExecStartPre
に属するようです。After
ユーティリティにはオプションがあります。ファイル内でリモートサービスを参照する同様の構文はありますか?Require
[Unit]
systemctl
--host
.service
- プライマリサービスが終了すると、セカンダリサービスもすべて終了します。
- プライマリサービスが復元されると、セカンダリサービスもすべて開始されます。
- 最初の2つは基本サービスの明示的な通知に基づいており、定期的にステータスを確認して、基本サービスがダウンしたときの状況を把握できます。突然。
systemdの独自のメカニズムを使用して上記のいずれかの操作を実行できますか?それとも、各セカンダリサーバーに別々のヘルスモニタリングサービスを実装する必要がありますか?
私たちはsystemdがやや古いバージョンの219であるRHEL7を使用しています。また、重要な場合に言及されているすべてのサービスは、systemd --user
「システム」ではなく以下で実行されます。