ナビゲーションリンクをスキップ
印刷ビューの終了
| Oracle Solaris Cluster システム管理 Oracle Solaris Cluster 3.3 3/13 (日本語)

検索範囲:

- このドキュメント
- ライブラリ全体

## CPU 制御の構成

このセクションでは次の作業について説明します。

- 「グローバルクラスタの投票ノードで CPU 使用率を制御する方法」

- 「デフォルトプロセッサセットを使用してグローバルクラスタの非投票ノードで CPU 使用率を制御する方法」

- 「専用プロセッサセットを使用してグローバルクラスタの非投票ノードで CPU 使用率を制御する方法」

## グローバルクラスタの投票ノードで CPU 使用率を制御する方法

グローバルクラスタの投票ノードで実行されるリソースグループに CPU シェアを割り当てるには、この手順を実行します。

リソースグループに CPU シェアが割り当てられている場合、Oracle Solaris Cluster ソフトウェアは、グローバルクラスタの投票ノードでリソースグループの 1 つのリソースを起動する際に、次のタスクを実行します。

- 投票ノードに割り当てられている CPU シェア (`zone.`cpu-shares) の数を、指定された CPU シェアの数だけ増やします (まだ行われていない場合)。

- 投票ノードに `SCSLM_`resourcegroup_name という名前のプロジェクトを作成します (まだ行われていない場合)。このプロジェクトはリソースグループに固有で、指定された数の CPU シェア (`project.`cpu-shares) が割り当てられています。

- `SCSLM_`resourcegroup_name プロジェクトのリソースを起動する。

CPU 制御機能の構成についての詳細は、`rg_properties`(5) のマニュアルページを参照してください。

1. システムのデフォルトのスケジューラを、公平配分スケジューラ (FSS) に設定します。

       # dispadmin -d FSS

   次のリブート時に、FSS がデフォルトのスケジューラになります。この構成をすぐに有効にするには、`priocntl` コマンドを使用します。

       # priocntl -s -C FSS

   `priocntl` コマンドと `dispadmin` コマンドを組み合わせて使用することで、FSS がすぐにデフォルトのスケジューラになり、リブート後もそのままになります。スケジューリングクラスの設定についての詳細は、`dispadmin`(1M) および `priocntl`(1) のマニュアルページを参照してください。

   注 - FSS がデフォルトのスケジューラでない場合、CPU シェアの割り当ては有効になりません。

2. 各ノードで CPU 制御を使用するため、グローバルクラスタの投票ノードに対するシェア数と、デフォルトのプロセッサセットで使用可能な CPU の最小数を構成します。

   これらのパラメータを設定すると、投票ノードで動作中のプロセスが、非投票ノードで動作中のプロセスと CPU で競合しないように保護するのに役立ちます。`globalzoneshares` および `defaultpsetmin` プロパティーに値を割り当てない場合、これらのプロパティーはデフォルト値をとります。

       # clnode set [-p globalzoneshares=integer] \
       [-p defaultpsetmin=integer] \
       node

   `-p` `defaultpsetmin=` defaultpsetmininteger

     デフォルトプロセッサセットで使用可能な CPU の最小数を設定します。デフォルト値は 1 です。

   `-p` `globalzoneshares=` integer

     投票ノードに割り当てられるシェアの数を設定します。デフォルト値は 1 です。

   node

     プロパティーを設定するノードを指定します。

   これらのプロパティーを設定する際には、投票ノードのプロパティーを設定しています。これらのプロパティーを設定しないと、非投票ノードで `RG_SLM_PSET_TYPE` プロパティーの効果を得ることができません。

3. これらのプロパティーを正しく設定したことを確認します。

       # clnode show node

   指定するノードに対して、`clnode` コマンドは、設定されているプロパティー、およびこれらのプロパティーに設定されている値を出力します。`clnode` を使用して CPU 制御プロパティーを設定しないと、これらはデフォルト値をとります。

4. CPU 制御機能を構成します。

       # clresourcegroup create -p RG_SLM_TYPE=automated \
        [-p RG_SLM_CPU_SHARES=value] resource_group_name

   `-p` `RG_SLM_TYPE=automated`

     CPU 使用率を管理できるようにし、システムリソース管理用に Oracle Solaris OS を構成する手順の一部を自動化します。

   `-p` `RG_SLM_CPU_SHARES=`value

     リソースグループ固有のプロジェクトに割り当てられる CPU シェアの数 (`project.cpu-shares`) を指定し、投票ノードに割り当てられる CPU シェアの数 (`zone.cpu-shares`) を決定します。

   resource_group_name

     リソースグループの名前を指定します。

   この手順では、`RG_SLM_PSET_TYPE` プロパティーは設定しません。投票ノードでは、このプロパティーは値 `default` をとります。

   このステップによりリソースグループが作成されます。また、`clresourcegroup set` コマンドを使用して既存のリソースグループを変更することもできます。

5. 構成の変更を有効にします。

       # clresourcegroup online -eM resource_group_name

   resource_group_name

     リソースグループの名前を指定します。

   注 - `SCSLM_`resource_group_name プロジェクトは削除または変更しないでください。手動で、たとえば `project.max-lwps` プロパティーを構成することにより、プロジェクトにさらにリソース制御を追加できます。詳細は、`projmod`(1M) のマニュアルページを参照してください。

## デフォルトプロセッサセットを使用してグローバルクラスタの非投票ノードで CPU 使用率を制御する方法

グローバルクラスタの非投票ノード内のリソースグループに CPU シェアを割り当てるが、専用プロセッサセットを作成する必要はない場合にこの手順を実行します。

リソースグループに CPU シェアが割り当てられている場合、Oracle Solaris Cluster ソフトウェアは、非投票ノードでそのリソースグループの 1 つのリソースを起動する際に、次のタスクを実行します。

- `SCSLM_`resource_group_name という名前のプールを作成します (まだ行われていない場合)。

- `SCSLM_pool_`zone_name プールをデフォルトプロセッサセットに関連付けます。

- 非投票ノードを `SCSLM_pool` zone_name プールに動的にバインドします。

- 非投票ノードに割り当てられている CPU シェア (`zone.cpu-shares`) の数を、指定された CPU シェアの数だけ増やします (まだ行われていない場合)。

- 非投票ノードに `SCSLM_`resourcegroup_name という名前のプロジェクトを作成します (まだ行われていない場合)。このプロジェクトはリソースグループに固有で、指定された数の CPU シェア (project.cpu-shares) が割り当てられています。

- `SCSLM_`resourcegroup_name プロジェクトのリソースを起動する。

CPU 制御機能の構成についての詳細は、`rg_properties`(5) のマニュアルページを参照してください。

1. システムのデフォルトのスケジューラを、公平配分スケジューラ (FSS) に設定します。

       # dispadmin -d FSS

   次のリブート時に、FSS がデフォルトのスケジューラになります。この構成をすぐに有効にするには、`priocntl` コマンドを使用します。

       # priocntl -s -C FSS

   `priocntl` コマンドと `dispadmin` コマンドを組み合わせて使用することで、FSS がすぐにデフォルトのスケジュールになり、リブート後もそのままになります。スケジューリングクラスの設定についての詳細は、`dispadmin`(1M) および `priocntl`(1) のマニュアルページを参照してください。

   注 - FSS がデフォルトのスケジューラでない場合、CPU シェアの割り当ては有効になりません。

2. 各ノードで CPU 制御を使用するため、グローバルクラスタの投票ノードに対するシェア数と、デフォルトプロセッサセットで使用可能な CPU の最小数を構成します。

   これらのパラメータを設定すると、投票ノードで動作中のプロセスが、グローバルクラスタの非投票ノードで動作中のプロセスと CPU で競合しないように保護するのに役立ちます。`globalzoneshares` および `defaultpsetmin` プロパティーに値を割り当てない場合、これらのプロパティーはデフォルト値をとります。

       # clnode set [-p globalzoneshares=integer] \
       [-p defaultpsetmin=integer] \
       node

   `-p` `globalzoneshares=` integer

     投票ノードに割り当てられるシェアの数を設定します。デフォルト値は 1 です。

   `-p` `defaultpsetmin=` defaultpsetmininteger

     デフォルトプロセッサセットで使用可能な CPU の最小数を設定します。デフォルト値は 1 です。

   node

     プロパティーを設定するノードを指定します。

   これらのプロパティーを設定する際には、投票ノードのプロパティーを設定しています。

3. これらのプロパティーを正しく設定したことを確認します。

       # clnode show node

   指定するノードに対して、`clnode` コマンドは、設定されているプロパティー、およびこれらのプロパティーに設定されている値を出力します。`clnode` を使用して CPU 制御プロパティーを設定しないと、これらはデフォルト値をとります。

4. CPU 制御機能を構成します。

       # clresourcegroup create -p RG_SLM_TYPE=automated \
        [-p RG_SLM_CPU_SHARES=value] resource_group_name

   `-p` `RG_SLM_TYPE=automated`

     CPU 使用率を管理できるようにし、システムリソース管理用に Oracle Solaris OS を構成する手順の一部を自動化します。

   `-p` `RG_SLM_CPU_SHARES=`value

     リソースグループ固有のプロジェクトに割り当てられる CPU シェアの数 (`project.cpu-shares`) を指定し、グローバルクラスタの非投票ノードに割り当てられる CPU シェアの数 (`zone.cpu_shares`) を決定します。

   resource_group_name

     リソースグループの名前を指定します。

   このステップによりリソースグループが作成されます。また、`clresourcegroup set` コマンドを使用して既存のリソースグループを変更することもできます。

   ゾーン構成内にデフォルトプール以外のプールがある場合や、ゾーンがデフォルトプール以外のプールに動的にバインドされている場合は、非投票ノードで `RG_SLM_TYPE` を `automated` に設定することはできません。ゾーンの構成とプールのバインドについては、それぞれ `zonecfg`(1M) および `poolbind`(1M) のマニュアルページを参照してください。次のようにゾーンの構成を表示します。

       # zonecfg -z zone_name info pool

   注 - 非投票ノードで起動するように構成された `HAStoragePlus` リソースや `LogicalHostname` リソースなどのリソースは、`GLOBAL_ZONE` プロパティーが `TRUE` に設定されていると投票モードで起動されます。`RG_SLM_TYPE` プロパティーを `automated` に設定した場合でも、このリソースは CPU シェア構成の効果が得られず、`RG_SLM_TYPE` が手動に設定されたリソースグループ内にあるように扱われます。

   この手順では、`RG_SLM_PSET_TYPE` プロパティーを設定しません。Oracle Solaris Cluster はデフォルトプロセッサセットを使用します。

5. 構成の変更を有効にします。

       # clresourcegroup online -eM resource_group_name

   resource_group_name

     リソースグループの名前を指定します。

   `RG_SLM_PSET_TYPE` を `default` に設定すると、Oracle Solaris Cluster はプール `SCSLM_pool_`zone_name を作成しますが、プロセッサセットは作成しません。この場合、`SCSLM_pool_` zone_name はデフォルトプロセッサセットに関連付けられます。

   非投票ノードで、オンラインリソースグループの CPU 制御が構成されなくなった場合、非投票ノードの CPU シェアの値は、ゾーン構成内の `zone.cpu-shares` の値をとります。このパラメータの値はデフォルトで `1` です。ゾーン構成についての詳細は、`zonecfg`(1M) のマニュアルページを参照してください。

   注 - `SCSLM_`resource_group_name プロジェクトは削除または変更しないでください。たとえば `project.max-lwps` プロパティーを構成することにより、手動でさらにプロジェクトにリソース制御を追加できます。詳細は、`projmod`(1M) のマニュアルページを参照してください。

## 専用プロセッサセットを使用してグローバルクラスタの非投票ノードで CPU 使用率を制御する方法

この手順は、リソースグループを専用プロセッサセットで実行する場合に実行します。

専用プロセッサセットで実行するようにリソースグループが構成されている場合、Oracle Solaris Cluster ソフトウェアは、グローバルクラスタの非投票ノードでリソースグループのリソースを起動する際に、次のタスクを実行します。

- `SCSLM_pool_`zone_name という名前のプールを作成します (まだ行われていない場合)。

- 専用プロセッサセットを作成します。プロセッサセットのサイズは、 `RG_SLM_CPU_SHARES` プロパティーと `RG_SLM_PSET_MIN` プロパティーを使用して決定します。

- 作成したプロセッサセットに、`SCSLM_pool_`zone_name プールを関連付けます。

- 非投票ノードを `SCSLM_pool` zone_name プールに動的にバインドします。

- 非投票ノードに割り当てられている CPU シェアの数を、指定された CPU シェアの数だけ増やします (まだ行われていない場合)。

- 非投票ノードに `SCSLM_`resourcegroup_name という名前のプロジェクトを作成します (まだ行われていない場合)。このプロジェクトはリソースグループに固有で、指定された数の CPU シェア (`project.cpu-shares`) が割り当てられています。

- `SCSLM_`resourcegroup_name プロジェクトのリソースを起動する。

1. システムのスケジューラを、公平配分スケジューラ (FSS) に設定します。

       # dispadmin -d FSS

   次のリブート時に、FSS がデフォルトのスケジューラになります。この構成をすぐに有効にするには、`priocntl` コマンドを使用します。

       # priocntl -s -C FSS

   `priocntl` コマンドと `dispadmin` コマンドを組み合わせて使用することで、FSS がすぐにデフォルトのスケジュールになり、リブート後もそのままになります。スケジューリングクラスの設定についての詳細は、`dispadmin`(1M) および `priocntl`(1) のマニュアルページを参照してください。

   注 - FSS がデフォルトのスケジューラでない場合、CPU シェアの割り当ては有効になりません。

2. 各ノードで CPU 制御を使用するため、グローバルクラスタの投票ノードに対するシェア数と、デフォルトプロセッサセットで使用可能な CPU の最小数を構成します。

   これらのパラメータを設定すると、投票ノードで動作中のプロセスが、非投票ノードで動作中のプロセスと CPU で競合しないように保護するのに役立ちます。`globalzoneshares` および `defaultpsetmin` プロパティーに値を割り当てない場合、これらのプロパティーはデフォルト値をとります。

       # clnode set  [-p globalzoneshares=integer] \
       [-p defaultpsetmin=integer] \
       node

   `-p` `defaultpsetmin=` defaultpsetmininteger

     デフォルトプロセッサセットで使用可能な CPU の最小数を設定します。デフォルトは 1 です。

   `-p` `globalzoneshares=` integer

     投票ノードに割り当てられるシェアの数を設定します。デフォルトは 1 です。

   node

     プロパティーを設定するノードを指定します。

   これらのプロパティーを設定する際には、投票ノードのプロパティーを設定しています。

3. これらのプロパティーを正しく設定したことを確認します。

       # clnode show node

   指定するノードに対して、`clnode` コマンドは、設定されているプロパティー、およびこれらのプロパティーに設定されている値を出力します。`clnode` を使用して CPU 制御プロパティーを設定しないと、これらはデフォルト値をとります。

4. CPU 制御機能を構成します。

       # clresourcegroup create -p RG_SLM_TYPE=automated \
        [-p RG_SLM_CPU_SHARES=value] \
       -p -y RG_SLM_PSET_TYPE=value \
       [-p RG_SLM_PSET_MIN=value] resource_group_name

   `-p` `RG_SLM_TYPE=automated`

     CPU 使用率を管理できるようにし、システムリソース管理用に Oracle Solaris OS を構成する手順の一部を自動化します。

   `-p` `RG_SLM_CPU_SHARES=`value

     リソースグループ固有のプロジェクトに割り当てられる CPU シェアの数 (`project.cpu-shares`) を指定し、非投票ノードに割り当てられる CPU シェアの数 (`zone.cpu-shares` ) と、プロセッサセット内の最大プロセッサ数を決定します。

   `-p` `RG_SLM_PSET_TYPE=` value

     専用のプロセッサセットの作成を可能にします。専用プロセッサセットを使用する場合は、このプロパティーを `strong` または `weak` に設定できます。値 `strong` と値 `weak` は同時に指定できません。つまり、一部のリソースグループが `strong` で、それ以外が `weak` であるように、同じゾーン内のリソースグループを構成することはできません。

   `-p` `RG_SLM_PSET_MIN=` value

     プロセッサセット中のプロセッサの最小数を決定します。

   resource_group_name

     リソースグループの名前を指定します。

   このステップによりリソースグループが作成されます。また、`clresourcegroup set` コマンドを使用して既存のリソースグループを変更できます。

   ゾーン構成内にデフォルトプール以外のプールがある場合や、ゾーンがデフォルトプール以外のプールに動的にバインドされている場合は、非投票ノードで `RG_SLM_TYPE` を `automated` に設定することはできません。ゾーンの構成とプールのバインドについては、それぞれ `zonecfg`(1M) および `poolbind`(1M) のマニュアルページを参照してください。次のようにゾーンの構成を表示します。

       # zonecfg -z zone_name info pool

   注 - 非投票ノードで起動するように構成された `HAStoragePlus` リソースや `LogicalHostname` リソースなどのリソースは、`GLOBAL_ZONE` プロパティーが `TRUE` に設定されていると投票モードで起動されます。`RG_SLM_TYPE` プロパティーを `automated` に設定した場合でも、このリソースは CPU シェアおよび専用プロセッサセットの構成の効果が得られず、`RG_SLM_TYPE` が手動に設定されたリソースグループ内にあるように扱われます。

5. 構成の変更を有効にします。

       # clresourcegroup online -eM resource_group_name

   resource_group_name

     リソースグループの名前を指定します。

   注 - `SCSLM_`resource_group_name プロジェクトは削除または変更しないでください。たとえば `project.max-lwps` プロパティーを構成することにより、手動でさらにプロジェクトにリソース制御を追加できます。詳細は、`projmod`(1M) のマニュアルページを参照してください。

   リソースグループがオンラインの間に `RG_SLM_CPU_SHARES` と `RG_SLM_PSET_MIN` に行われた変更は、動的に考慮されます。しかし、`RG_SLM_PSET_TYPE` に `strong` が設定されている場合、および、変更に対応するための十分な CPU を使用できない場合、`RG_SLM_PSET_MIN` にリクエストされた変更は適用されません。この場合は、警告メッセージが表示されます。次回のスイッチオーバーでは、`RG_SLM_PSET_MIN` で構成した値を適用するのに十分な CPU を使用できない場合、不十分な CPU が理由のエラーが発生する可能性があります。

   非投票ノードで、オンラインリソースグループの CPU 制御が構成されなくなった場合、非投票ノードの CPU シェアの値は `zone.cpu-shares` の値をとります。このパラメータの値はデフォルトで `1` です。

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 著作権について |