Sun Cluster 資料服務開發者指南 (適用於 Solaris 作業系統)

宣告 PMF_TAGSYSLOG_TAG 變數

所有方法程序檔 (Validate 除外) 均使用 pmfadm 啟動或停止資料服務或監視器,同時傳送資源名稱。每個程序檔均會定義變數 PMF_TAG,該變數可以被傳送至 pmfadm 以識別是資料服務還是監視器。

同樣地,每個方法程序檔均使用 logger 指令在系統記錄檔中記錄訊息。每個程序檔均定義變數 SYSLOG_TAG,可以透過 -t 選項將該變數傳送至 logger,以識別記錄訊息的資源之資源類型、資源名稱以及資源群組。

所有方法以相同方式定義 SYSLOG_TAG,如以下程式碼範例所示。dns_probedns_svc_startdns_svc_stopdns_monitor_check 方法如下定義 PMF_TAG (使用 dns_svc_stop 方法的 pmfadmlogger)。

#########################################################################
# 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_startdns_monitor_stopdns_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