Sun Java System Messaging Server 6 2005Q4 管理ガイド

障害が発生したサービスや応答がないサービスの自動再起動

Messaging Server では、watchermsprobe の 2 つのプロセスが提供されています。これらのプロセスによってサービスは透過的に監視され、クラッシュしたり応答がなくなった (ハングアップしている) 場合には、自動的に再起動されます。watcher はサーバークラッシュを監視します。msprobe は応答時間をチェックすることでサーバーハングアップを監視します。サーバーでエラーが発生した場合や、サーバーが要求に応答しなくなった場合、サーバーは自動的に再起動されます。表 4–4 を参照してください。

表 4–4 watcher と msprobe で監視されるサービス

watcher (クラッシュ) 

msprobe (応答しないハングアップ) 

IMAP、POP、HTTP、ジョブコントローラ、ディスパッチャ、メッセージストア (stored)、imsched、MMP (LMTP/SMTP サーバーはディスパッチャによって監視され、LMTP/SMTP クライアントは job_controller によって監視される。)

IMAP、POP、HTTP、証明書、ジョブコントローラ、メッセージストア (stored)、imsched、ENS、LMTP、SMTP

local.watcher.enable=on (デフォルト) を設定すると、プロセスの失敗と応答しないサービスが監視され、default ログ ファイルに特定の失敗を示すエラーメッセージが記録されます。サーバーの自動再起動を有効にするには、configutil のパラメータ local.autorestartyes に設定します。デフォルトでは、このパラメータは no に設定されています。

メッセージストアのサービスのどれかが失敗またはフリーズした場合、起動時に有効にしたすべてのメッセージストアのサービスが再起動されます。たとえば、imapd が失敗すると、少なくとも stored および imapd が再起動されます。POP または HTTP サーバーなど、メッセージストアのほかのサービスが実行されている場合、それらのサービスも失敗や成功にかかわらず再起動されます。

自動再起動は、メッセージストアユーティリティーが失敗またはフリーズした場合にも機能します。たとえば、mboxutil が失敗またはフリーズした場合、すべてのメッセージストアサービスが再起動されます。ただし、ユーティリティーは再起動されません。msprobe は 10 分ごとに実行されています。サービスとプロセスの再起動は 10 分間に最大 2 回実行されます (local.autorestart.timeout を使用して設定可能)。

local.autorestartyes に設定されているかどうかにかかわらず、サービスはシステムによって監視され、失敗または応答なしのエラーメッセージがコンソールおよび msg_svr_base/data/log/watcher に送信されます。watcher はデフォルトではポート 49994 を待機しますが、これは local.watcher.port を使って設定可能です。

watcher ログファイルが msg_svr_base/data/log/watcher に生成されます。このログファイルは、ログが記録されるシステムでは管理されません (ロールオーバーおよび消去は行われない)。このログファイルにはすべてのサーバーの起動と停止が記録されます。ログの例を次に示します。


watcher process 13425 started at Tue Oct 21 15:29:44 2003

Watched ’imapd’ process 13428 exited abnormally
Received request to restart:  store imap pop http
Connecting to watcher ...
Stopping http server 13440 .... done
Stopping pop server 13431 ... done
Stopping pop server 13434 ... done
Stopping pop server 13435 ... done
Stopping pop server 13433 ... done
imap server is not running
Stopping store server 13426 .... done
Starting store server .... 13457
checking store server status ...... ready
Starting imap server ..... 13459
Starting pop server ....... 13462
Starting http server ...... 13471

      

この機能の設定方法の詳細については、「msprobe および watcher 関数を使用した監視」を参照してください。

msprobeimsched によって制御されます。imsched がクラッシュすると、このイベントは watcher によって検出され、再起動がトリガされます (自動再起動が有効になっている場合)。ただし、ごくまれに imsched がハングアップした場合は、kill imsched_pid を使用して imsched を強制終了する必要があります。これにより、imsched が watcher によって再起動されます。

高可用性の配備での自動再起動

可用性が高い配備での自動再起動には、次の configutil パラメータを設定する必要があります。

表 4–5 HA 自動再起動パラメータ

パラメータ 

説明/HA 値 

local.watcher.enable

watcher の有効化です。On (デフォルトは On) 

local.autorestart

autorestart の有効化です。On 

local.autorestart.timeout

再試行失敗のタイムアウトです。ここに指定した時間内でサーバーに 3 回以上障害が発生すると、システムはサーバーの再起動を試行しなくなります。HA システムでこれが発生すると、Messaging Server がシャットダウンし、別のシステムへのフェイルオーバーが行われます。値 (秒単位で指定) は、msprobe の間隔 (local.schedule.msprobe) よりも長い時間に設定する必要があります。

local.schedule.msprobe

msprobe の実行スケジュールです。crontab 形式でスケジュールを示す文字列です (表 18–10 を参照)。デフォルトは 600 秒です。