Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

資源プールと動的資源プールの有効化/無効化について

資源プールおよび動的資源プールを有効化/無効化する方法については、「プール機能の有効化と無効化」を参照してください。

ゾーンで使用される資源プール


ヒント –

Solaris 10 8/07: システム上で構成済みの資源プールにゾーンを関連付ける代わりに、zonecfg コマンドを使用して、ゾーンの稼働中に有効になる一時プールを作成することもできます。詳細は、「Solaris 10 8/07: dedicated-cpu 資源」を参照してください。


ゾーンが有効になっているシステムの場合、1 つの非大域ゾーンには資源プールを 1 つだけ関連付けることができますが、特定のゾーンに割り当てたプールをそのゾーン専用にする必要はありません。また、大域ゾーンから poolbind コマンドを使用して、非大域ゾーンの個々のプロセスを別のプールに結合することもできません。非大域ゾーンをプールに関連付ける方法については、「ゾーンを構成、検証、および確定する」を参照してください。

プールに対してスケジューリングクラスを設定した場合は、そのプールに非大域ゾーンを関連付けると、そのゾーンではそのスケジューリングクラスがデフォルトで使用されます。

動的資源プールを使用している場合、実行中の poold インスタンスの有効範囲は大域ゾーンに制限されます。

poolstat ユーティリティーを非大域ゾーンで実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。非大域ゾーンで引数なしで pooladm コマンドを実行すると、そのゾーンに関連付けられているプールの情報だけが表示されます。

資源プールのコマンドについては、「資源プール機能で使用するコマンド」を参照してください。

資源プールを使用する場合

資源プールは、多くの管理作業に適用できる汎用機構を提供します。

バッチ処理サーバー

プールの機能を使用して、1 つのサーバーを 2 つのプールに分割します。一方のプールは、ログインセッションとタイムシェアリングユーザーによる対話型作業に使用されます。もう一方のプールは、バッチシステムを介して投入されるジョブに使用されます。

アプリケーションサーバーまたはデータベースサーバー

アプリケーションの要件に基づいて、対話型アプリケーション用の資源を区分します。

アプリケーションの段階的な調整

ユーザーが期待するサービスレベルを設定します。

最初は、目標とする最終的なサービスの一部だけを実行するマシンを導入することがあります。マシンをオンラインにしたときに、予約方式の資源管理機構が確立していなければ、ユーザーがサービスに不満を持つ可能性があります。

たとえば、公平配分スケジューラは CPU の使用率を最適化します。1 つしかアプリケーションを実行していないマシンの応答時間は速く感じられます。実際には、複数のアプリケーションがロードされると、このような応答時間は得られません。アプリケーションごとに個別のプールを用意することにより、各アプリケーションで使用可能な CPU 数の上限をあらかじめ設定してから、すべてのアプリケーションを運用することができます。

複雑なタイムシェアリングサーバー

多数のユーザーをサポートするサーバーを区分します。サーバーの区分によって、ユーザーごとの応答が時間をより確実に予測できる分離機構が提供されます。

ユーザーをグループに分割して個別のプールに結合し、公平配分スケジューラ (FSS) 機能を使用すれば、CPU 割り当てを調整して、優先順位を持つユーザーグループをサポートできます。このような割り当ては、ユーザーの役割や課金などに基づいて行えます。

定期的に変動する作業負荷

資源プールを使用して、変動する作業負荷に対応します。

サイトでの作業負荷の変動が月次、四半期、年次などの周期で予想できる場合があります。サイトでこのような変動が予想できる場合は、cron ジョブで pooladm を実行して、複数のプール構成を使い分けることができます。(「資源プールのフレームワーク」を参照)。

リアルタイムアプリケーション

RT スケジューラと専用のプロセッサ資源を使用して、リアルタイムプールを作成します。

システムの使用率

システムの目標を設定して適用します。

自動プールデーモンの機能を使用して、使用可能な資源を特定してから作業負荷を監視すると、指定した目標がいつ満たされなくなるかを検出できます。可能な場合はデーモンで修正操作を実行したり、状況をログに記録したりできます。

資源プールのフレームワーク

/etc/pooladm.conf 構成ファイルには、静的なプール構成が記述されます。静的構成では、資源プール機能に関連して管理者がシステムをどのように構成するかを記述できます。別のファイル名を指定することもできます。

サービス管理機能 (SMF) または pooladm - e コマンドを使って資源プールフレームワークを有効にする場合で、/etc/pooladm.conf ファイルが存在するときは、このファイル内の構成がシステムに適用されます。

資源プールフレームワーク内での資源の処置に関する情報は、カーネルで保持されます。これは動的構成と呼ばれ、特定のシステムの、ある時点での資源プール機能を表します。動的構成を表示するには、pooladm コマンドを使用します。プールや資源セットについて表示されるプロパティーの順序は、場合によって異なります。動的構成に対する変更は、次の方法で行われます。

場合に応じて起動できるように、複数の静的プール構成ファイルを作成しておくことができます。cron ジョブで pooladm を起動して、複数のプール構成を使い分けることができます。cron ユーティリティーの詳細は、cron(1M) のマニュアルページを参照してください。

デフォルトでは、資源プールフレームワークは無効になっています。動的構成を作成したり変更したりするには、資源プールが有効になっている必要があります。資源プールフレームワークが無効になっている場合でも、poolcfg コマンドまたは libpool コマンドを使って静的構成ファイルを操作することはできます。プール機能が無効になっている場合、静的構成ファイルを作成することはできません。構成ファイルの詳細については、「プール構成の作成」を参照してください。

資源プールおよび poold システムデーモンで使用するコマンドについては、次のマニュアルページを参照してください。

/etc/pooladm.conf の内容

次の要素は、動的構成も含め、すべての資源プール構成に使用できます。

system

システムの全体的な動作に影響を与えるプロパティー

pool

資源プールの定義

pset

プロセッサセットの定義

cpu

プロセッサの定義

これらの要素に含まれているプロパティーを操作することで、資源プールフレームワークの状態と動作を変更できます。たとえば、プールプロパティー pool.importance は、プールの相対的な重要性を示します。このプロパティーは、資源の競合が発生した場合の解決に使用されます。詳細は、libpool(3LIB) のマニュアルページを参照してください。

プールのプロパティー

プール機能では、プール、資源、または構成要素に設定される、名前と型の指定されたプロパティーがサポートされています。管理者は、プールのさまざまな要素に対して、追加のプロパティーを設定することもできます。プロジェクト属性に似たプロパティー名前空間が使用されます。

たとえば、次のコメントは、特定の Datatree データベースに pset が関連付けられていることを示します。

Datatree,pset.dbname=warehouse

プロパティーの型の詳細については、poold のプロパティー」を参照してください。


注 –

いくつかの特殊プロパティーが内部使用のために予約されています。これらを設定したり削除したりすることはできません。詳細は、libpool(3LIB) のマニュアルページを参照してください。


システム上でのプールの実装

ユーザー定義のプールをシステム上に実装するには、次のどちらかの方法を使用します。

資源プールを有効化または無効化する方法については、「プール機能の有効化と無効化」を参照してください。ユーザー定義のプールや資源が使用されている間は、プール機能を無効にすることはできません。

資源プールを構成するには、スーパーユーザーの特権を持っているか、またはプロファイルの一覧内に Process Management プロファイルが含まれている必要があります。System Administrator 役割には、Process Management プロファイルが含まれています。

poold 資源コントローラは、動的資源プール機能とともに起動されます。