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

C 函數

C 函數用於表示服務 (由叢集的 RGM 控制) 的資源類型回呼方法之 C 程式實作中。您可以使用這些函數完成以下作業︰


備註 –

本小節提供 C 函數的簡要說明,但 3HA 線上手冊提供 C 函數的最可靠參考。每個相同名稱的線上手冊與函數相關聯,除非另有註釋。請參閱 scha_calls(3HA) 線上手冊,以取得有關輸出引數和 C 函數回覆碼的資訊。


資源函數

這些函數可存取有關由 RGM 管理的資源的資訊或表示由監視器察覺的資源狀態。

scha_resource_open()scha_resource_get()scha_resource_close()

這些函數可存取有關由 RGM 管理的資源的資訊。scha_resource_open() 函數初始化對資源的存取並傳回 scha_resource_get() 的一個控點,該函數將存取資源資訊。scha_resource_close() 函數使控點無效,並且釋放為 scha_resource_get() 回覆值配置的記憶體。

scha_resource_open() 傳回資源的控點後,資源可透過叢集重新配置或管理動作進行變更。因此,scha_resource_get() 透過控點取得的資訊可能不正確。如果某個資源上發生叢集重新配置或管理動作,RGM 會將 scha_err_seqid 錯誤碼傳回至 scha_resource_get(),以表示有關該資源的資訊可能已變更。此錯誤訊息為非嚴重訊息。函數將成功地傳回。您可以選擇忽略該訊息並接受傳回的資訊。或者,您可以關閉目前的控點,然後開啟新的控點以存取有關資源的資訊。

線上手冊將說明這三個函數。您可以透過任意個別函數 scha_resource_open(3HA)scha_resource_get(3HA)scha_resource_close(3HA) 存取此線上手冊。

scha_resource_setstatus()

設定在 RGM 控制下的資源的 StatusStatus_msg 特性。資源的監視器使用此函數來指示資源的狀態。


備註 –

儘管 scha_resource_setstatus() 對資源監視器特別有用,但任何程式都可以呼叫它。


資源類型函數

這些函數可存取有關使用 RGM 註冊的資源類型之資訊。

scha_resourcetype_open()scha_resourcetype_get()scha_resourcetype_close()

scha_resourcetype_open() 函數初始化對資源的存取並傳回 scha_resourcetype_get() 的一個控點,該函數將存取資源類型資訊。scha_resourcetype_close() 函數使控點無效,並且釋放為 scha_resourcetype_get() 回覆值配置的記憶體。

scha_resourcetype_open() 傳回資源類型的控點後,資源類型可透過叢集重新配置或管理動作進行變更。因此,scha_resourcetype_get() 透過控點取得的資訊可能不正確。如果某個資源類型上發生叢集重新配置或管理動作,RGM 會將 scha_err_seqid 錯誤碼傳回至 scha_resourcetype_get(),以表示有關此資源類型的資訊可能已變更。此錯誤訊息為非嚴重訊息。函數將成功地傳回。您可以選擇忽略該訊息並接受傳回的資訊。或者,您可以關閉目前的控點,然後開啟新的控點以存取有關資源類型的資訊。

線上手冊將說明這三個函數。您可以透過任意個別函數 scha_resourcetype_open(3HA)scha_resourcetype_get(3HA)scha_resourcetype_close(3HA) 存取此線上手冊。

資源群組函數

您可以使用這些函數存取有關資源群組的資訊或重新啟動資源群組。

scha_resourcegroup_open()scha_resourcegroup_get()scha_resourcegroup_close()

這些函數可存取有關由 RGM 管理的資源群組的資訊。scha_resourcegroup_open() 函數初始化對資源群組的存取,並為 scha_resourcegroup_get () 傳回控點,該函數將存取資源群組資訊。scha_resourcegroup_close() 函數使控點無效,並且釋放為 scha_resourcegroup_get() 回覆值配置的記憶體。

scha_resourcegroup_open() 傳回資源群組的控點後,資源群組可透過叢集重新配置或管理動作進行變更。因此,scha_resourcegroup_get() 透過控點取得的資訊可能不正確。如果某個資源群組上發生叢集重新配置或管理動作,RGM 會將 scha_err_seqid 錯誤碼傳回至 scha_resourcegroup_get(),以表示有關資源群組的資訊可能已變更。此錯誤訊息為非嚴重訊息。函數將成功地傳回。您可以選擇忽略該訊息並接受傳回的資訊。或者,您可以關閉目前的控點,然後開啟新的控點以存取有關資源群組的資訊。

線上手冊將說明這三個函數。您可以透過任意個別函數 scha_resourcegroup_open(3HA)scha_resourcegroup_get(3HA)scha_resourcegroup_close(3HA) 存取此線上手冊。

scha_control()

請求在 RGM 控制下的資源群組重新啟動或將其遷移至其他節點。此函數在 scha_control(3HA) 線上手冊中有詳細說明。

叢集函數

這些函數可存取或傳回有關叢集的資訊。

scha_cluster_open()scha_cluster_get()scha_cluster_close()

這些函數可存取有關叢集的資訊,如叢集名稱、節點名稱、ID、狀態,以及資源群組。

scha_cluster_open() 傳回叢集的控點後,叢集可透過叢集重新配置或管理動作進行變更。因此,scha_cluster_get() 透過控點取得的資訊可能不正確。如果某個叢集上發生重新配置或管理動作,RGM 會將 scha_err_seqid 錯誤碼傳回至 scha_cluster_get(),以表示有關叢集的資訊可能已變更。此錯誤訊息為非嚴重訊息。函數將成功地傳回。您可以選擇忽略該訊息並接受傳回的資訊。或者,您可以關閉目前的控點,然後開啟新的控點以存取有關叢集的資訊。

線上手冊將說明這三個函數。您可以透過任意個別函數 scha_cluster_open(3HA)scha_cluster_get(3HA)scha_cluster_close(3HA) 存取此線上手冊。

scha_cluster_getlogfacility()

傳回用做叢集記錄的系統記錄功能的數目。使用傳回的值與 syslog() Solaris 函數將事件和狀態訊息記錄至叢集記錄。scha_cluster_getlogfacility(3HA) 線上手冊更詳細地說明了此函數。

scha_cluster_getnodename()

傳回在其上呼叫函數之叢集節點的名稱。scha_cluster_getnodename(3HA) 線上手冊更詳細地說明了此函數。

公用程式函數

此函數將錯誤碼轉換為錯誤訊息。

scha_strerror()

將由 scha_ 函數之一傳回的錯誤碼轉譯為相應的錯誤訊息。使用此函數與 logger 指令將訊息記錄在 Solaris 系統記錄 (syslog) 中。scha_strerror(3HA) 線上手冊更詳細地說明了此函數。