0

サーバーのパッチ適用やその他の追加メンテナンスのために、R&D Linux および Windows サーバーを定期的に再起動しています。多くの異なるサービスと開発環境がサーバーでホストされており、サーバーの再起動の前後に停止/開始する必要があります。

Puppet を使用してサービスを開始し、サービスが作業時間内に (デーモンとして) 実行されるようにすることができます。サーバーを再起動する前に、Puppet を使用してサービスを停止できますか? 起動マニフェストと停止マニフェストを別々に書き、起動マニフェストを無効にしてから、停止マニフェストを手動で適用することを考えています。

ただし、サービスの開始マニフェストが無効になっておらず、「再起動」が依存するリソースがサービスを停止しようとしている場合、デーモン エージェントはサービスの開始を維持することを保証しています。その後どうなるか気になります。

何か案が?

4

2 に答える 2

0

私の提案は、インストルメンテーションを導入することです(構成管理は別として)。MCollective[1] と Nanite[2] を見てください。どちらも、カスタム エージェントを記述してカスタム アクションを実行できます。MCollective には、Puppet と緊密に統合できるという利点があります。これを使用して、展開ワークフローの一部として、サービスなどを停止するカスタム エージェントを作成できます。

  1. http://puppetlabs.com/mcollective/introduction/
  2. https://github.com/ezmobius/nanite
于 2012-09-09T10:49:35.973 に答える
0

はい、できます。

構成に応じて:

  1. puppet が再起動シグナルを送信する場合、次のように ssh 経由で再起動する前にコマンドを実行できます。
ssh user@machine "command"

コマンドは次のとおりです。

service your_service stop
  1. マシンがいつ再起動/シャットダウンするかを puppet が認識できない場合は、シャットダウン時にスクリプトを実行する (サービスを停止する) ためにフックを追加できます。
于 2012-09-09T09:28:26.993 に答える