本章列出並簡明描述了資料服務開發程式庫 (DSDL) API 的函式。 請參閱個別 3HA 線上援助頁,以取得每個 DSDL 函式的完整說明。 DSDL 僅定義了 C 介面。 沒有可處理程序檔的 DSDL 介面。
以下子節簡明介紹了每種 DSDL 函式。 不過,個別 3HA 線上援助頁是 DSDL 函式的決定性參考。
初始化 DSDL 環境
擷取資源、資源類型、資源群組名稱以及延伸屬性值。
故障轉移並重新啟動資源群組以及重新啟動資源
將錯誤字串轉換為錯誤訊息
在逾時控制下執行指令
scds_initialize – 分配資源並初始化 DSDL 環境。
scds_close – 釋放 scds_initialize 分配的資源。
下列函式擷取關於資源、資源類型、資源群組與延伸屬性的資訊。
scds_get_resource_name – 為呼叫程式擷取資源名稱。
scds_get_resource_type_name – 為呼叫程式擷取資源類型名稱。
scds_get_resource_group_name – 為呼叫程式擷取資源群組名稱。
scds_get_ext_property – 擷取指定延伸屬性的值。
scds_free_ext_property – 釋放 scds_get_ext_property 分配的記憶體。
以下函數擷取有關 SUNW 的狀態資訊。資源使用的 HAStoragePlus 資源。
scds_hasp_check – 擷取關於某個資源所使用的 SUNW.HAStoragePlus 資源的狀況資訊。 此資訊是使用為該資源定義的 Resource_dependencies 或 Resource_dependencies_weak 系統屬性,從其所依賴的所有 SUNW.HAStoragePlus 資源的狀態 (線上或其他狀態) 獲得。
請參閱 SUNW.HAStoragePlus(5),以取得有關 SUNW.HAStoragePlus 的詳細資訊。
scds_failover_rg – 對資源群組進行故障轉移。
scds_restart_rg – 重新啟動資源群組。
scds_restart_resource – 重新啟動資源。
下列兩個函式在逾時控制下執行指令,並將錯誤碼轉換為錯誤訊息。
scds_timerun – 在逾時值控制下執行指令。
scds_error_string – 將錯誤碼轉換為錯誤字串。
這些函式提供公用 API,便於存取相關資源、資源群組與資源類型的特定屬性,包括某些常用的延伸屬性。 DSDL 提供了 scds_initialize 函式來剖析指令行引數。 然後,程式庫便可以快取相關資源、資源群組與資源類型的各種屬性。
單一線上說明手冊 scds_property_functions(3HA) 描述了所有這些函式。 本節包含下列函式︰
scds_get_rs_property_name
scds_get_rg_property_name
scds_get_rt_property_name
scds_get_ext_property_name
本節中列出的函式可擷取、列印與釋放資源及資源群組使用的網路資源。 本節中的 scds_get_* 函式提供了擷取網路資源的便捷方式,無需使用 RMAPI 函式查詢特定屬性 (如 Network_resources_used 與 Port_list)。 scds_print_name() 函式列印 scds_get_name() 函式傳回的資料結構中的值。 scds_free_name() 函式釋放 scds_get_name() 函式分配的記憶體。
scds_get_rg_hostnames – 擷取某個資源群組中網路資源所使用主機名稱的清單。
scds_get_rs_hostnames – 擷取資源使用的主機名稱清單。
scds_print_net_list – 列印 scds_get_rg_hostnames 或 scds_get_rs_hostnames 傳回的主機名稱清單內容。
scds_free_net_list – 釋放 scds_get_rg_hostnames 或 scds_get_rs_hostnames 分配的記憶體。
下列函式是關於通訊埠清單的。
scds_get_port_list – 擷取資源使用的通訊埠協定對清單。
scds_print_port_list – 列印 scds_get_port_list 傳回的通訊埠協定對清單內容。
scds_free_port_list – 釋放 scds_get_port_list 分配的記憶體。
scds_get_netaddr_list – 擷取資源使用的網路位址清單。
scds_print_netaddr_list – 列印 scds_get_netaddr_list 傳回的網路位址清單內容。
scds_free_netaddr_list – 釋放 scds_get_netaddr_list 分配的記憶體。
本節中的函式啟用基於 TCP 的監視。 通常,故障監視器使用這些函式來建立其與服務的簡單套接字連接,從該服務讀取資料以及將資料寫入該服務以確定其狀況,然後與該服務斷開連接。
scds_tcp_connect – 建立與某個程序的 TCP 連接。
scds_tcp_read – 使用 TCP 連接從被監視的程序中讀取資料。
scds_tcp_write – 使用 TCP 連接將資料寫入被監視的程序。
scds_simple_probe – 透過建立及終止與某個程序的 TCP 連接來探測該程序。
scds_tcp_disconnect – 終止與被監視程序的連接。
這些函式封裝 PMF 功能。 透過 PMF 進行監視的 DSDL 模型可建立與使用 pmfadm(1M) 的隱含 tag 值。 PMF 工具也使用 Restart_interval、Retry_count 與 action_script 的隱含值 (pmfadm 的 -t、-n 及 -a 選項)。 最重要的是,DSDL 將程序失效歷史 (由 PMF 找到) 結合到應用程式故障歷史 (由故障監視器偵測) 中,以計算重新啟動或故障轉移決定。
scds_pmf_get_status – 決定是否在 PMF 控制下監視指定的實例。
scds_pmf_restart_fm – 使用 PMF 重新啟動故障監視器。
scds_pmf_signal – 將指定訊號傳送至在 PMF 控制下執行的程序樹。
scds_pmf_start – 在 PMF 控制下執行指定的程式 (包括故障監視器)。
scds_pmf_stop – 終止在 PMF 控制下執行的程序。
scds_stop_monitoring — 停止監視在 PMF 控制下執行的程序。
本節中的函式透過保留故障歷史並結合 Retry_count 與 Retry_interval 屬性演算該歷史,提供故障監視的預先決定模型。
本節包含下列函式︰
scds_fm_sleep – 等候關於故障監視器控制套接字的訊息。
scds_fm_action – 完成探測後執行動作。
scds_fm_print_probes – 將探測狀況資訊寫入系統日誌。
本節中的函式可讓您將訊息與除錯訊息寫入系統日誌。 本節包含下列兩個函式︰
scds_syslog – 將訊息寫入系統日誌。
scds_syslog_debug – 將除錯訊息寫入系統日誌。