所有方法程序檔 (Validate 除外) 均使用 pmfadm 啟動或停止資料服務或監視器,同時傳送資源名稱。每個程序檔均會定義變數 PMF_TAG,該變數可以被傳送至 pmfadm 以識別是資料服務還是監視器。
同樣地,每個方法程序檔均使用 logger 指令在系統記錄檔中記錄訊息。每個程序檔均定義變數 SYSLOG_TAG,可以透過 -t 選項將該變數傳送至 logger,以識別記錄訊息的資源之資源類型、資源名稱以及資源群組。
所有方法以相同方式定義 SYSLOG_TAG,如以下程式碼範例所示。dns_probe、dns_svc_start、dns_svc_stop 和 dns_monitor_check 方法如下定義 PMF_TAG (使用 dns_svc_stop 方法的 pmfadm 和 logger)。
######################################################################### # 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