所有方法程序檔 (Validate 除外) 均使用 pmfadm 來啟動 (或停止) 資料服務或監視器,並傳送資源的名稱。每個程序檔都定義一個可傳送至 pmfadm 的變數 PMF_TAG, 以識別資料服務或監視器。
同樣,每個方法程序檔也都透過系統登錄使用 logger 指令來記錄訊息。每個程序檔都定義一個可使用 -t 選項傳送至 logger 的變數 SYSLOG_TAG,以識別將為其記錄訊息的資源之資料類型、資源群組以及資源名稱。
所有方法都將以相同的方式定義 SYSLOG_TAG,如以下範例所示。dns_probe、dns_svc_start、dns_svc_stop 和 dns_monitor_check 方法按如下所示定義 PMF_TAG (pmfadm 和 logger 的使用源自 dns_svc_stop 方法):
######################################################################### # MAIN ######################################################################### PMF_TAG=$RESOURCE_NAME.named SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME # Send a SIGTERM signal to the data service and wait for 80% of the # total timeout value. pmfadm -s $PMF_TAG.named -w $SMOOTH_TIMEOUT TERM if [ $? -ne 0 ]; then logger -p ${SYSLOG_FACILITY}.info \ -t [$SYSLOG_TAG] \ “${ARGV0} Failed to stop HA-DNS with SIGTERM; Retry with \ SIGKILL” |
dns_monitor_start、dns_monitor_stop 以及 dns_update 方法都將定義 PMF_TAG,如下所示 (pmfadm 的使用來自 dns_monitor_stop 方法):
######################################################################### # MAIN ######################################################################### PMF_TAG=$RESOURCE_NAME.monitor SYSLOG_TAG=$RESOURCETYPE_NAME,$RESOURCEGROUP_NAME,$RESOURCE_NAME ... # See if the monitor is running, and if so, kill it. if pmfadm -q $PMF_TAG.monitor; then pmfadm -s $PMF_TAG.monitor KILL |