Oracle® Solaris Cluster 4.3 システム管理

印刷ビューの終了

更新: 2016 年 7 月
 
 

負荷制限の構成

負荷制限を設定することによって、ノードをまたがるリソースグループ負荷の自動分散を有効にできます。一連の負荷制限はクラスタノードごとに設定できます。 リソースグループに負荷係数を割り当てると、その負荷係数はノードの定義済み負荷制限に対応します。デフォルトの動作では、リソースグループの負荷がそのリソースグループのノードリスト内の使用可能なすべてのノードに均等に分散されます。

リソースグループは RGM によってリソースグループのノードリストのノード上で起動されるため、ノードの負荷制限を超えることはありません。RGM によってリソースグループがノードに割り当てられると、各ノードのリソースグループの負荷係数が合計され、合計負荷が算出されます。 次に、合計負荷がそのノードの負荷制限と比較されます。

    負荷制限は次の項目から構成されます。

  • ユーザーが割り当てた名前。

  • 弱い制限値 – 弱い負荷制限は一時的に超えることができます。

  • 強い負荷制限 – 強い負荷制限は超えることはできず、厳格に適用されます。

1 つのコマンドで強い制限と弱い制限の両方を設定できます。いずれかの制限が明示的に設定されていない場合は、デフォルト値が使用されます。 各ノードの強いおよび弱い負荷制限値は、clnode create-loadlimitclnode set-loadlimit、および clnode delete-loadlimit コマンドで作成および変更されます。詳細は、clnode(1CL) のマニュアルページを参照してください。

高い優先度を持つようにリソースグループを構成すると、特定のノードから移動させられる可能性が低くなります。preemption_mode プロパティーを設定して、ノードの過負荷が原因であるリソースグループが優先度の高いリソースグループによってノードから横取りされるかどうかを判定することもできます。concentrate_load プロパティーを使用して、リソースグループの負荷をできるだけ少ないノードに集中させることもできます。 concentrate_load プロパティーは、デフォルトで FALSE です。


注 -  負荷制限は、グローバルクラスタまたはゾーンクラスタのノード上で構成できます。負荷制限を構成するには、コマンド行、clsetup ユーティリティー、または Oracle Solaris Cluster Manager ブラウザインタフェースを使用できます。Oracle Solaris Cluster Manager のログイン手順については、Oracle Solaris Cluster Manager にアクセスする方法を参照してください。次の手順は、コマンド行を使用して負荷制限を構成する方法を示しています。

ノードに負荷制限を構成する


注 -  Oracle Solaris Cluster Manager ブラウザインタフェースを使用して、グローバルクラスタノードまたはゾーンクラスタノードの負荷制限を作成および構成したり、ノードの既存の負荷制限を編集または削除したりすることもできます。「ノード」または「ゾーンクラスタ」をクリックし、そのページにアクセスするノードの名前をクリックします。Oracle Solaris Cluster Manager のログイン手順については、Oracle Solaris Cluster Manager にアクセスする方法を参照してください。
  1. グローバルクラスタの任意のノードで、RBAC の承認 solaris.cluster.modify を提供する役割になります。
  2. 負荷分散を使用するノードに対して、負荷制限を作成および設定します。

    次のコマンド例では、ゾーンクラスタ名は zc1 です。サンプルプロパティーは mem_load と呼ばれ、弱い負荷制限は 11、強い負荷制限は 20 です。強い制限と弱い制限はオプションの引数で、特に定義しなかった場合、デフォルトは無制限です。 詳細は、clnode(1CL) のマニュアルページを参照してください。

    # clnode create-loadlimit -p limitname=mem_load -Z zc1 \
    -p softlimit=11 -p hardlimit=20 node1 node2 node3
  3. 負荷係数値を各リソースグループに割り当てます。

    次のコマンド例では、rg1 および rg2 の 2 つのリソースグループに負荷係数が設定されます。負荷係数の設定は、ノードの定義済み負荷制限に対応します。

    # clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2

    この手順は、リソースグループの作成中に clresourceroup create コマンドを使用して実行することもできます。 詳細は、clresourcegroup(1CL) のマニュアルページを参照してください。

  4. 必要に応じて、1 つ以上の追加のオプションの構成タスクを実行します。
    • 既存の負荷を再分散します。
      # clresourcegroup remaster rg1 rg2

      このコマンドにより、リソースグループを現在のマスターからほかのノードに移動し、均等な負荷分散を実現できます。

    • いくつかのリソースグループにほかより高い優先順位を割り当てます。
      # clresourcegroup set -p priority=600 rg1

      デフォルトの優先度は 500 です。優先度の値が高いリソースグループは、ノードの割り当てにおいて、優先度の値が低いリソースグループよりも優先されます。

    • Preemption_mode プロパティーを設定します。
      # clresourcegroup set -p Preemption_mode=No_cost rg1

      HAS_COSTNO_COST、および NEVER オプションについては、clresourcegroup(1CL) のマニュアルページを参照してください。

    • Concentrate_load フラグを設定します。
      # cluster set -p Concentrate_load=TRUE
    • リソースグループ間のアフィニティーを指定します。

      強い正または負のアフィニティーは負荷分散より優先されます。強いアフィニティーや強い負荷制限が無効になることはありません。 強いアフィニティーと強い負荷制限の両方を設定すると、両方の制限が満たされなかった場合に一部のリソースグループが強制的にオフラインのままになることがあります。

      次の例では、ゾーンクラスタ zc1 のリソースグループ rg1 とゾーンクラスタ zc2 のリソースグループ rg2 の間の強い正のアフィニティーを指定しています。

      # clresourcegroup set -p RG_affinities=++zc2:rg2 zc1:rg1
  5. クラスタ内のすべてのグローバルクラスタノードとゾーンクラスタノードのステータスを確認します。
    # clnode status -Z all -v

    出力には、ノードで定義された負荷制限設定がすべて含まれます。