Sun Cluster 3.0 5/02 增補

卸載較不重要的資源群組以釋放節點資源

下列特性已在 Sun Cluster 3.0 5/02 更新版次中介紹過,且適用於本更新版次以及 Sun Cluster 3.0 軟體所有後續的更新版次。

Prioritized Service Management (RGOffload) 可讓叢集自動釋出節點的資源供重要的資料服務使用。當某個重要的故障轉移資源服務需要另一個較不重要、具有延伸性或故障轉移的資料服務切換為離線狀態時,就要使用 RGOffload。RGOffload 可以卸載內含較不重要之資料服務的資源群組。


註解 -

重要的資料服務必須是具有故障轉移功能的資料服務。 要卸載的資料服務則可以是具有故障轉移功能或延伸性的資料服務。


如何設定 RGOffload 資源 (5/02)

下列變更已在 Sun Cluster 3.0 5/02 更新版次中介紹過,且適用於本更新版次以及 Sun Cluster 3.0 軟體所有後續的更新版次。

  1. 成為叢集成員的超級使用者。

  2. 檢查 RGOffload 資源類型是否已經註冊。

    以下指令會列出資源類型。


    # scrgadm -p|egrep SUNW.RGOffload
    

  3. 必要時,註冊此資源類型


    # scrgadm -a -t SUNW.RGOffload
    
    .

  4. 將要用 RGOffload 資源卸載的每個資源群組中的 Desired_primaries 設成 0。


    # scrgadm -c -g offload-rg -y Desired_primaries=0
    

  5. 將 RGOffload 資源加入重要的故障轉移資源群組內,並設定其延伸屬性。


    Caution - Caution -

    任何資源群組最多只能放在一份資源的 rg_to_offload 清單內。若將某個資源群組放在多份 rg_to_offload 清單內,可能會導致該資源群組一直重複離線與上線運作。


    關於延伸屬性的說明,請參閱 "配置 RGOffload 延伸屬性 (5/02)"


    # scrgadm -aj rgoffload-resource -t SUNW.RGOffload -g critical-rg \
    -x rg_to_offload=offload-rg-1, offload-rg-2, ...\
    -x continue_to_offload=TRUE -x max_offload_retry=15
    


    註解 -

    在此列出除了 rg_to_offload 之外其他延伸屬性的預設值。rg_to_offload 是以逗號隔開的清單,屬於彼此獨立的資源群組。此清單中不可以包含要加入 RGOffload 資源的資源群組。


  6. 啟動 RGOffload 資源。


    # scswitch -ej rgoffload-resource
    

  7. 設定 RGOffload 資源上重要的故障轉移資源的相依關係。


    # scrgadm -c -j critical-resource \
    -y Resource_dependencies=rgoffload-resource
    

    也可以使用 Resource_dependencies_weak。若將 Resource_dependencies_weak 用在 RGOffload 資源類型上,則即使卸載 offload-rg 時遇到錯誤,此項重要的故障轉移資源還是能夠啟動。

  8. 卸載資源群組並使其上線運作。


    # scswitch -z -g offload-rg, offload-rg-2, ...-h nodelist
    

    只要在所有節點上重要的資源群組為離線狀態,此資源群組便會保持上線運作。錯誤監視器會防止在重要的資源群組為上線狀態的同時執行資源群組。

    由於要卸載的資源群組的 Desired_primaries 設定為 0 (請參閱 步驟 4),因此 -Z 選項不會讓這些資源群組上線運作。

  9. 如果重要的故障轉移資源群組未上線,則讓它上線運作。


    # scswitch -Z -g critical-rg
    

範例 - 配置 RGOffload 資源

此範例說明如何配置 RGOffload 資源 (rgofl)、含有 RGOffload 資源的重要資源群組 (oracle_rg) 以及當重要的資源群組上線運作時即卸載的延伸性資源群組 (IWS-SC, IWS-SC-2)。此範例中的重要資源為 oracle-server-rs

在此範例中,可在 triped 叢集的任何節點上控制 oracle_rgIWS-SCIWS-SC-2phys-triped-1phys-triped-2phys-triped-3


[Determine whether the SUNW.RGOffload resource type is registered.]
# scrgadm -p|egrep SUNW.RGOffload
 
[If needed, register the resource type.]
# scrgadm -a -t SUNW.RGOffload
 
[Set the Desired_primaries to zero in each resource group to be offloaded by 
the RGOffload resource.]
# scrgadm -c -g IWS-SC-2 -y Desired_primaries=0
# scrgadm -c -g IWS-SC -y Desired_primaries=0
 
[Add the RGOffload resource to the critical resource group and set the extension properties.]
# scrgadm -aj rgofl -t SUNW.RGOffload -g oracle_rg \
-x rg_to_offload=IWS-SC,IWS-SC-2 -x continue_to_offload=TRUE \
-x max_offload_retry=15
 
[Enable the RGOffload resource.]
# scswitch -ej rgofl
 
[Set the dependency of the critical failover resource to the RGOffload resource.]
# scrgadm -c -j oracle-server-rs -y Resource_dependencies=rgofl
 
[Bring the resource groups to be offloaded online on all nodes.]
# scswitch -z -g IWS-SC,IWS-SC-2 -h phys-triped-1,phys-triped-2,phys-triped-3
 
[If the critical failover resource group is not online, bring it online.]
# scswitch -Z -g oracle_rg

配置 RGOffload 延伸屬性 (5/02)

下列變更已在 Sun Cluster 3.0 5/02 更新版次中介紹過,且適用於本更新版次以及 Sun Cluster 3.0 軟體所有後續的更新版次。

一般而言,會在建立 RGOffload 資源時,使用指令行 scrgadm -x parameter=value 配置延伸屬性。關於 Sun Cluster 所有標準屬性的詳細資訊,請參閱 Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide 中的「標準屬性」。

表 5-1 說明可為 RGOffload 配置的延伸屬性。其中「調整時機」項目代表該屬性何時可予以更新。

表 5-1 RGOffload 延伸屬性

名稱/資料類型 

預設值 

rg_to_offload (字串)

當重要的資源群組在某個節點上啟動時,要在該節點上卸載之資源群組以逗號分隔的清單。此清單不應包含彼此有相依關係的資源群組。此屬性無預設值,必須加以設定。 

 

RGOffload 不會檢查 rg_to_offload 延伸屬性中所設定之資源群組清單內,是否有任何相依關係迴路。例如,假設資源群組 RG-B 以某種方式依靠 RG-A,則 rg_to_offload 中不應包含 RG-ARG-B 兩者。

 

預設值:

調整時機: 任何時候

continue_to_offload (布林值) 

此一布林值表示卸載某個資源群組發生錯誤後,是否要繼續卸載 rg_to_offload 清單中剩餘的資源群組。

 

只有 START 方法會使用此項屬性。 

 

預設值:True

調整時機: 任何時候

max_offload_retry (整數)

因叢集或資源群組重新配置而啟動時,嘗試卸載資源群組的次數。兩次重試動作之間的時間間隔為 10 秒。 

 

max_offload_retry 應設定成讓 (要卸載的資源群組個數 * max_offload_retry * 10 秒) 的值小於 RGOffload 資源的 Start_timeout 值。如果此計算結果接近,甚至大於 Start_timeout 的值,則 RGOffload 資源的 START 方法就有可能在完成所有卸載嘗試動作之前就逾時了。

 

只有 START 方法會使用此項屬性。 

 

預設值:15

調整時機: 任何時候

錯誤監視器 (5/02)

下列變更已在 Sun Cluster 3.0 5/02 更新版次中介紹過,且適用於本更新版次以及 Sun Cluster 3.0 軟體所有後續的更新版次。

RGOffload 資源的測試「錯誤監視器」可以讓 rg_to_offload 延伸屬性中指定的資源群組,在控制重要資源的節點上保持離線狀態。每次進行探測時,「錯誤監視器」都會檢查控制重要資源的節點上,應該要卸載的資源 (offload-rg) 是否已經離線。如果控制重要資源節點上的 offload-rg 為上線狀態,則「錯誤監視器」便會嘗試啟動其他節點上的 offload-rg,藉此讓控制重要資源之節點上的 offload-rg 離線。

由於 offload-rgdesired_primaries 設定成 0,因此已卸載的資源群組不會在稍後上線運作的節點上重新啟動。這麼一來,在讓控制重要資源之節點上的 offload-rg 保持離線狀態的同時,「RGOffload 錯誤監視器」便會嘗試啟動更多主要節點上的 offload-rg,直到達到 maximum_primaries 的限制為止。

RGOffload 會嘗試啟動所有已經卸載的資源群組,除了處於維護或不管理狀態的之外。若要將資源群組切換為不管理狀態,可利用 scswitch 指令執行。


# scswitch -u -g resourcegroup

每隔一段 Thorough_probe_interval,「錯誤監視器」探測便會開始一連串檢查。