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

獲取特性資訊

大多數回呼方法需要獲取有關資料服務的資源與資源類型特性的資訊。API 將為此目的提供 scha_resource_get() 函式。

兩種資源特性 (系統定義的特性與延伸特性) 可用。儘管已預先定義了系統定義的特性,但是您仍要在 RTR 檔案中定義延伸特性。

當您使用 scha_resource_get() 來獲取系統定義的特性值時,您可以使用參數 -O 指定特性的名稱。指令將僅傳回特性的。例如,在資料服務範例中,Monitor_start 方法需要尋找探測程式,以便該方法可以啟動此程式。測試程式位於資料服務的基本目錄中,RT_basedir 特性指向該基本目錄,因此 Monitor_start 方法將擷取 RT_basedir 的值,並將其置於 RT_basedir 變數中,如下所示。


RT_BASEDIR=`scha_resource_get -O RT_BASEDIR -R $RESOURCE_NAME -G \
$RESOURCEGROUP_NAME`

對於延伸特性,您必須使用參數 -O 指定特性為延伸特性,並提供特性名稱作為最後一個參數。對於延伸特性,指令將傳回特性的類型。例如,在資料服務範例中,探測程式將擷取 probe_timeout 延伸特性的類型與值,然後使用 awk 以僅將值置於 PROBE_TIMEOUT shell 變數中,如下所示。


probe_timeout_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \
-G $RESOURCEGROUP_NAME Probe_timeout` 
PROBE_TIMEOUT=`echo $probe_timeout_info | awk '{print $2}'`