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

決定要使用的 StartStop 方法

本節提供有關何時使用 StartStop 方法與何時使用 Prenet_start Postnet_stop 方法的一些提示。 您必須全面瞭解用戶端和資料服務的主從式網路協定,才能決定要使用的正確方法。

使用網路位址資源的服務可能要求以特定順序 (相對於邏輯主機名稱位址配置) 完成啟動或停止步驟。 可選用的回呼方法 Prenet_startPostnet_stop 允許資源類型實現在將同一資源群組中的網路位址配置或取消配置前後,執行特殊的啟動和關閉動作。

在呼叫資料服務的 Prenet_start 方法之前,RGM 將呼叫探索網路位址 (但不配置網路位址) 的方法。 在呼叫資料服務的 Postnet_stop 方法之後,RGM 將呼叫不探索網路位址的方法。 當 RGM 使資源群組上線運作時,其序列如下所示。

  1. 探索網路位址。

  2. 呼叫資料服務的 Prenet_start 方法 (如果有的話)。

  3. 配置網路位址。

  4. 呼叫資料服務的 Start 方法 (如果有的話)。

當 RGM 使資源群組離線時會發生反向:

  1. 呼叫資料服務的 Stop 方法 (如果有的話)。

  2. 取消配置網路位址。

  3. 呼叫資料服務的 Postnet_stop 方法 (如果有的話)。

  4. 不探索網路位址。

當決定是否使用 StartStopPrenet_startPostnet_stop 方法時,請先考量伺服器端。 當使包含資料服務應用程式資源和網路位址資源的資源群組上線運作時,RGM 會在呼叫資料服務資源 Start 方法前,呼叫這些方法來配置網路位址。 因此,如果資料服務需要在啟動時配置網路位址,請使用 Start 方法啟動資料服務。

同樣,當使包含資料服務應用程式資源和網路位址資源的資源群組離線時,RGM 會在呼叫資料服務資源 Stop 方法後,呼叫這些方法來取消配置網路位址。 因此,如果資料服務需要在停止時配置網路位址,請使用 Stop 方法停止資料服務。

例如,為了啟動或停止資料服務,您可能必須呼叫資料服務的管理公用程式或程式庫。 有時,資料服務具有使用主從式網路介面執行管理的管理公用程式或程式庫。 即管理公用程式呼叫伺服器常駐程式,從而網路位址可能需要出現,以便使用管理公用程式或程式庫。 在此情形下,請使用 Start 方法與 Stop 方法。

如果資料服務需要在其啟動與停止時取消配置網路位址,請使用 Prenet_start 方法或 Postnet_stop 方法啟動與停止該資料服務。 考量用戶端軟體是否將依據網路位址或資料服務在叢集重新配置 (透過具有 SCHA_GIVEOVER 引數的 scha_control() 或透過 scswitch 的進行切換保護移轉) 之後是否首先上線而做出不同回應。 例如,用戶端實作可能進行最低限度的重試,並在確定資料服務通訊埠不可用之後不久放棄。

如果資料服務在其啟動時不需要配置網路位址,請在配置網路介面之前啟動該資料服務。 這樣可確保資料服務能夠在完成網路位址配置之後立即回應用戶端的要求,而且這些用戶端不太可能停止重試。 在此情形下,請使用 Prenet_start 方法而不是 Start 方法來啟動資料服務。

如果您使用 Postnet_stop 方法,則資料服務資源在取消配置網路位址時仍會出現。 僅在取消配置網路位址後才呼叫 Postnet_stop 方法。 結果,只要網路位址做出回應,資料服務的 TCP 或 UDP 服務通訊埠,或者其 RPC 程式編號總是會出現,供網路上的用戶端使用。

決定使用 StartStop 方法還是使用 Prenet_startPostnet_stop 方法,或者兩者都使用,均必須考慮伺服器與用戶端的需求與行為。