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

資源群組特性

以下資訊說明由 Sun Cluster 軟體定義的資源群組特性。特性值分類如下:

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

Auto_start_on_new_cluster (boolean)

此特性控制 Resource Group Manager (RGM) 是否在形成新叢集時自動啟動資源群組。預設值為 TRUE

如果設定為 TRUE,則在叢集的所有節點同時重新啟動時,RGM 會嘗試自動啟動資源群組以達成 Desired_primaries

如果設定為 FALSE,則叢集重新啟動時,資源群組不會自動啟動。資源群組會一直保持離線狀態,直到首次透過使用 scswitch 指令或等效的 GUI 指令手動將資源群組切換為線上。此後,資源群組將繼續一般的容錯移轉運作方式。

種類:

選項

預設值:

TRUE

可調:

ANYTIME

Desired_primaries (integer)

可以同時執行群組之節點的喜好數量。

預設值為 1。如果 RG_mode 特性為 Failover,則該特性的值必須不大於 1。如果 RG_mode 特性為 Scalable,則允許大於 1 的值。

種類:

選項

預設值:

1

可調:

ANYTIME

Failback (boolean)

一個布林值,表示當叢集成員資格變更時,是否重新計算群組已處於線上狀態的節點集。重新計算將導致 RGM 使群組在喜好程度低的節點上離線,在喜好程度高的節點上上線。

種類:

選項

預設值:

FALSE

可調:

ANYTIME

Global_resources_used (string_array)

指示叢集檔案系統是否由此資源群組中的任何資源使用。叢集管理員可以指定的合法值是星號 (*) (表示所有全域資源) 以及空字串 (“”) (表示沒有全域資源)。

種類:

選項

預設值:

所有全域資源

可調:

ANYTIME

Implicit_network_dependencies (boolean)

一個布林值,當為 TRUE 時,表示 RGM 應該在群組內執行非網路位址資源對網路位址資源的隱含強相依性。這表示在群組內,RGM 會在啟動所有其他資源之前,先啟動所有網路位址資源,並在停止所有其他資源之後,才停止網路位址資源。網路位址資源包含邏輯主機名稱和共用位址資源類型。

在可延伸資源群組中,可延伸資源群組不含有任何網路位址資源,因此該特性不起作用。

種類:

選項

預設值:

TRUE

可調:

ANYTIME

Maximum_primaries (integer)

群組可以同時處於線上的最大節點數。

如果 RG_mode 特性為 Failover,則該特性的值必須不大於 1。如果 RG_mode 特性為 Scalable,則允許大於 1 的值。

種類:

選項

預設值:

1

可調:

ANYTIME

Nodelist (string_array)

叢集節點清單,可按照喜好順序在這些節點上將群組置於線上。這些節點被稱為資源群組的潛在主節點或主控者。

種類:

選項

預設值:

所有叢集節點依照任意順序排列的清單。

可調:

ANYTIME

Pathprefix (string)

叢集檔案系統中的目錄;群組中的資源可在其中寫入必要的管理檔案。某些資源可能需要此特性。使 Pathprefix 針對每個資源群組均是唯一的。

種類:

選項

預設值:

空字串

可調:

ANYTIME

Pingpong_interval (integer)

一個非負整數值 (以秒為單位),由 RGM 用來決定在以下情況中將資源群組置於線上狀態的位置︰

  • 在重新配置時

  • 執行 scha_control GIVEOVER 指令或函數之後

在重新配置時,資源群組在過去的 Pingpong_interval 秒內多次連線到特定節點會失敗。這種失敗是因為資源的 StartPrenet_start 方法以非零狀態結束或逾時。因此,會認為節點不適合管理資源群組,RGM 將尋找其他主控者。

如果資源在給定節點上執行 scha_control 指令或 scha_control GIVEOVER 指令而導致其資源群組容錯移轉至其他節點,則直到 Pingpong_interval 結束後,該資源才會將第一個節點 (執行 scha_control 指令的節點) 作為其他 scha_control GIVEOVER 的目標。

種類:

選項

預設值:

3600 (1 小時)

可調:

ANYTIME

Resource_list (string_array)

群組中包含的資源之清單。叢集管理員不能直接設定此特性,而是在叢集管理員在資源群組中增加或移除資源時,RGM 會更新此特性。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

NONE

RG_affinities (string)

RGM 將嘗試在其他給定資源群組的目前寄主之節點上 (正關聯性) 或不是給定資源群組的目前寄主之節點上 (負關聯性) 找到資源群組。

您可以將 RG_affinities 設定為下列字串:

  • ++ 或強的正關聯性

  • + 或弱的正關聯性

  • - 或弱的負關聯性

  • -- 或強的負關聯性

  • +++ 或具有防故障備用委派的強的正關聯性

例如,RG_affinities=+RG2,--RG3 指示此資源群組的 RG2 具有弱的正關聯性,RG3 具有強的負關聯性。

「Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的第 2 章「Administering Data Service Resources」說明如何使用 RG_affinities

種類:

選項

預設值:

空字串

可調:

ANYTIME

RG_dependencies (string_array)

資源群組的可選用清單,表示在同一節點上將其他群組置於線上或離線狀態的喜好順序。所有強 RG_affinities (正值和負值) 和 RG_dependencies 的圖形含有循環。

例如,假定資源群組 RG2 位於群組 RG1 的 RG_dependencies 清單中,即 RG1 對 RG2 具有資源群組相依性。以下清單概述了此資源群組相依性的影響︰

  • 當某節點連結叢集時,直到該節點的所有 Boot 方法在 RG2 的資源上完成之後,才會於 RG1 的資源上運行該節點的 Boot 方法。

  • 如果 RG1 和 RG2 在同一節點上同時處於 PENDING_ONLINE 狀態,則直到 RG2 中的所有資源完成啟動方法 (Prenet_startStart) 後,RG1 中的資源上才會執行啟動方法。

  • 如果 RG1 和 RG2 在同一節點上同時處於 PENDING_OFFLINE 狀態,則直到 RG1 中的所有資源都完成停止方法 (StopPostnet_stop) 後,RG2 中的資源上才會執行停止方法。

  • 如果在嘗試切換 RG1 或 RG2 的主節點時,使 RG1 在任一節點上線,而 RG2 在所有節點離線,則切換主節點會失敗。scswitch(1M)scsetup(1M) 線上手冊含有更多資訊。

  • 如果在 RG2 上將 Desired_primaries 設定為零,則不允許在 RG1 上將 Desired_primaries 特性設定為大於零的值。

  • 如果在 RG2 上將 Auto_start_on_new_cluster 特性設定為 FALSE,則不允許在 RG1 上將 Auto_start_on_new_cluster 特性設定為 TRUE

種類:

選項

預設值:

空清單

可調:

ANYTIME

RG_description (string)

資源群組的簡單說明。

種類:

選項

預設值:

空字串

可調:

ANYTIME

RG_is_frozen (boolean)

一個布林值,指示是否對資源群組所依賴的全域裝置進行故障保護移轉。如果此特性設定為 TRUE,則正在切換保護轉移全域裝置。如果此特性設定為 FALSE,則不對全域裝置進行故障保護移轉。資源群組依賴全域裝置,如其 Global_resources_used 特性所指示。

您不會直接設定 RG_is_frozen 特性。在全域裝置的狀態變更時,RGM 會更新 RG_is_frozen 特性。

種類:

選項

預設值:

沒有預設值

可調:

NONE

RG_mode (enum)

表示資源群組是容錯移轉群組或是可延伸群組。如果值為 Failover,則 RGM 將群組的 Maximum_primaries 特性設定為 1,並限制資源群組由單一節點主控。

如果此特性的值為 Scalable,則 RGM 允許將 Maximum_primaries 特性設定為大於 1 的值。從而群組可由多個節點同時主控。RGM 不允許將 Failover 特性為 TRUE 的資源增加到其 RG_modeScalable 的資源群組中。

如果 Maximum_primaries 為 1,則預設值為 Failover。如果 Maximum_primaries 大於 1,則預設值為 Scalable

種類:

選項

預設值:

依賴於 Maximum_primaries 的值

可調:

NONE

RG_name (string)

資源群組的名稱。此特性是必需的,且在叢集中必須唯一。

種類:

必需的

預設值:

沒有預設值

可調:

NONE

RG_project_name (string)

與資源群組關聯的 Solaris 專案名稱 (請參閱 projects(1) 線上手冊)。使用這個特性將 Solaris 資源管理功能 (如 CPU 共用和資源集區) 套用至叢集資料服務。RGM 將資源群組置於線上後,將此專案名稱下啟動不具有 Resource_project_name 特性設定之資源的相關程序 (請參閱 r_properties(5) 線上手冊)。指定的專案名稱在專案資料庫中必須存在 (請參閱 projects(1) 線上手冊以及「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones」)。

僅從 Solaris 9 開始才支援此特性。


備註 –

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


種類:

選項

預設值:

文字字串「default

可調:

ANYTIME

RG_state 位於每個叢集節點上 (enum)

由 RGM 設定為 UNMANAGEDONLINEOFFLINEPENDING_ONLINEPENDING_OFFLINEERROR_STOP_FAILEDONLINE_FAULTEDPENDING_ONLINE_BLOCKED,用來說明群組在每個叢集節點上的狀態。

您無法配置這個特性。但是,您可以透過執行 scswitch 指令或使用等效的 scsetup 或 SunPlex Manager 指令直接設定此特性。當群組不在 RGM 控制下時,它可以以 UNMANAGED 狀態存在。

以下說明概述了每種狀態。


備註 –

狀態僅套用至個別節點,但 UNMANAGED 狀態除外,其套用至所有節點。例如,資源群組可能在節點 A 上為 OFFLINE,但在節點 B 上為 PENDING_ONLINE


UNMANAGED

新建資源群組的初始狀態或先前管理的資源群組之狀態。Init 方法未在群組的資源上執行,或 Fini 方法已經在群組的資源上執行。

群組不由 RGM 管理。

ONLINE

在節點上已啟動。也就是說,啟動方法 Prenet_startStartMonitor_start 適用於每種資源,在群組中所有啟用的資源上成功執行。

OFFLINE

資源群組在節點上已停止。也就是說,停止方法 Monitor_stopStopPostnet_stop 適用於每種資源,在群組中所有啟用的資源上成功執行。在資源群組在節點上首次啟動之前,也會套用此狀態。

PENDING_ONLINE

資源群組在節點上正在啟動。啟動方法 Prenet_startStartMonitor_start 適用於每種資源,正在群組中啟用的資源上執行。

PENDING_OFFLINE

資源群組在節點上正在停止。停止方法 Monitor_stopStopPostnet_stop 適用於每種資源,正在群組中啟用的資源上執行。

ERROR_STOP_FAILED

資源群組中的一種或多種資源無法成功停止並處於 Stop_failed 狀態。群組中的其他資源可能保持線上狀態或離線狀態。直到清除 ERROR_STOP_FAILED 狀態後,才允許此資源群組在任何節點上啟動。

您必須使用管理指令 (如 scswitch -c) 手動停止 Stop_failed 資源並將其狀態重設為 OFFLINE

ONLINE_FAULTED

資源群組處於 PENDING_ONLINE 並在此節點上已完成啟動。但是,一個或多個資源以 Start_failed 狀態或 Faulted 狀態結束。

PENDING_ONLINE_BLOCKED

資源群組無法完全啟動,因為此資源群組中的一個或多個資源對其他資源群組中的資源具有未滿足的強資源相依性。這些資源保持 OFFLINE。滿足資源相依性後,資源群組會自動返回 PENDING_ONLINE 狀態。

種類:

僅限於查詢

預設值:

沒有預設值

可調:

NONE

RG_system (boolean)

如果資源群組的 RG_system 特性為 TRUE,對資源群組和資源群組所含有的資源執行的特定作業將受到限制。此限制旨在協助防止對重要資源群組和資源的意外修改或刪除。此特性僅影響 scrgadmscswitch 指令。不影響對 scha_control(1HA)scha_control(3HA) 的作業。

在對資源群組 (或資源群組的資源) 執行限制作業之前,您必須先將資源群組的 RG_system 特性設定為 FALSE。當您修改或刪除支援叢集服務的資源群組,或者修改或刪除此類資源群組包含的資源時,請小心操作。

作業 

範例 

刪除資源群組 

scrgadm -r -g RG1

編輯資源群組特性 (RG_system 除外)

scrgadm -c -t RG1 -y nodelist=...

向資源群組增加資源 

scrgadm -a -j R1 -g RG1

從資源群組刪除資源 

scrgadm -r -j R1 -g RG1

編輯屬於資源群組的資源之特性 

scrgadm -c -j R1

將資源群組切換為離線 

scswitch -F -g RG1

管理資源群組 

scswitch -o -g RG1

解除管理資源群組 

scswitch -u -g RG1

啟用資源 

scswitch -e -j R1

啟用資源的監視功能 

scswitch -e -M -j R1

停用資源 

scswitch -n -j R1

停用資源的監視功能 

scswitch -n -M -j R1

如果資源群組的 RG_system 特性為 TRUE,則您唯一可以編輯的資源群組的特性為 RG_system 特性本身。也就是說,編輯 RG_system 特性永遠不受限制。

種類:

選項

預設值:

FALSE

可調:

ANYTIME