負荷制限を設定することによって、ノードをまたがるリソースグループ負荷の自動分散を有効にできます。一連の負荷制限はクラスタノードごとに設定できます。 リソースグループに負荷係数を割り当てると、その負荷係数はノードの定義済み負荷制限に対応します。デフォルトの動作では、リソースグループの負荷がそのリソースグループのノードリスト内の使用可能なすべてのノードに均等に分散されます。
リソースグループは RGM によってリソースグループのノードリストのノード上で起動されるため、ノードの負荷制限を超えることはありません。RGM によってリソースグループがノードに割り当てられると、各ノードのリソースグループの負荷係数が合計され、合計負荷が算出されます。 次に、合計負荷がそのノードの負荷制限と比較されます。
負荷制限は次の項目から構成されます。
ユーザーが割り当てた名前。
弱い制限値 – 弱い負荷制限は一時的に超えることができます。
強い負荷制限 – 強い負荷制限は超えることはできず、厳格に適用されます。
1 つのコマンドで強い制限と弱い制限の両方を設定できます。いずれかの制限が明示的に設定されていない場合は、デフォルト値が使用されます。 各ノードの強いおよび弱い負荷制限値は、clnode create-loadlimit、clnode set-loadlimit、および clnode delete-loadlimit コマンドで作成および変更されます。詳細は、clnode(1CL) のマニュアルページを参照してください。
高い優先度を持つようにリソースグループを構成すると、特定のノードから移動させられる可能性が低くなります。preemption_mode プロパティーを設定して、ノードの過負荷が原因であるリソースグループが優先度の高いリソースグループによってノードから横取りされるかどうかを判定することもできます。concentrate_load プロパティーを使用して、リソースグループの負荷をできるだけ少ないノードに集中させることもできます。 concentrate_load プロパティーは、デフォルトで FALSE です。
Oracle Solaris Cluster Manager GUI を使用して、グローバルクラスタノードまたはゾーンクラスタノード上の負荷制限を作成および構成することもできます。また、GUI を使用して、ノードの既存の負荷制限を編集または削除することもできます。GUI のログイン手順については、Oracle Solaris Cluster Manager にアクセスする方法を参照してください。
# clnode create-loadlimit -p limitname=mem_load -Z zc1 -p softlimit=11 -p hardlimit=20 node1 node2 node3
この例では、ゾーンクラスタ名は zc1 です。サンプルプロパティーは mem_load で、弱い負荷制限は 11、強い負荷制限は 20 です。強い制限と弱い制限はオプションの引数で、特に定義しなかった場合、デフォルトは無制限です。 詳細は、clnode(1CL) のマニュアルページを参照してください。
# clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2
この例では、2 つのリソースグループ (rg1 と rg2) で負荷係数が設定されています。負荷係数の設定は、ノードの定義済み負荷制限に対応します。 この手順は、リソースグループの作成中に clresourceroup create コマンドを使用して実行することもできます。 詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。
# clresourcegroup remaster rg1 rg2
このコマンドにより、リソースグループを現在のマスターからほかのノードに移動し、均等な負荷分散を実現できます。
# clresourcegroup set -p priority=600 rg1
デフォルトの優先度は 500 です。優先度の値が高いリソースグループは、ノードの割り当てにおいて、優先度の値が低いリソースグループよりも優先されます。
# clresourcegroup set -p Preemption_mode=No_cost rg1
HAS_COST、NO_COST、および NEVER オプションについては、clresourcegroup(1CL) のマニュアルページを参照してください。
# cluster set -p Concentrate_load=TRUE
強い正または負のアフィニティーは負荷分散より優先されます。強いアフィニティーや強い負荷制限が無効になることはありません。 強いアフィニティーと強い負荷制限の両方を設定すると、両方の制限が満たされなかった場合に一部のリソースグループが強制的にオフラインのままになることがあります。
次の例では、ゾーンクラスタ zc1 のリソースグループ rg1 とゾーンクラスタ zc2 のリソースグループ rg2 の間の強い正のアフィニティーを指定しています。
# clresourcegroup set -p RG_affinities=++zc2:rg2 zc1:rg1
# clnode status -Z all -v
出力には、ノードで定義された負荷制限設定がすべて含まれます。