systemdでRUJEサービスを起動する場合で、データ転送またはジョブ起動を行ったときに、RUJEサービスが異常終了し、データ転送またはジョブ起動が失敗する場合があります。
RHEL7やCentOS7以降では、RUJEサービス起動をsystemdで行うようになりました。
NISMAILRUJEでは、systemdから起動するための設定ファイルのサンプルファイルを提供していますが、サンプルファイルではサービス起動をType=forkingと設定しています。
Type=forkingでサービス起動を行った場合、RUJEサービスの処理が規定時間(90秒)を超えても終了しない場合には、起動したRUJEサービスはsystemdにより停止されます。
これにより、NISMAILRUJEの処理が規定時間(90秒)を超えて終了しない場合、当該事象が発生します。
Typeの設定値を「forking」から「Simple」にすることでsystemdによるRUJEサービスの終了待ち合わせをしなくなるため、当該事象を回避することが可能となります。
/usr/lib/systemd/system/rujed@.serviceを変更して、
RUJEサービスの再起動を行ってください。
以下に、変更およびRUJEサービスの再起動手順を示します。
・RUJEサービスを停止します。
systemctl stop rujed.socket
systemctl disable rujed.socket
※RUJEサービスの停止後には'systemctl disable rujed.socket'を
必ず実行してください。
・rujed@.serviceを変更します。
Type=forking → Type=simple
・rujed@.serviceの変更をsystemdに反映させます。
systemctl daemon-reload
※rujed@.serviceの変更後は'systemctl daemon-reload'を
必ず実行してください。
・RUJEサービスを開始します。
systemctl enable rujed.socket
systemctl start rujed.socket
※RUJEサービスの開始前には'systemctl enable rujed.socket'を
必ず実行してください。
本件につきましては、変更したsampleファイル(rujed@.service)を
用意しております。
ご希望される場合は、修正物件申込書にてお申し込みください。
|