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

評估重新啟動與故障轉移

probefail 變數是除了 0 (成功) 以外的某個值,意味著 nslookup 指令逾時或回覆來自範例服務的 DNS 之外的伺服器。 在其中任何一種情況下,DNS 伺服器都不會發揮預期的功能,而故障監視器會呼叫 decide_restart_or_failover() 函式,以決定是在本機重新啟動資料服務還是要求 RGM 將資料服務重新置於其他節點。 如果 probefail 變數為 0,則會產生一條探測成功的訊息。


   if [ $probefail -ne 0 ]; then
         decide_restart_or_failover
   else
         logger -p ${SYSLOG_FACILITY}.err\
         -t [$SYSLOG_TAG]\
         "${ARGV0} Probe for resource HA-DNS successful"
   fi

decide_restart_or_failover() 函式使用時間視窗 (Retry_interval) 與失敗計數 (Retry_count) 來決定是在本機重新啟動 DNS 還是要求 RGM 將資料服務重新置於其他節點。 該函式實施以下條件式程式碼 (請參閱PROBE 程式decide_restart_or_failover() 的程式碼清單)。

如果重新啟動的次數達到了時間間隔內的限制次數,函式將要求 RGM 將資料服務重新置於其他節點。 如果重新啟動的次數在限制範圍之內,或已超出間隔從而計數器重新開始計數,函式將嘗試重新啟動相同節點上的 DNS。 請注意以下有關此函式的資訊: