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}'`