ProScan for Mailserverのアップデート時に"Service: ERROR: Failed to reload the engine modules because SAVAPI Service was started without 'duplicate-modules' option"というメッセージがログに記録される場合

ProScan for Mailserverのアップデートにおいて、サービスログ(標準では/var/opt/proscan/log/proscan.log)に、以下のようなメッセージが記録される場合があります。

「Service: ERROR: Failed to reload the engine modules because SAVAPI Service was started without 'duplicate-modules' option」

このメッセージはProScan for Mailserverのエンジンとして常駐しているSAVAPIサービスが「通常モード」で起動しており、SAVAPIの更新時にサービスモジュールのリプレースが行われるために常駐されているSAVAPIプロセスが一瞬(通常0.1秒未満)サービス停止して再起動されることを意味します。
ProScan for MailserverはMTAと連動して動作しており、この一時的なSAVAPI停止の際にProScanに送られているメールが存在している場合でも一度MTA側のメールキューに差し戻された後、改めてSAVAPIの再起動後にスキャンが行われますので、該当のメールの配送処理において一時的な順番待ちが発生する以外、メールの消失等の致命的なエラーが発生することは有りません。
ですがSAVAPIでは「DuplicateModules」というモードを設定することで、SAVAPIを構成するモジュール単位でサービスのリロードを行いダウンタイムを最小限に抑えるような挙動を設定することが可能です。(ただしDuplicateModulesを有効にした場合、更新処理の際に一時的にSAVAPIサービスプロセスが重複実行されるので、更新時のメモリ消費が無効時の2倍程度多くなります)

「DuplicateModules」モードの設定を行う場合は、以下の手順に従って設定を行ってください。

 

1:/etc/avira/append.confというファイルに以下の行を追加する。
(ファイルが存在していない場合には新規に作成する)

DuplicateModules=1

2:/etc/opt/proscan/proscan.confファイルの[aveserver]セクションに以下の設定を追加する

AppendFile=/etc/avira/append.conf

(もし、AppendFileパラメータに別のファイルが設定されていた場合には、そのファイルに改めて1の設定を行う)

3:SAVAPIサービスの再起動を行う

【RHEL9以降の場合】

systemctl restart proscan.service

【RHEL8以前の場合】

/etc/init.d/proscan restart

 

4:SAVAPIの設定ファイルを確認し、1でappend.confに指定した設定が反映されているかどうか確認する
(設定ファイルは「/etc/avira/savapi4_(プロセスID).conf」のような形式で生成されているので、

cat /etc/avira/savapi4_*.conf

のようにして内容を確認することが可能です)