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

資源類型套件的安裝要求

有兩個與新資源類型套件有關的要求:

變更 RTR 檔案前需要瞭解的資訊

一些資源類型升級不會涉及新方法或監視器程式碼。 例如,資源類型升級可能僅變更資源屬性的預設值或可調性。 由於方法程式未變更,因此安裝升級的唯一要求是具有可讀 RTR 檔案的有效路徑名稱。

如果不需要重新註冊舊資源類型,則新 RTR 檔案可以覆寫舊版本。 否則,新的 RTR 檔案可置於新的路徑名稱中。

如果升級變更屬性的預設值或可調性,新版本的 Validate 方法可以在遷移時確認現有的屬性性質對於新資源類型有效。 如果升級變更屬性的 minmaxtype 性質,則 scrgadm 指令在遷移時自動驗證這些限制。

升級說明文件必須呼出所有的新預設屬性性質。 說明文件必須通知系統管理員可以透過用來編輯 Type_version 屬性以將資源升級至新資源類型版本的相同指令,來將現有資源的屬性編輯為適當的值。

如果升級新增或刪除屬性,則很可能也必須變更某些回呼方法或監視器程式碼。

變更監視器程式碼

如果在更新的資源類型中僅變更監視器程式碼,則套件安裝可以覆寫監視器二進位檔。 在安裝新的套件前,說明文件必須通知系統管理員暫停監視。

變更方法程式碼

如果在更新的資源類型中僅變更方法程式碼,請務必確定新方法程式碼是否與舊版本相容。 這樣可決定新方法程式碼是否必須儲存於新的路徑名稱中,或是否可以覆寫舊方法。

如果新的 StopPostnet_stop 以及 Fini 方法 (如果已宣告) 可以套用至由舊版 StartPrenet_stopInit 方法初始化或啟動的資源,則可能會以新方法覆寫舊方法。

如果新方法程式碼與舊版本不相容,則必須停止或取消配置使用舊版本方法的資源,然後才能將資源遷移至升級的資源類型。 如果新方法覆寫舊方法,則在進行資源類型升級之前,新方法將要求關閉 (或可能不管理) 所有此類型的資源。 如果新方法與舊方法個別儲存 (且可同時存取新方法與舊方法),則甚至在沒有向下相容性的情況下,都可能安裝新資源類型並逐個升級資源。

即使新方法是向下相容的,也可能要求每次升級一個資源以使用新方法,而其他資源繼續使用舊方法。 仍有必要將新方法儲存於個別目錄中,而非覆寫舊方法。

將每個資源類型版本的方法儲存於個別目錄中的優勢是,如果新的版本出現問題,可以很容易將資源切換回舊的資源類型版本。

一個封裝方法是包含套件中仍支援的所有舊版本。 這樣可允許新的套件版本取代舊的版本,而不覆寫或刪除舊方法路徑。 決定支援多少個舊版本取決於資源類型開發者。


註解 –

建議不要覆寫方法或對目前位於叢集中節點上的方法執行 pkgrm/pkgadd。 如果 RGM 要在某個方法於磁碟上不可存取時呼叫該方法,則可能出現非預期的結果。 移除或取代正在執行方法的二進位碼也可能引起非預期的結果。