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

定義資源類型註冊檔案

此範例中的資源類型註冊 (RTR) 檔案定義 DNS 資源類型的靜態配置。 此類型資源將繼承 RTR 檔案中所定義的屬性。

當叢集管理員註冊 HA-DNS 資料服務時,RGM 將讀取 RTR 檔案中的資訊。

RTR 檔案概觀

RTR 檔案採用明確定義的格式。 在此檔案中,首先定義資源類型屬性,接著定義系統定義的資源屬性,最後定義延伸屬性。 請參閱 rt_reg(4) 線上說明手冊與設定資源屬性和資源類型屬性,以取得詳細資訊。

本節說明 RTR 檔案範例中特定的屬性, 還提供檔案不同部分的清單。 如需 RTR 檔案範例內容的完整清單,請參閱資源類型註冊檔案清單

RTR 檔案範例中的資源類型屬性

如以下清單所示,RTR 檔案範例以註釋開始,其後跟隨用於定義 HA-DNS 配置的資源類型屬性。

#
# Copyright (c) 1998-2004 by Sun Microsystems, Inc.
# All rights reserved.
#
# Registration information for Domain Name Service (DNS)
#

#pragma ident   “@(#)SUNW.sample   1.1   00/05/24 SMI”

RESOURCE_TYPE = “sample”;
VENDOR_ID = SUNW;
RT_DESCRIPTION = “Domain Name Service on Sun Cluster”;

RT_VERSION =”1.0”; 
API_VERSION = 2;    
FAILOVER = TRUE;

RT_BASEDIR=/opt/SUNWsample/bin;
PKGLIST = SUNWsample;

START         =   dns_svc_start;
STOP          =   dns_svc_stop;

VALIDATE      =   dns_validate;
UPDATE        =   dns_update;

MONITOR_START =   dns_monitor_start;
MONITOR_STOP  =   dns_monitor_stop;
MONITOR_CHECK =   dns_monitor_check;

提示 –

您必須宣告 Resource_type 屬性為 RTR 檔案中的第一個項目。 否則,資源類型的註冊將會失敗。



註解 –

RGM 處理屬性名稱時不區分大小寫。 在 Sun 提供的 RTR 檔案中,除了方法名稱,用於屬性的慣例是名稱的第一個字母大寫,而其餘的字母小寫。 方法名稱以及屬性性質包含的都是大寫字母。


以下是有關這些屬性的某些資訊:

未在此 RTR 檔案中指定的資源類型屬性 (如 Single_instanceInit_nodesInstalled_nodes) 將取得它們的預設值。 請參閱表 A–1,以取得資源類型屬性的完整清單,其中包含它們的預設值。

叢集管理員無法變更 RTR 檔案中為資源類型屬性指定的值。

RTR 檔案範例中的資源屬性

依照慣例,由您宣告 RTR 檔案中跟隨資源類型屬性的資源屬性。 資源屬性包含由 Sun Cluster 提供的系統定義的屬性以及您定義的延伸屬性。 對於兩者中任一種類型,您都可以指定一些由 Sun Cluster 提供的屬性性質,如最小值、最大值和預設值。

RTR 檔案中系統定義的屬性

以下清單將顯示 RTR 檔案範例中系統定義的屬性。

# A list of bracketed resource property declarations follows the 
# resource-type declarations. The property-name declaration must be
# the first attribute after the open curly bracket of each entry.

# The <method>_timeout properties set the value in seconds after which 
# the RGM concludes invocation of the method has failed. 

# The MIN value for all method timeouts is set to 60 seconds. This 
# prevents administrators from setting shorter timeouts, which do not 
# improve switchover/failover performance, and can lead to undesired 
# RGM actions (false failovers, node reboot, or moving the resource group 
# to ERROR_STOP_FAILED state, requiring operator intervention). Setting
# too-short method timeouts leads to a *decrease* in overall availability 
# of the data service.
{  
   PROPERTY = Start_timeout; 
   MIN=60; 
   DEFAULT=300;
}

{
   PROPERTY = Stop_timeout; 
   MIN=60; 
   DEFAULT=300;
}
{
        PROPERTY = Validate_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Update_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Monitor_Start_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Monitor_Stop_timeout;
        MIN=60;
        DEFAULT=300;
}
{
        PROPERTY = Thorough_Probe_Interval;
        MIN=1;
        MAX=3600;
        DEFAULT=60;
        TUNABLE = ANYTIME;
}

# The number of retries to be done within a certain period before concluding 
# that the application cannot be successfully started on this node.
{
        PROPERTY = Retry_Count;
        MIN=0;
        MAX=10;
        DEFAULT=2;
        TUNABLE = ANYTIME; 
}

# Set Retry_Interval as a multiple of 60 since it is converted from seconds
# to minutes, rounding up. For example, a value of 50 (seconds)
# is converted to 1 minute. Use this property to time the number of 
# retries (Retry_Count).
{
        PROPERTY = Retry_Interval;
        MIN=60;
        MAX=3600;
        DEFAULT=300;
        TUNABLE = ANYTIME;
}

{
        PROPERTY = Network_resources_used;
        TUNABLE = AT_CREATION;
        DEFAULT = ““;
}

儘管 Sun Cluster 提供系統定義的屬性,但您可以使用資源屬性性質來設定不同的預設值。 請參閱資源屬性性質,以取得可套用至資源屬性的性質之完整清單。

請注意以下有關 RTR 檔案範例中系統定義資源屬性的資訊。

RTR 檔案中的延伸屬性

RTR 檔案範例的末尾為延伸屬性,如以下清單中所示

# Extension Properties

# The cluster administrator must set the value of this property to point to the 
# directory that contains the configuration files used by the application. 
# For this application, DNS, specify the path of the DNS configuration file on 
# PXFS (typically named.conf).
{
   PROPERTY = Confdir;
   EXTENSION;
   STRING;
   TUNABLE = AT_CREATION;
   DESCRIPTION = “The Configuration Directory Path”;
}

# Time out value in seconds before declaring the probe as failed.
{
        PROPERTY = Probe_timeout;
        EXTENSION;
        INT;
        DEFAULT = 120;
        TUNABLE = ANYTIME;
        DESCRIPTION = “Time out value for the probe (seconds)”;
}

RTR 檔案範例定義 ConfdirProbe_timeout 兩個延伸屬性。 Confdir 指定 DNS 配置目錄的路徑。 此目錄包含 in.named 檔案,DNS 需要此檔案才能成功執行。 資料服務範例的 Start 方法與 Validate 方法都將使用此屬性,以驗證在啟動 DNS 之前配置目錄與 in.named 檔案是否均可存取。

配置資料服務時,Validate 方法將驗證新目錄是否可存取。

資料服務範例的 PROBE 方法不是 Sun Cluster 回呼方法,而是使用者定義的方法。 因此,Sun Cluster 不為其提供 Probe_timeout 屬性。 開發者已在 RTR 檔案中定義了延伸屬性,以允許叢集管理員配置 Probe_timeout 值。