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

控制與初始化回呼方法

主要的控制和初始化回呼方法將啟動與停止資源。其他方法執行資源上的初始化程式碼與終止程式碼。

Start

當包含資源的資源群組在某節點上處於線上狀態時,RGM 將在該叢集節點上執行此方法。這個方法將啟動該節點上的資源。

Start 方法直到其啟動的資源已經啟動並在本機節點上可用時,才可結束。因此,在 Start 方法結束之前,應輪詢資源以確定資源已啟動。此外,您應為此方法設定一個足夠長的逾時值。例如,資料庫常駐程式等特定資源將花費更多的時間用於啟動,因此需要該方法具有更長的逾時值。

RGM 回應 Start 方法故障的方式取決於 Failover_mode 特性的設定。

資源類型註冊 (RTR) 檔案中的 Start_timeout 特性將設定資源的 Start 方法的逾時值。

Stop

當包含資源的資源群組在某節點上處於離線狀態時,RGM 將在該叢集節點上執行此需要的方法。如果資源處於使用中狀態,則該方法將取消啟動資源。

Stop 方法直到其控制的資源已經在本機節點上完全停止所有活動,並已關閉所有檔案描述元時,才可結束。否則,由於 RGM 會假定資源已停止,而實際上其仍然處於使用中狀態,從而導致資料損毀。防止資料損毀最安全的方法是在與資源相關的本機節點上終止所有程序。

Start 方法結束之前,應輪詢資源以決定資源已停止。此外,您應為此方法設定一個足夠長的逾時值。例如,資料庫常駐程式等特定資源將花費更多的時間用於停止,因此需要該方法具有更長的逾時值。

RGM 回應 Stop 方法失敗的方式取決於 Failover_mode 特性的設定。請參閱資源特性

RTR 檔案中的 Stop_timeout 特性將設定資源的 Stop 方法的逾時值。

Init

當資源變為受管理時,RGM 將執行此可選方法以執行資源的一次性初始化。當其資源群組從未管理狀態轉換為管理狀態時,或當在已管理的資源群組中建立資源時,RGM 將執行此方法。會在由 Init_nodes 資源特性識別的節點上呼叫該方法。

Fini

當資源變為未管理時,RGM 將執行此可選方法以清除資源。當其資源群組轉換為未管理狀態時,或當從管理的資源群組中刪除資源時,RGM 將執行此方法。會在由 Init_nodes 資源特性識別的節點上呼叫該方法。

Boot

在資源群組 (包含資源) 已置於 RGM 管理之下後,RGM 將執行此可選方法 (與 Init 相似) 以初始化加入叢集的節點上的資源。RGM 將在由 Init_nodes 資源特性識別的節點上執行此方法。由於啟動或重新啟動,當節點加入或重新加入叢集時,將呼叫 Boot 方法。


備註 –

InitFiniBoot 方法的失敗將導致 syslog() 函數產生錯誤訊息。然而,由 RGM 管理的資源不會受影響。