動作原理

メイン機能

1.設定に応じてDr.Web for UNIX File Serversンポーネントを起動/停止します。動作に障害が発生した場合、コンポーネントを自動的に再起動します。他のコンポーネントのリクエストに応じてコンポーネントを起動します。別のコンポーネントが起動またはシャットダウンしたときに、アクティブなDr.Web for UNIX File Serversコンポーネントに通知します。

2.構成設定へのすべてのコンポーネントの集中アクセスを提供します。設定パラメータを集中管理するためのインターフェースを持つ特別なコンポーネントを提供します。設定の変更についてすべての必須コンポーネントに通知します。

3.使用されているライセンスキーファイルからの情報をコンポーネントに提供します。特別なコンポーネントから新しいライセンス情報を受け取ります。ライセンスデータまたは構成パラメータの変更について、コンポーネントを実行しているDr.Web for UNIX File Serversに通知します。

設定デーモンDr.Web ConfigDは常にroot権限で起動されます。他のDr.Web for UNIX File Serversコンポーネントを起動し、事前に開いているソケットを介してそれらと通信します。設定デーモンは、情報ソケット(公に利用可能)と管理ソケット(スーパーユーザー権限を持つコンポーネントのみ利用可能)を介して他のDr.Web for UNIX File Serversコンポーネントから接続を受け取ります。設定パラメータとライセンスデータをファイルから読み込む、またはDr.Web ES Agentを介して使用されている集中管理サーバーから配信し、設定パラメータをデフォルトの正しい値に置き換えます。そのため、いずれかのコンポーネントが起動したとき、またはSIGHUPシグナルが送信されたとき、設定デーモンにはDr.Web for UNIX File Serversの完全な一貫したパラメータのセットが設定されます。

SIGHUPシグナルを受信すると、設定管理デーモンは設定パラメータとライセンスデータを再度読み込みます。必要に応じて、デーモンはすべてのコンポーネント通知を送信して、設定を再度読み込むように指示します。SIGTERMシグナルを受信すると、デーモンはすべてのコンポーネントをシャットダウンしてから、自身の操作を終了します。デーモンは、シャットダウン後にコンポーネントの一時ファイルもすべて削除します。

通信の原理

1.すべてのコンポーネントは、起動時に設定デーモンDr.Web ConfigDから受信した設定パラメータとライセンスデータのみを使用します。

2.デーモンは、管理されているすべてのコンポーネントから統合ログにメッセージを収集します。コンポーネントからエラーストリームstderrに出力されたすべての情報はデーモンによって収集され、どのコンポーネントがこれを出力したかを示すマークとともにDr.Web for UNIX File Serversの統合ログに書き込まれます。

3.シャットダウンすると、管理されているコンポーネントは終了コードを返します。コードが101、102、または103ではない場合、設定デーモンはこのコンポーネントを再起動します。そのため、コンポーネントが異常終了すると再起動され、stderrからのエラーメッセージがDr.Web for UNIX File Serversのログに登録されます。

コンポーネントがコード101で終了した場合、コンポーネントはライセンスパラメータが変更された後にのみ再起動されます。そのため、ライセンスの制限のためにコンポーネントが操作できない場合、コンポーネントはその操作を終了してコード101をstderrに出力します。

コンポーネントがコード102で終了した場合、そのコンポーネントは設定パラメータが変更された後にのみ再起動されます。そのため、設定が原因でコンポーネントが操作できない場合、コンポーネントはその操作を終了してコード102をstderrに出力します。設定デーモンは、パラメータが変更された後にのみコンポーネントの再起動を試みます。

リクエストに応じて設定デーモンによって開始されたコンポーネントは、アイドル状態になったときにその動作を終了し、コード103を出力することがあります。たとえば、Dr.Web Scanning EngineDr.Web File Checkerなどのコンポーネントです。

設定デーモンからコンポーネントが受信した新しいパラメータ値を「オンザフライ」で適用できない場合、つまり再起動が必要な場合、コンポーネントはコード0で終了します。その場合、Dr.Web ConfigDはコンポーネントを再起動します。

コンポーネントが設定デーモンに接続できない、または通信プロトコルエラーが発生した場合、コンポーネントはstderrに適切なメッセージを出力してコード1で終了します。

4.シグナル交換:

設定デーモンは、コンポーネントにSIGHUPシグナルを送信して設定パラメータを変更するよう指示します。

設定デーモンは、コンポーネントにSIGTERMシグナルを送信して30秒以内に操作を終了するよう指示します。

SIGKILLシグナルは設定デーモンから送信され、SIGTERMシグナルの受信後30秒以内にシャットダウンしなかったコンポーネントを強制的に停止させます。