Sun Java System Messaging Server 6.3 管理指南

4.5 自動重新啟動失敗或無回應的服務

Messaging Server 提供了兩個程序,分別稱為 watchermsprobe,這兩個程序不需設定即可監視服務,並且在服務當機或無回應 (服務當機) 時自動重新啟動服務。watcher 可監視伺服器的當機。msprobe 透過檢查回應時間來監視伺服器的當機。如果伺服器失敗或停止回應請求,則會自動重新啟動。表 4–4 顯示每個公用程式監視的服務。

表 4–4 watchermsprobe 監視的服務

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.autorestart 設定為 yes。依預設,此參數設定為 no

如果任一郵件儲存服務失敗或凍結,則啟動時啟用的所有郵件儲存服務都將重新啟動。例如,如果 imapd 失敗,則至少會重新啟動 storedimapd。如果其他郵件儲存服務 (如 POP 或 HTTP 伺服器) 正在執行,則不論是否失敗,都將重新啟動。

如果郵件儲存公用程式失敗或凍結,自動重新啟動功能也會發揮作用。例如,如果 mboxutil 失敗或凍結,系統將自動重新啟動所有郵件儲存伺服器。但請注意,這不會重新啟動公用程式。msprobe 每 10 分鐘執行一次。在 10 分鐘內 (可使用 local.autorestart.timeout 進行配置),最多可重新啟動服務和程序兩次。

不論 local.autorestart 是否設定為 yes,系統依預設仍會監視服務,並將故障或無回應錯誤訊息傳送至主控台,並且 msg-svr-base/data/log/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

      

如需如何配置此功能更詳細的資訊,請參閱27.8.9 使用 msprobe 和 watcher 功能進行監視

msprobeimsched 控制。如果 imsched 當機,此事件將會由 watcher 偵測到,並觸發重新啟動 (若已啟用 autorestart)。但是,如果偶爾發生 imsched 當機,則需要使用 kill imsched_pid 來結束 imsched,而如此將導致 watcher 重新啟動。

4.5.1 高可用性部署中的自動重新啟動

高可用性部署中的自動重新啟動需要設定以下 configutil 參數:

表 4–5 HA 自動重新啟動參數

參數 

說明/HA 值 

local.watcher.enable

start-msg 啟動時啟用 watcher。預設值為 yes。

local.autorestart

對包括 IMAP、POP、HTTP、工作控制器、派送程式和 MMP 伺服器在內的失敗或凍結 (無回應) 伺服器,啟用自動重新啟動。預設值為 No。 

local.autorestart.timeout

失敗重新嘗試逾時。如果伺服器在指定期間內失敗兩次以上,系統將停止重新啟動伺服器的嘗試。 如果這種情況發生在 HA 系統中,系統將關閉 Messaging Server,並容錯移轉至另一系統。該值 (設定為秒) 設定的時段應長於 msprobe 的間隔。(請參閱以下的 local.schedule.msprobe。)預設值為 600。

local.schedule.msprobe

msprobe 執行排程。crontab 樣式排程字串 (請參閱表 20–10)。預設值為 5,15,25,35,45,55 * * * * lib/msprobe

若要停用:請將 local.schedule.msprobe.enable 設定為 NO