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

資源特性

本小節描述 Sun Cluster 所定義的資源特性。對特性值進行分類,如下所示 (在 [種類] 之後):

[可調] 列出您是否以及何時可以更新資源特性,如下所示:

NONEFALSE

永遠不 

TRUEANYTIME

任何時候 

AT_CREATION

在將資源加入叢集時 

WHEN_DISABLED

在資源被停用時 

首先會顯示特性名稱,其後跟隨相關描述。

Affinity_timeout (整數)

時間長度 (以秒為單位),在此時間長度內,從資源中的任意服務之給定用戶端 IP 位址的連線被傳送到同一伺服器節點。

僅當 Load_balancing_policyLb_sticky 或者 Lb_sticky_wild 時,此特性才是有意義的。此外,必須將 Weak_affinity 設定為 FALSE (預設值)。

此特性僅用於可延伸服務。

種類:

可選用的

預設值:

沒有預設值

可調:

ANYTIME

Cheap_probe_interval (整數)

在兩次資源故障快速探測的呼叫之間的秒數。此特性由 RGM 建立,僅當在 RTR 檔案中宣告了此特性時,管理員才可以使用它。

如果在 RTR 檔案中指定了預設值,則此特性是可選用的。如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 WHEN_DISABLED

如果在 RTR 檔案中宣告了此特性,且未指定 Default 屬性,則此特性是必需的。

種類:

條件式

預設值:

沒有預設值

可調:

WHEN_DISABLED

延伸特性

在資源類型的 RTR 檔案中宣告的延伸特性。資源類型的實作定義這些特性。資源特性性質包含關於您可以為延伸特性設定的個別特性之資訊。

種類:

條件式

預設值:

沒有預設值

可調:

取決於特定的特性

Failover_mode (列舉)

當 Start 方法 (Prenet_startStart) 失敗時,NONESOFTHARD 僅影響防故障備用行為。然而,當資源成功啟動後,NONESOFTHARD 不會影響資源監視器使用 scha_control(1HA)scha_control(3HA) 所引發的後續資源的重新啟動或停止行為。NONE (預設值) 指示 RGM 在方法失敗時設定資源狀態,並等待使用者介入。SOFT 指示在 Start 方法失敗時,RGM 重新將資源群組定位至其他節點。如果 StopMonitor_stop 方法失敗,RGM 會將資源設定為 Stop_failed 狀態,並將資源群組設定為 Error_stop_failed 狀態。然後,RGM 等待使用者介入。對於StopMonitor_stop 失敗,NONESOFT 是相同的。HARD 指示在 Start 方法失敗時,RGM 將重新定位群組。如果 StopMonitor_stop 方法失敗,則 RGM 會透過中斷叢集節點來停止資源。當 StartPrenet_start 方法失敗時,HARDNONESOFT 會影響防故障備用行為。

NONESOFTHARD 不同,RESTART_ONLYLOG_ONLY 會影響所有防故障備用行為,包括監視器引發的 (scha_control) 資源和資源群組的重新啟動,以及資源監視器 (scha_control) 引發的停止。RESTART_ONLY 指示監視器可以運行 scha_control 來重新啟動資源,但隨後使用 scha_control 嘗試執行資源群組的重新啟動或停止會失敗。RGM 允許在 Retry_interval 內重新啟動 Retry_count 次。如果超過 Retry_count 次,則不允許重新啟動資源。如果 Failover_mode 設定為 LOG_ONLY,則不允許重新啟動或停止資源。將 Failover_mode 設定為 LOG_ONLY,與將 Failover_mode 設定為 RESTART_ONLY (Retry_count 設定為零) 是等效的。如果 start 方法失敗,則 RESTART_ONLYLOG_ONLYNONE 是等效的:不會發生任何防故障備用,且資源轉為 Start_failed 狀態。

種類:

可選用的

預設值:

沒有預設值

可調:

ANYTIME

Load_balancing_policy (字串)

定義所使用的負載平衡策略之字串。此特性僅用於可延伸服務。如果在 RTR 檔案中宣告了 Scalable 特性,則 RGM 將自動建立此特性。Load_balancing_policy 可以採用以下值:

Lb_weighted (預設值)。負載是依照 Load_balancing_weights 特性中所設定的權重而在各節點中分布的。

Lb_sticky。總是將可延伸服務的給定用戶端 (由用戶端 IP 位址識別) 發送到叢集的同一個節點。

Lb_sticky_wild。總是將與萬用字元居留服務的 IP 位址連線的給定用戶端 IP 位址傳送到同一個叢集節點,而不管該 IP 位址將要導向至哪個連接埠號。

種類:

條件式/選用

預設值:

Lb_weighted

可調:

AT_CREATION

Load_balancing_weights (字串陣列)

僅用於可延伸資源。如果在 RTR 檔案中宣告了 Scalable 特性,則 RGM 將自動建立此特性。格式為 weight@node,weight@node,其中 weight 是一個整數,反映分布到指定 node 的負載之相對部分。權重總量除以節點的權重即為分配到該節點的負載分數值。例如,1@1,3@2 表明節點 1 接收到 1/4 的負載,節點 2 接收到 3/4 的負載。預設值空字串 (“”) 設定均勻的分布。未指定有明確權重的任何節點均會接收到預設權重 1。

如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 ANYTIME。變更此特性將只修改新連接的分配。

種類:

條件式/選用

預設值:

空字串 (“”)

可調:

ANYTIME

適用於 Type (整數) 中的各種回呼方法之 method_timeout

時延 (以秒為單位),在此時延之後 RGM 會推斷出該方法的呼叫已失敗。

種類:

條件式/選用

預設值:

如果在 RTR 檔案中宣告了方法本身,則預設值為 3,600 (1 小時)

可調:

ANYTIME

Monitored_switch (列舉)

如果叢集管理員使用管理公用程式啟用或停用監視器,則由 RGM 設定為 Enabled 或者 Disabled。如果設定為 Disabled,則在再次啟用監視器之前,監視器的 Start 方法不會被呼叫。如果資源不具有監視器回呼方法,則此特性不存在。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

永遠不

Network_resources_used (字串陣列)

資源使用的邏輯主機名稱或共用位址網路資源之清單。對於可延伸服務,此特性必須是指存在於單獨資源群組的共用位址資源。對於故障轉移服務,此特性是指存在於同一資源群組之邏輯主機名稱或共用位址資源。如果在 RTR 檔案中宣告了 Scalable 特性,則 RGM 將自動建立此特性。如果在 RTR 檔案中未宣告 Scalable,則無法使用 Network_resources_used,除非在 RTR 檔案中明確宣告此特性。

如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 AT_CREATION


注意 –

SUNW.Event(5) 線上說明手冊描述了如何為 CRNP 設置此特性。


種類:

條件式/必需的

預設值:

沒有預設值

可調:

AT_CREATION

每個叢集節點上的 Num_resource_restarts (整數)

您無法直接設定此特性,因為此特性由 RGM 設定為在過去的 n 秒內在此節點上對此資源所進行的 scha_controlResource_restartResource_is_restarted 呼叫之數目。n 為此資源 Retry_interval 特性的值。每當此資源執行 scha_control 停止時,無論停止嘗試是成功還是失敗,RGM 均會將資源重新啟動計數器重設為零。

如果資源類型未宣告 Retry_interval 特性,則 Num_resource_restarts 特性不能用於該類型的資源。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

每個叢集節點上的 Num_rg_restarts (整數)

您無法直接設定此特性,RGM 將其設定為在過去的 n 秒內在此節點上由此資源對包含的資源群組所進行的 scha_control Restart 呼叫之數目,其中 n 為此資源 Retry_interval 特性的值。如果資源類型未宣告 Retry_interval 特性,則 Num_rg_restarts 特性不能用於該類型的資源。

種類:

請參閱說明

預設值:

沒有預設值

可調:

On_off_switch (列舉)

如果叢集管理員使用管理公用程式啟用或停用資源,則由 RGM 設定為 Enabled 或者 Disabled。如果停用,則會使資源離線,並在再次啟用此資源之前,不會呼叫任何回呼。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

永遠不

Port_list (字串陣列)

伺服器在其上進行偵聽的通訊埠編號之清單。附加至各連接埠號的是一條斜線 (/),其後跟隨該連接埠所使用的協定,例如,Port_list=80/tcpPort_list=80/tcp6,40/udp6。您可以指定下列協定值:

  • tcp (用於 TCP IPv4)

  • tcp6 (用於 TCP IPv6)

  • udp (用於 UDP IPv4)

  • udp6 (用於 UDP IPv6)

如果在 RTR 檔案中宣告了 Scalable 特性,則 RGM 會自動建立 Port_list。否則,此特性是不可用的,除非在 RTR 檔案中明確宣告該特性。

Sun Cluster Data Service for Apache Guide for Solaris OS中,有為 Apache 設置此特性的描述。

種類:

條件式/必需的

預設值:

沒有預設值

可調:

AT_CREATION

R_description (字串)

資源的簡單說明。

種類:

可選用的

預設值:

空字串

可調:

ANYTIME

Resource_dependencies (字串陣列)

相同群組或不同群組中的資源之清單,此資源對這些資源具有牢固依賴性。如果清單中的任一資源不在線上,則無法啟動此資源。如果此資源與清單中的一個資源同時啟動,則 RGM 會等到清單中的資源啟動之後再啟動此資源。如果此資源的 Resource_dependencies 清單中的資源未啟動,則此資源也會保持離線狀態。此資源的清單中的資源可能不啟動,原因是清單中資源的資源群組保持離線狀態,或清單中的資源處於 Start_failed 狀態。如果此資源因為依賴於其他啟動失敗的資源群組中的資源而保持離線狀態,則此資源的群組會進入 Pending_online_blocked 狀態。

如果讓此資源與清單中的那些資源同時離線,則此資源會先於清單中的那些資源停止。然而,如果此資源保持離線狀態或停止失敗,則清單中位於其他資源群組中的資源無論如何均會停止。除非先停用此資源,否則無法停用清單中的資源。

依預設,在資源群組中,應用程式資源對網路位址資源有隱式牢固資源依賴性。資源群組特性中的 Implicit_network_dependencies 包含更多資訊。

在資源群組內,將以依賴性順序在運行 Start 方法之前運行 Prenet_start 方法。以依賴性順序在運行 Stop 方法之後運行 Postnet_stop 方法。在不同的資源群組中,依賴者等待所依賴的資源先完成 Prenet_startStart,然後運行 Prenet_start。所依賴的資源等待依賴者先完成 StopPostnet_stop,然後運行 Stop

種類:

可選用的

預設值:

空清單

可調:

ANYTIME

Resource_dependencies_restart (字串陣列)

相同群組或不同群組中的資源之清單,此資源對這些資源具有重新啟動依賴性。

如果重新啟動依賴性清單的任何資源重新啟動,則此資源會重新啟動,除此之外,此特性與 Resource_dependencies 的工作方式相同。在清單中的資源重新上線之後,此資源會重新啟動。

種類:

可選用的

預設值:

空清單

可調:

ANYTIME

Resource_dependencies_weak (字串陣列)

相同群組或不同群組中的資源之清單,此資源對這些資源具有弱依賴性。弱依賴性決定方法呼叫的順序。RGM 先呼叫清單中資源的 Start 方法,然後呼叫此資源的 Start 方法。RGM 先呼叫此資源的 Stop 方法,然後呼叫清單中那些資源的 Stop 方法。如果清單中的那些資源啟動失敗或保持離線狀態,則此資源仍可以啟動。

如果此資源與其 Resource_dependencies_weak 清單中的某個資源同時啟動,則 RGM 會等到清單中的資源啟動之後再啟動此資源。如果清單中的資源未啟動 (例如,清單中資源的資源群組保持離線狀態,或清單中的資源處於 Start_failed 狀態),則此資源會啟動。當此資源的 Resource_dependencies_weak 清單中的資源啟動時,此資源的資源群組可能會暫時進入 Pending_online_blocked 狀態。當清單中的所有資源已啟動或啟動失敗時,此資源會啟動,且其群組會重新進入 Pending_online 狀態。

如果讓此資源與清單中的那些資源同時離線,則此資源會先於此清單中的那些資源停止。如果此資源保持離線狀態或停止失敗,則清單中的資源無論如何均會停止。除非先停用此資源,否則無法停用清單中的資源。

在資源群組內,將以依賴性順序在運行 Start 方法之前運行 Prenet_start 方法。以依賴性順序在運行 Stop 方法之後運行 Postnet_stop 方法。在不同的資源群組中,依賴者等待所依賴的資源先完成 Prenet_startStart,然後運行 Prenet_start。所依賴的資源等待依賴者先完成 StopPostnet_stop,然後運行 Stop

種類:

可選用的

預設值:

空清單

可調:

ANYTIME

Resource_name (字串)

資源實例的名稱。此名稱在叢集配置中必須是唯一的,並且在建立資源後,無法對其進行變更。

種類:

必需的

預設值:

沒有預設值

可調:

永遠不

Resource_project_name (字串)

與資源關聯的 Solaris 專案名稱。使用此特性可將 Solaris 資源管理功能 (例如 CPU 共用和資源集區) 套用至叢集資料服務。當 RGM 使資源上線運作時,此特性便會啟動此專案名稱下的相關程序。如果未指定此特性,則會將專案名稱從包含此資源的資源群組之 RG_project_name 特性中取出 (請參閱 rg_properties (5))。如果未指定兩種特性中的任一特性,則 RGM 會使用預先定義的專案名稱 default。指定的專案名稱必須存在於專案資料庫中,還必需將使用者 root 配置為命名專案的成員。僅在 Solaris 9 及更高版本的 Solaris 中才支援此特性。


注意 –

對此特性的變更將在下次啟動此資源時生效。


種類:

可選用的

預設值:

Null (空)

可調:

ANYTIME

每個叢集節點上的 Resource_state (列舉)

在每個叢集節點上由 RGM 決定的資源狀態。可能的狀態為 OnlineOfflineStart_failedStop_failedMonitor_failedOnline_not_monitoredStartingStopping

您無法配置這個特性。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

永遠不

Retry_count (整數)

資源失敗時監視器可以嘗試重新啟動資源的次數。此特性由 RGM 建立,僅當在 RTR 檔案中宣告了此特性時,管理員才可以使用它。如果在 RTR 檔案中指定了預設值,則 Retry_count 是可選擇的。

如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 WHEN_DISABLED

如果在 RTR 檔案中宣告了此特性,且未指定 Default 屬性,則此特性是必需的。

種類:

條件式

預設值:

沒有預設值

可調:

WHEN_DISABLED

Retry_interval (整數)

試圖重新啟動失敗資源的間隔秒數。資源監視器將此特性與 Retry_count 配合使用。此特性由 RGM 建立,僅當在 RTR 檔案中宣告了此特性時,管理員才可以使用它。如果在 RTR 檔案中指定了預設值,則 Retry_interval 是可選擇的。

如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 WHEN_DISABLED

如果在 RTR 檔案中宣告了此特性,且未指定 Default 屬性,則此特性是必需的。

種類:

條件式

預設值:

沒有預設值

可調:

WHEN_DISABLED

Scalable (布林值)

指示資源是否是可延伸的,也就是說,資源是否使用 Sun Cluster 的網路負載平衡功能。

如果在 RTR 檔案中宣告了此特性,則 RGM 將為該類型的資源自動建立以下可延伸服務特性:Affinity_timeoutLoad_balancing_policyLoad_balancing_weightsNetwork_resources_usedPort_listUDP_affinityWeak_affinity。這些特性均有其預設值,除非在 RTR 檔案中對它們進行了明確宣告。在 RTR 檔案中宣告 Scalable 時,其預設值為 TRUE

如果在 RTR 檔案中宣告此特性,則不允許為其指定除 AT_CREATION 之外的 Tunable 屬性。

如果在 RTR 檔案中未宣告此特性,則資源是不可延伸的,您無法調校此特性,並且 RGM 不會設定任何可延伸服務特性。然而,您可以在 RTR 檔案中明確宣告 Network_resources_used 特性與 Port_list 特性,因為這兩種特性在非可延伸服務與及可延伸服務中均有用。

您可以將此資源特性與 Failover 資源類型特性結合使用,如下所示:

r_properties(5) 中更加詳細地描述了如何將此資源特性與 Failover 資源類型特性結合使用。

種類:

可選用的

預設值:

沒有預設值

可調:

AT_CREATION

每個叢集節點上的 Status (列舉)

由資源監視器使用 scha_resource_setstatus(1HA)scha_resource_setstatus(3HA) 所設定。可能的值為 OKdegradedfaultedunknownoffline。使資源上線或離線時,如果此資源的監視器或方法未設定 Status 的值,則 RGM 會自動設定 Status 的值。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

永遠不

每個叢集節點上的 Status_msg (字串)

資源監視器設定 Status 特性的同時進行設定。使資源上線或離線時,如果此資源的方法未設定此特性,則 RGM 會自動將此特性重設為空字串。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

永遠不

Thorough_probe_interval (整數)

在兩次資源高耗用時間故障探測的呼叫之間的秒數。此特性由 RGM 建立,僅當在 RTR 檔案中宣告了此特性時,管理員才可以使用它。如果在 RTR 檔案中指定了預設值,則 Thorough_probe_interval 是可選擇的。

如果在資源類型檔案中未指定 Tunable 屬性,則此特性的 Tunable 值為 WHEN_DISABLED

如果在 RTR 檔案的特性宣告中未指定 Default 性質,則此特性是必需的。

種類:

條件式

預設值:

沒有預設值

可調:

WHEN_DISABLED

Type (字串)

此資源的資源類型就是一個實例。

種類:

必需的

預設值:

沒有預設值

可調:

永遠不

Type_version (字串)

指定當前與此資源相關聯的資源類型之版本。RGM 自動建立這個無法在 RTR 檔案中宣告的特性。此特性的值與資源類型的 RT_version 特性相等。建立資源時,Type_version 特性未明確指定,儘管它可能作為資源類型名稱的後綴出現。編輯資源時,可以將 Type_version 變更為新的值。

此特性的可調性源自下列來源:

  • 目前版本的資源類型

  • RTR 檔案中的 #$upgrade_from 指令

種類:

請參閱說明

預設值:

沒有預設值

可調:

請參閱說明

UDP_affinity (布林值)

如果為 True,則會將給定用戶端的所有 UDP 通訊發送到目前處理用戶端的所有 TCP 通訊之同一伺服器節點。

僅當 Load_balancing_policyLb_sticky 或者 Lb_sticky_wild 時,此特性才是有意義的。此外,必須將 Weak_affinity 設定為 FALSE (預設值)。

此特性僅用於可延伸服務。

種類:

可選用的

預設值:

沒有預設值

可調:

WHEN_DISABLED

Weak_affinity (布林值)

如果為 True,則啟用用戶端相似性的弱化形式。用戶端相似性的弱化形式允許將自給定用戶端的連線傳送到同一伺服器節點,以下情況除外:

  • 例如,當伺服器偵聽程式由於故障監視器重新啟動、資源的防故障備用或切換保護移轉或者節點在發生故障後重新連結叢集而啟動時

  • 當可延伸資源的 Load_balancing_weights 由於某個管理動作而變更時

弱相似性在記憶體消耗與處理器週期方面為預設形式提供了低耗用時間的選擇。

僅當 Load_balancing_policyLb_sticky 或者 Lb_sticky_wild 時,此特性才是有意義的。

此特性僅用於可延伸服務。

種類:

可選用的

預設值:

沒有預設值

可調:

WHEN_DISABLED