Sun Cluster データサービスの計画と管理 (Solaris OS 版)

プライオリティが低いリソースグループをオフロードすることによるノードリソースの解放

プライオリティ付きサービス管理 (RGOffload) を使用すると、プライオリティが高いデータサービス用にノードのリソースを自動的に解放できます。 RGOffload は、プライオリティが高いフェイルオーバーデータサービスを起動するために、プライオリティが低いスケーラブルデータサービスまたはフェイルオーバーデータサービスをオフラインにする必要があるときに使用します。 RGOffload は、プライオリティが低いデータサービスを含むリソースグループをオフロードするときに使用します。


注 –

プライオリティが高いデータサービスはフェイルオーバー可能でなければなりません。オフロードするデータサービスは、フェイルオーバーデータサービスでもスケーラブルデータサービスでもかまいません。


RGOffload リソースを設定する

  1. クラスタメンバー上でスーパーユーザーになります。

  2. RGOffload リソースタイプが登録されているかどうかを調べます。

    次のコマンドは、リソースタイプのリストを出力します。


    # scrgadm -p|egrep SUNW.RGOffload
    
  3. 必要であれば、リソースタイプを登録します。


    # scrgadm -a -t SUNW.RGOffload
    

  4. RGOffload リソースでオフロードするリソースグループごとに、Desired_primaries をゼロに設定します。


    # scrgadm -c -g offload-rg -y Desired_primaries=0
    
  5. RGOffload リソースをプライオリティが高いフェイルオーバーリソースグループに追加して、拡張プロパティを設定します。

    リソースグループを複数のリソースの rg_to_offload リストに追加してはいけません。 リソースグループを複数の rg_to_offload リストに追加すると、リソースグループはオフラインになったあとにオンラインになるという動作を繰り返すことになります。

    拡張プロパティについては、RGOffload 拡張プロパティを構成するを参照してください。


    # 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 はゼロに設定されているので (手順 4を参照)、“-Z” オプションを指定しても、このようなリソースグループはオンラインになりません。

  9. プライオリティが高いフェイルオーバーリソースグループがオンラインでない場合、オンラインにします。


    # scswitch -Z -g critical-rg
    

SPARC: 例 – RGOffload リソースを構成する

この例では、RGOffload リソース (rgofl)、RGOffload リソースを含むプライオリティが高いリソースグループ (oracle_rg)、およびプライオリティが高いリソースグループがオンラインになったときにオフロードされるスケーラブルリソースグループ (IWS-SC, IWS-SC-2) を構成する方法について説明します。 この例では、プライオリティが高いリソースは oracle-server-rs です。

この例では、oracle_rgIWS-SC、および IWS-SC-2 はクラスタ "triped" の任意のノード、つまり、 phys-triped-1、phys-triped-2、phys-triped-3 上でマスターできます。


[SUNW.RGOffload リソースタイプが登録されているかどうかを判断する]
# scrgadm -p|egrep SUNW.RGOffload
 
[必要に応じて、リソースタイプを登録する]
# scrgadm -a -t SUNW.RGOffload

[RGOffload によってオフロードされる各リソースグループで、Desired_primaries をゼロに設定する]
# scrgadm -c -g IWS-SC-2 -y Desired_primaries=0
# scrgadm -c -g IWS-SC -y Desired_primaries=0

[プライオリティが高いリソースグループに RGOffload リソースを追加し、拡張プロパティを設定する]
# 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
 
[RGOffload リソースを有効にする]
# scswitch -ej rgofl
 
[プライオリティが高いフェイルオーバーリソースの RGOffload リソースに対する依存性を設定する]
# scrgadm -c -j oracle-server-rs -y Resource_dependencies=rgofl
 
[オフロードされるリソースグループをすべてのノードでオンラインにする]
# scswitch -z -g IWS-SC,IWS-SC-2 -h phys-triped-1,phys-triped-2,phys-triped-3
 
[プライオリティが高いフェイルオーバーリソースグループがオンラインでない場合は、それをオンラインにする]
# scswitch -Z -g oracle_rg

RGOffload 拡張プロパティを構成する

通常、RGOffload リソースを作成するとき、拡張プロパティを構成するには、コマンド行 scrgadm -x parameter=value を使用します。 Sun Cluster のすべての標準プロパティの詳細は、付録 A 「標準プロパティ」 を参照してください。

表 2–2 に RGOffload に設定できる拡張プロパティを示します。 「調整」の欄は、各プロパティをいつ更新できるかを示しています。

表 2–2 RGOffload 拡張プロパティ

名前/データタイプ 

デフォルト値  

rg_to_offload (文字列)

プライオリティが高いフェイルオーバーリソースグループがノード上で起動するときに、当該ノード上でオフロードする必要があるリソースグループをコンマで区切ったリスト。 このリストには、互いに依存するリソースグループが含まれてはいけません。 このプロパティにはデフォルト設定値がないので、必ず設定する必要があります。 

 

RGOffload は、rg_to_offload 拡張プロパティに設定されたリソースグループのリストにおける依存関係ループを検査しません。 たとえば、リソースグループ RG-B が RG-A に依存する場合、RG-A と RG-B が両方とも rg_to_offload に含まれてはいけません。

 

デフォルト: なし

調整:任意の時点

continue_to_offload (ブール型)

リソースグループのオフロード中にエラーが発生した後に、rg_to_offload リスト内の残りのリソースグループをオフロードし続けるかどうかを示すブール型。

 

このプロパティは START メソッドだけが使用します。

 

デフォルト: True

調整:任意の時点

max_offload_retry (整数)

クラスタまたはリソースグループの再構成による障害時の起動中に、リソースグループをオフロードしようとする回数。 再試行の間には 10 秒の間隔があります。  

 

(オフロードされるリソースグループの数 * max_offload_retry * 10 秒) が

 

RGOffload リソースの Start_timeout よりも小さくなるように

 

max_offload_retry を設定します。 この値が Start_timeout の値に近い (あるいは、より大きい) 場合、最大再試行数に到達する前に、RGOffload リソースの START メソッドがタイムアウトする可能性があります。

 

このプロパティは START メソッドだけが使用します。

 

デフォルト: 15

調整:任意の時点

フォルトモニター

RGOffload リソースのフォルトモニター検証は、プライオリティが高いリソースをマスターするノード上で、rg_to_offload 拡張プロパティに指定されたリソースグループをオフラインにし続けるために使用されます。 各検証サイクルでフォルトモニターは、プライオリティが高いリソースをマスターするノード上で、オフロードされるリソースグループ (offload-rg) がオフラインであることを確認します。 プライオリティが高いリソースをマスターするノード上で offload-rg がオンラインである場合、フォルトモニターは重要なリソースをマスターするノード以外のノード上で offload-rg を起動し、同時に、プライオリティが高いリソースをマスターするノード上では offload-rg をオフラインにしようとします。

offload-rgdesired_primaries はゼロに設定されているので、この後で利用可能になったノード上では、オフロードするリソースグループは再起動されません。 したがって、RGOffload フォルトモニターは maximum_primaries に到達するまで、重要なリソースをマスターするノード上では offload-rg をオフラインにしながら、可能な限りのプライマリ上で offload-rg を起動しようとします。

RGOffload は、MAINTENANCE 状態または UNMANAGED 状態でないかぎり、オフロードされたすべてのリソースを起動しようとします。 リソースグループを UNMANAGED 状態にするには、scswitch コマンドを使用します。


# scswitch -u -g resourcegroup

フォルトモニター検証サイクルは、Thorough_probe_interval が実行されたあとにかならず呼び出されます。