Calendar Server 和 Messaging Server 現在使用相同的停止和啟動機制。start-cal 指令會啟動 watcher 程序,然後啟動其他所有程序。watcher 程序會注意其他服務的任何相依性,以及服務啟動的次序。
每一個註冊的服務 (程序) 都開啟與 Watcher 的連線。如果程序停止而未正常中斷連線,Watcher 會自動重新啟動它。如果程序在定義的間隔內停止兩次,則 Watcher 不會重新啟動它。這個逾時間隔是可配置的。
其他 Watcher 資訊:
Watcher 會監視在其中註冊的所有服務。Calendar Server 已註冊的程序為:cshttpd、csadmind、csdwpd、csnotifyd 和 csstored。
必須啟用常駐程式 csstored。務必將配置參數 local.store.enable 設定為 "y"。啟用 csstored 在舊版 Calendar Server 中是選擇性項目,但現在是必要項目。必須先成功啟動 csstored 常駐程式,才能啟動存取存放區的各個服務。如果常駐程式停止,則您必須停止並重新啟動附屬程序。
預設會啟用 Watcher。為管理 Watcher 程序,ics.conf 檔案新增以下參數:
local.watcher.enable = "y":啟動程式 (csservice) 嘗試最先啟動 Watcher。如果設定為 "n",則會停用 Watcher 程式。
service.autorestart = "y":Watcher 自動重新啟動停止的服務。如果設定為 "n",則 Watcher 不會重新啟動停止的服務。如果這個參數是設定為 "n",則 Watcher 仍然會監視服務,並且將失敗或無回應的錯誤訊息傳送至主控台和 cal-svr-base/data/log 檔案。
local.autorestart.timeout = "600":第二次伺服器失敗,觸發 Watcher 停止嘗試重新啟動之前的預設逾時。
local.watcher.port:預設連接埠是 "49994"。但是,如果您使用了 Messaging Server,則 Messaging Server 也會偵聽這個連接埠,並與 Calendar Server 發生衝突。若要避免可能的衝突,比較安全的方法是讓 Watcher 偵聽其他的連接埠。
Watcher 會寫入 cal-svr-base/data/log/watcher.log 這個單一記錄,其中包含下列資訊:
傳送至管理主控台的失敗通知和無回應錯誤訊息。
所有伺服器停止和啟動的記錄。
如果伺服器在逾時階段失敗兩次,則系統不再嘗試重新啟動該伺服器。在 HA 系統中,系統會關閉 Calendar Server,並容錯移轉至另一系統。
csservice 的公用介面是 start-cal 和 stop-cal。本小節包含各個包裝程式程序檔的用法說明和用來解釋程序檔選項的表格,以及要啟動/停止的元件清單。
start-cal 用法如下:
./start-cal [選項...] [元件...]
其選項清單如下:
顯示此說明清單。
啟用除錯模式。
列出使用中服務。
列出啟用的服務。
列出所有服務。
其元件清單如下:
watcher |
ens |
store |
notify |
admin |
http |
dwp |
如果未列出任何元件,start-cal 會啟動所有啟用的服務。
stop-cal 用法如下:
./stop-cal [選項...] [元件...]
其選項清單如下:
顯示此說明清單。
啟用除錯模式。
使用 SIGKILL 強制停止。(僅適用於 UNIX® 平台。)
其元件清單如下:
watcher |
mfagent |
ens |
store |
notify |
admin |
http |
dwp |
如果未列出任何元件,stop-cal 會停止所有啟用的服務。