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

C 函式

C 函式將用於資源類型的回呼方法之 C 程式實作,表示叢集的 RGM 控制的服務。您可以使用這些函式來執行以下作業:


注意 –

儘管本章提供 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 的控制下設定資源的 Status 特性與 Status_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(3HA)scha_resourcegroup_get(3HA)scha_resourcegroup_close(3HA)

這些指令共同存取有關 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_control( 3HA)

要求在 RGM 控制下重新啟動資源群組或將其重新配置到其他節點。

叢集函式

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

scha_cluster_open(3HA) scha_cluster_get(3HA)scha_cluster_close(3HA)

這些函式將共同存取有關叢集的資訊,如節點名稱、節點 ID 與節點狀態、叢集名稱、資源群組,等等。

透過重新配置或管理動作,叢集可以在 scha_cluster_open() 傳回叢集的控點之後變更,在這種情況下 scha_cluster_get() 透過控點獲取的資訊可能不準確。如果在叢集上發生重新配置或管理動作,RGM 將傳回 scha_err_seqid 錯誤碼至 scha_cluster_get(),以指示有關叢集的資訊可能已變更。這是一種不嚴重的錯誤訊息;函式可以成功傳回。您可以選擇忽略訊息並接受傳回的資訊,或者可以關閉目前的控點並開啟新控點,以存取有關叢集的資訊。

scha_cluster_getlogfacility(3HA)

傳回目前作為叢集日誌使用的系統日誌工具之編號。使用傳回值與 Solaris syslog() 函式,將事件與狀況訊息記錄到叢集日誌中。

scha_cluster_getnodename(3HA)

傳回在其上呼叫函式之叢集節點的名稱。

公用程式函式

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

scha_strerror( 3HA)

將錯誤碼 (由 scha_ 函式之一傳回) 轉換為相應的錯誤訊息。使用該函式與 logger 將訊息記錄到系統日誌 (syslog) 中。